├── .gitattributes
├── .gitignore
├── Globals.ps1
├── LICENSE
├── MainForm.psf
├── PoSHEncryptor.psproj
├── PoSHEncryptor.psprojs
├── README.md
├── Startup.pss
└── _About
├── encryptfile-1.png
├── main_UI.png
└── opendiag1.png
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # Windows shortcuts
18 | *.lnk
19 |
20 | # =========================
21 | # Operating System Files
22 | # =========================
23 |
24 | # OSX
25 | # =========================
26 |
27 | .DS_Store
28 | .AppleDouble
29 | .LSOverride
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear in the root of a volume
35 | .DocumentRevisions-V100
36 | .fseventsd
37 | .Spotlight-V100
38 | .TemporaryItems
39 | .Trashes
40 | .VolumeIcon.icns
41 |
42 | # Directories potentially created on remote AFP share
43 | .AppleDB
44 | .AppleDesktop
45 | Network Trash Folder
46 | Temporary Items
47 | .apdisk
48 |
--------------------------------------------------------------------------------
/Globals.ps1:
--------------------------------------------------------------------------------
1 | #--------------------------------------------
2 | # Declare Global Variables and Functions here
3 | #--------------------------------------------
4 |
5 |
6 | #Sample function that provides the location of the script
7 | function Get-ScriptDirectory
8 | {
9 | <#
10 | .SYNOPSIS
11 | Get-ScriptDirectory returns the proper location of the script.
12 |
13 | .OUTPUTS
14 | System.String
15 |
16 | .NOTES
17 | Returns the correct path within a packaged executable.
18 | #>
19 | [OutputType([string])]
20 | param ()
21 | if ($null -ne $hostinvocation)
22 | {
23 | Split-Path $hostinvocation.MyCommand.path
24 | }
25 | else
26 | {
27 | Split-Path $script:MyInvocation.MyCommand.Path
28 | }
29 | }
30 |
31 | #Sample variable that provides the location of the script
32 | [string]$ScriptDirectory = Get-ScriptDirectory
33 |
34 |
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Bradley Wyatt
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/MainForm.psf:
--------------------------------------------------------------------------------
1 |
2 | 768b3973-2023-409e-808e-2056763a4fe1
3 | iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
4 | jwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAGxRSURBVHhe7b11eFT5vuY7/9zn/jHPfebOM3fk
5 | zMyxfebsc7ad3We37BZounF3d3fX4O7u0rhDgiRBAsGJACEESEJC3N3KNXnv77sqBelQdAMdKbre
6 | D8+HVK1aa9Wq9ata33f5fyCEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
7 | hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ
8 | QgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEII
9 | IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGE
10 | EEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
11 | CCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
12 | hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ
13 | QgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEII
14 | IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGE
15 | EEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
16 | CCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
17 | hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ
18 | 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
483 | IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGE
484 | EEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
485 | CCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
486 | hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ
487 | QgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEII
488 | IYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGE
489 | EEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
490 | CCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEOKr/If/8P8D
491 | fQd9pH1SMM4AAAAASUVORK5CYII=
492 |
704 |
705 |
706 | -
707 |
708 |
709 |
710 | fileToolStripMenuItem
711 | 63, 36
712 | File
713 |
714 |
715 | exitToolStripMenuItem
716 | 152, 36
717 | Exit
718 | exitToolStripMenuItem_Click
719 |
720 |
721 |
722 | -
723 |
724 |
725 | -
726 |
727 |
728 |
729 | toolsToolStripMenuItem
730 | 81, 36
731 | Tools
732 |
733 |
734 |
735 | -
736 |
737 |
738 | -
739 |
740 |
741 | -
742 |
743 |
744 | -
745 |
746 |
747 |
748 | encryptionToolStripMenuItem
749 | 201, 36
750 | Encryption
751 |
752 |
753 |
754 | -
755 |
756 |
757 |
758 | decryptionToolStripMenuItem
759 | 205, 36
760 | Decryption
761 |
762 |
763 | clearEncryptionKeyToolStripMenuItem
764 | 315, 36
765 | Clear Encryption Key
766 | clearEncryptionKeyToolStripMenuItem_Click
767 |
768 |
769 | clearEncryptionPathToolStripMenuItem
770 | 315, 36
771 | Clear Encryption Path
772 | clearEncryptionPathToolStripMenuItem_Click
773 |
774 |
775 | deSelectEncryptionRadioButtonsToolStripMenuItem
776 | 468, 36
777 | De-Select Encryption Radio Buttons
778 | deSelectEncryptionRadioButtonsToolStripMenuItem_Click
779 |
780 |
781 | deSelectDecryptionRadioButtonsToolStripMenuItem
782 | 472, 36
783 | De-Select Decryption Radio Buttons
784 | deSelectDecryptionRadioButtonsToolStripMenuItem_Click
785 |
786 |
787 | toolstripseparator1
788 | 312, 6
789 |
790 |
791 |
792 | -
793 |
794 |
795 |
796 | aboutToolStripMenuItem
797 | 76, 36
798 | Help
799 |
800 |
801 | aboutToolStripMenuItem1
802 | 153, 36
803 | About
804 | aboutToolStripMenuItem1_Click
805 |
806 |
1223 | 1
1224 |
1225 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1226 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1227 | System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1228 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1229 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
1230 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1231 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1232 |
1233 |
--------------------------------------------------------------------------------
/PoSHEncryptor.psproj:
--------------------------------------------------------------------------------
1 |
2 | 2.0
3 | eefe52f3-6419-496b-8cdf-dae3ba0d8283
4 | 0
5 |
6 |
7 | Startup.pss
8 | MainForm.psf
9 | Globals.ps1
10 |
11 |
--------------------------------------------------------------------------------
/PoSHEncryptor.psprojs:
--------------------------------------------------------------------------------
1 |
2 | 1.0
3 | eefe52f3-6419-496b-8cdf-dae3ba0d8283
4 |
5 |
6 | Startup.pss
7 | MainForm.psf
8 |
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PowerShell-Encryptor
2 | Encrypt/Decrypt Directories or Files using PowerShell, AES-256 encryption
3 |
4 | # Description
5 | This project was created in PowerShell Studio 2017. It will encrypt files, directories (recursivly) and also decrypt file and directories
6 |
7 | Uses System.Security.Cryptography.Aes instead of AESManaged
8 | Keys are now SecureStrings by default
9 |
10 | The encryption used is AES-256 and the module for the encryption/decryption process was created by Tyler Siegrist
11 | https://gallery.technet.microsoft.com/EncryptDecrypt-files-use-65e7ae5d
12 |
13 | Uses C# to specify the file/directory you want to encrypt/decrypt so you will get the normal open file/folder dialog box
14 | After encrypting one file you can specify other files to encrypt, by default it will use the same AES-256 key as the previous file as long as your keep the AES-256 key present in the key textbox. Once you clear the key textbox it will generate a new AES-256 key.
15 |
16 | 
17 |
18 | 
19 |
20 | 
21 |
--------------------------------------------------------------------------------
/Startup.pss:
--------------------------------------------------------------------------------
1 |
2 |
20 | Param ([String]$Commandline)
21 |
22 | #--------------------------------------------------------------------------
23 | function New-AESKey()
24 | {
25 | <#
26 | .SYNOPSIS
27 | Generates a random AES key.
28 |
29 | .DESCRIPTION
30 | Generates a random AES key based on the desired key size.
31 |
32 | .PARAMETER KeySize
33 | Number of bits the generated key will have.
34 |
35 | .PARAMETER AsPlainText
36 | Returns a String instead of SecureString.
37 |
38 | .OUTPUTS
39 | System.Security.SecureString. New-AESKey return the key as a SecureString by default.
40 | System.String. New-AESKey will return the key in plain text as a string if the -AsPlainText parameter is specified.
41 |
42 | .EXAMPLE
43 | $key = New-AESKey
44 | This example generates a random 256-bit AES key and stores it in the variable $key.
45 |
46 | .NOTES
47 | Author: Tyler Siegrist
48 | Date: 9/18/2017
49 | #>
50 | [CmdletBinding()]
51 | [OutputType([System.Security.SecureString])]
52 | [OutputType([String], ParameterSetName = 'PlainText')]
53 | Param (
54 | [Parameter(Mandatory = $false, Position = 1)]
55 | [ValidateSet(128, 192, 256)]
56 | [Int]$KeySize = 256,
57 | [Parameter(ParameterSetName = 'PlainText')]
58 | [Switch]$AsPlainText
59 | )
60 |
61 | $AES = New-Object "System.Security.Cryptography.AesManaged"
62 | $AES.KeySize = $KeySize
63 | $AES.GenerateKey()
64 | if ($AsPlainText)
65 | {
66 | return [System.Convert]::ToBase64String($AES.Key)
67 | }
68 | else
69 | {
70 | return [System.Convert]::ToBase64String($AES.Key) | ConvertTo-SecureString -AsPlainText -Force
71 | }
72 | }
73 |
74 | Function Protect-File
75 | {
76 | <#
77 | .SYNOPSIS
78 | Encrypts a file using AES.
79 |
80 | .DESCRIPTION
81 | Encrypts a file using AES via a provided or randomly generated key.
82 |
83 | .PARAMETER FileName
84 | File(s) to be encrypted.
85 |
86 | .PARAMETER Key
87 | AES key as a SecureString to be used for encryption.
88 |
89 | .PARAMETER KeyAsPlainText
90 | AES key as a String to be used for encryption.
91 |
92 | .PARAMETER Suffix
93 | Suffix of the encrypted file to be removed.
94 |
95 | .PARAMETER CipherMode
96 | Specifies the block cipher mode to use for encryption.
97 |
98 | .PARAMETER PaddingMode
99 | Specifies the type of padding to apply when the message data block is shorter than the full number of bytes needed for a cryptographic operation.
100 |
101 | .PARAMETER RemoveSource
102 | Removes the source (decrypted) file after encrypting.
103 |
104 | .OUTPUTS
105 | System.IO.FileInfo. Protect-File will return FileInfo with the SourceFile and Key as added NoteProperties
106 |
107 | .EXAMPLE
108 | Protect-File 'C:\secrets.txt' $key
109 | This example encrypts C:\secrets.txt using the key stored in the variable $key. The encrypted file would have the default extension of '.AES' and the source (decrypted) file would not be removed.
110 |
111 | .EXAMPLE
112 | Protect-File 'C:\secrets.txt' -Suffix '.Encrypted' -RemoveSource
113 | This example encrypts C:\secrets.txt with a randomly generated AES key. The encrypted file would have an extension of '.Encrypted' and the source (decrypted) file would be removed.
114 |
115 | .EXAMPLE
116 | Get-ChildItem 'C:\Files' -Recurse | Protect-File -Key $key -RemoveSource
117 | This example encrypts all of the files under the C:\Files directory using the key stored in the variable $key. The encrypted files would have the default extension of '.AES' and the source (decrypted) files would be removed.
118 |
119 | .NOTES
120 | Author: Tyler Siegrist
121 | Date: 9/18/2017
122 | #>
123 | [CmdletBinding(DefaultParameterSetName = 'SecureString')]
124 | [OutputType([System.IO.FileInfo[]])]
125 | Param (
126 | [Parameter(Mandatory = $true, Position = 1, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
127 | [Alias('PSPath', 'LiteralPath')]
128 | [string[]]$FileName,
129 | [Parameter(Mandatory = $false, Position = 2, ParameterSetName = 'SecureString')]
130 | [System.Security.SecureString]$Key = (New-AESKey),
131 | [Parameter(Mandatory = $true, Position = 2, ParameterSetName = 'PlainText')]
132 | [String]$KeyAsPlainText,
133 | [Parameter(Mandatory = $false, Position = 3)]
134 | [String]$Suffix = '.AES',
135 | [Parameter(Mandatory = $false, Position = 4)]
136 | [System.Security.Cryptography.CipherMode]$CipherMode = 'CBC',
137 | [Parameter(Mandatory = $false, Position = 5)]
138 | [System.Security.Cryptography.PaddingMode]$PaddingMode = 'PKCS7',
139 | [Parameter()]
140 | [Switch]$RemoveSource
141 | )
142 | Begin
143 | {
144 | #Configure AES
145 | try
146 | {
147 | if ($PSCmdlet.ParameterSetName -eq 'PlainText')
148 | {
149 | $Key = $KeyAsPlainText | ConvertTo-SecureString -AsPlainText -Force
150 | }
151 |
152 | #Decrypt AES Key from SecureString
153 | $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Key)
154 | $EncryptionKey = [System.Convert]::FromBase64String([System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR))
155 |
156 | $AES = [System.Security.Cryptography.Aes]::Create()
157 | $AES.Mode = $CipherMode
158 | $AES.Padding = $PaddingMode
159 | $AES.KeySize = $EncryptionKey.Length * 8
160 | $AES.Key = $EncryptionKey
161 | }
162 | Catch
163 | {
164 | Write-Error $_ -ErrorAction Stop
165 | }
166 | }
167 | Process
168 | {
169 | $Files = Get-Item -LiteralPath $FileName
170 |
171 | ForEach ($File in $Files)
172 | {
173 | $DestinationFile = $File.FullName + $Suffix
174 |
175 | Try
176 | {
177 | $FileStreamReader = New-Object System.IO.FileStream($File.FullName, [System.IO.FileMode]::Open)
178 | $FileStreamWriter = New-Object System.IO.FileStream($DestinationFile, [System.IO.FileMode]::Create)
179 |
180 | #Write IV (initialization-vector) length & IV to encrypted file
181 | $AES.GenerateIV()
182 | $FileStreamWriter.Write([System.BitConverter]::GetBytes($AES.IV.Length), 0, 4)
183 | $FileStreamWriter.Write($AES.IV, 0, $AES.IV.Length)
184 |
185 | #Perform encryption
186 | $Transform = $AES.CreateEncryptor()
187 | $CryptoStream = New-Object System.Security.Cryptography.CryptoStream($FileStreamWriter, $Transform, [System.Security.Cryptography.CryptoStreamMode]::Write)
188 | $FileStreamReader.CopyTo($CryptoStream)
189 |
190 | #Close open files
191 | $CryptoStream.FlushFinalBlock()
192 | $CryptoStream.Close()
193 | $FileStreamReader.Close()
194 | $FileStreamWriter.Close()
195 |
196 | #Output ecrypted file
197 | Get-Item $DestinationFile | Add-Member –MemberType NoteProperty –Name Key –Value $Key -PassThru | Add-Member –MemberType NoteProperty –Name SourceFile –Value $File.FullName -PassThru
198 |
199 | #Delete unencrypted file
200 | if ($RemoveSource) { Remove-Item -LiteralPath $File.FullName }
201 | }
202 | Catch
203 | {
204 | Write-Error $_
205 | If ($FileStreamWriter)
206 | {
207 | #Remove failed file
208 | $FileStreamWriter.Close()
209 | Remove-Item -LiteralPath $DestinationFile -Force
210 | }
211 | Continue
212 | }
213 | Finally
214 | {
215 | if ($CryptoStream) { $CryptoStream.Close() }
216 | if ($FileStreamReader) { $FileStreamReader.Close() }
217 | if ($FileStreamWriter) { $FileStreamWriter.Close() }
218 | }
219 | }
220 | }
221 | End { }
222 | }
223 |
224 | Function Unprotect-File
225 | {
226 | <#
227 | .SYNOPSIS
228 | Decrypts an AES encrypted file.
229 |
230 | .DESCRIPTION
231 | Decrypts a file using a provided AES key.
232 |
233 | .PARAMETER FileName
234 | File(s) to be decrypted.
235 |
236 | .PARAMETER Key
237 | AES key as a SecureString be used for decryption.
238 |
239 | .PARAMETER KeyAsPlainText
240 | AES key as a String to be used for decryption.
241 |
242 | .PARAMETER Suffix
243 | Suffix of the encrypted file to be removed.
244 |
245 | .PARAMETER CipherMode
246 | Specifies the block cipher mode that was used for encryption.
247 |
248 | .PARAMETER PaddingMode
249 | Specifies the type of padding that was applied when the message data block was shorter than the full number of bytes needed for a cryptographic operation.
250 |
251 | .PARAMETER RemoveSource
252 | Removes the source (encrypted) file after decrypting.
253 |
254 | .OUTPUTS
255 | System.IO.FileInfo. Unprotect-File will return FileInfo with the SourceFile as an added NoteProperty
256 |
257 | .EXAMPLE
258 | Unprotect-File 'C:\secrets.txt.AES' $key
259 | This example decrypts C:\secrets.txt.AES using the key stored in the variable $key. The decrypted file would remove the default extension of '.AES' and the source (encrypted) file would not be removed.
260 |
261 | .EXAMPLE
262 | Unprotect-File 'C:\secrets.txt.Encrypted' -Key $key -Suffix '.Encrypted' -RemoveSource
263 | This example decrypts C:\secrets.txt.Encrypted using the key stored in the variable $key. The decrypted file would remove the extension of '.Encrypted' and the source (encrypted) file would be removed.
264 |
265 | .EXAMPLE
266 | Get-ChildItem 'C:\Files' -Recurse | Unprotect-File -Key $key -RemoveSource
267 | This example decrypts all of the files under the C:\Files directory using the key stored in the variable $key. The decrypted files would remove the default extension of '.AES' and the source (encrypted) files would be removed.
268 |
269 | .NOTES
270 | Author: Tyler Siegrist
271 | Date: 9/18/2017
272 | #>
273 | [CmdletBinding(DefaultParameterSetName = 'SecureString')]
274 | [OutputType([System.IO.FileInfo[]])]
275 | Param (
276 | [Parameter(Mandatory = $true, Position = 1, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
277 | [Alias('PSPath', 'LiteralPath')]
278 | [string[]]$FileName,
279 | [Parameter(Mandatory = $true, Position = 2, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'SecureString')]
280 | [System.Security.SecureString]$Key,
281 | [Parameter(Mandatory = $true, Position = 2, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'PlainText')]
282 | [String]$KeyAsPlainText,
283 | [Parameter(Mandatory = $false, Position = 3)]
284 | [String]$Suffix = '.AES',
285 | [Parameter(Mandatory = $false, Position = 4)]
286 | [System.Security.Cryptography.CipherMode]$CipherMode = 'CBC',
287 | [Parameter(Mandatory = $false, Position = 5)]
288 | [System.Security.Cryptography.PaddingMode]$PaddingMode = 'PKCS7',
289 | [Parameter()]
290 | [Switch]$RemoveSource
291 | )
292 | Process
293 | {
294 | #Configure AES
295 | try
296 | {
297 | if ($PSCmdlet.ParameterSetName -eq 'PlainText')
298 | {
299 | $Key = $KeyAsPlainText | ConvertTo-SecureString -AsPlainText -Force
300 | }
301 |
302 | #Decrypt AES Key from SecureString
303 | $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Key)
304 | $EncryptionKey = [System.Convert]::FromBase64String([System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR))
305 |
306 | $AES = [System.Security.Cryptography.Aes]::Create()
307 | $AES.Mode = $CipherMode
308 | $AES.Padding = $PaddingMode
309 | $AES.KeySize = $EncryptionKey.Length * 8
310 | $AES.Key = $EncryptionKey
311 | }
312 | Catch
313 | {
314 | Write-Error $_ -ErrorAction Stop
315 | }
316 |
317 | #Used to store successfully decrypted file names.
318 | $Files = Get-Item -LiteralPath $FileName
319 |
320 | ForEach ($File in $Files)
321 | {
322 | #Verify file ends with supplied suffix
323 | If (-not $File.Name.EndsWith($Suffix))
324 | {
325 | Write-Error "$($File.FullName) does not have an extension of '$Suffix'."
326 | Continue
327 | }
328 |
329 | $DestinationFile = $File.FullName -replace "$Suffix$"
330 |
331 | Try
332 | {
333 | $FileStreamReader = New-Object System.IO.FileStream($File.FullName, [System.IO.FileMode]::Open)
334 | $FileStreamWriter = New-Object System.IO.FileStream($DestinationFile, [System.IO.FileMode]::Create)
335 |
336 | #Get IV from file
337 | [Byte[]]$LenIV = New-Object Byte[] 4
338 | $FileStreamReader.Seek(0, [System.IO.SeekOrigin]::Begin) | Out-Null
339 | $FileStreamReader.Read($LenIV, 0, 3) | Out-Null
340 | [Int]$LIV = [System.BitConverter]::ToInt32($LenIV, 0)
341 | [Byte[]]$IV = New-Object Byte[] $LIV
342 | $FileStreamReader.Seek(4, [System.IO.SeekOrigin]::Begin) | Out-Null
343 | $FileStreamReader.Read($IV, 0, $LIV) | Out-Null
344 | $AES.IV = $IV
345 |
346 | #Peform Decryption
347 | $Transform = $AES.CreateDecryptor()
348 | $CryptoStream = New-Object System.Security.Cryptography.CryptoStream($FileStreamWriter, $Transform, [System.Security.Cryptography.CryptoStreamMode]::Write)
349 | $FileStreamReader.CopyTo($CryptoStream)
350 |
351 | #Close open files
352 | $CryptoStream.FlushFinalBlock()
353 | $CryptoStream.Close()
354 | $FileStreamReader.Close()
355 | $FileStreamWriter.Close()
356 |
357 | #Output decrypted file
358 | Get-Item $DestinationFile | Add-Member –MemberType NoteProperty –Name SourceFile –Value $File.FullName -PassThru
359 |
360 | #Delete encrypted file
361 | if ($RemoveSource) { Remove-Item $File.FullName }
362 | }
363 | Catch
364 | {
365 | Write-Error $_
366 | If ($FileStreamWriter)
367 | {
368 | #Remove failed file
369 | $FileStreamWriter.Close()
370 | Remove-Item -LiteralPath $DestinationFile -Force
371 | }
372 | Continue
373 | }
374 | Finally
375 | {
376 | if ($CryptoStream) { $CryptoStream.Close() }
377 | if ($FileStreamReader) { $FileStreamReader.Close() }
378 | if ($FileStreamWriter) { $FileStreamWriter.Close() }
379 | }
380 | }
381 | }
382 | }
383 |
384 |
385 |
386 | Function New-WPFMessageBox
387 | {
388 |
389 | # For examples for use, see my blog:
390 | # https://smsagent.wordpress.com/2017/08/24/a-customisable-wpf-messagebox-for-powershell/
391 |
392 | # CHANGES
393 | # 2017-09-11 - Added some required assemblies in the dynamic parameters to avoid errors when run from the PS console host.
394 |
395 | # Define Parameters
396 | [CmdletBinding()]
397 | Param
398 | (
399 | # The popup Content
400 | [Parameter(Mandatory = $True, Position = 0)]
401 | [Object]$Content,
402 | # The window title
403 |
404 | [Parameter(Mandatory = $false, Position = 1)]
405 | [string]$Title,
406 | # The buttons to add
407 |
408 | [Parameter(Mandatory = $false, Position = 2)]
409 | [ValidateSet('OK', 'OK-Cancel', 'Abort-Retry-Ignore', 'Yes-No-Cancel', 'Yes-No', 'Retry-Cancel', 'Cancel-TryAgain-Continue', 'None')]
410 | [array]$ButtonType = 'OK',
411 | # The buttons to add
412 |
413 | [Parameter(Mandatory = $false, Position = 3)]
414 | [array]$CustomButtons,
415 | # Content font size
416 |
417 | [Parameter(Mandatory = $false, Position = 4)]
418 | [int]$ContentFontSize = 14,
419 | # Title font size
420 |
421 | [Parameter(Mandatory = $false, Position = 5)]
422 | [int]$TitleFontSize = 14,
423 | # BorderThickness
424 |
425 | [Parameter(Mandatory = $false, Position = 6)]
426 | [int]$BorderThickness = 0,
427 | # CornerRadius
428 |
429 | [Parameter(Mandatory = $false, Position = 7)]
430 | [int]$CornerRadius = 8,
431 | # ShadowDepth
432 |
433 | [Parameter(Mandatory = $false, Position = 8)]
434 | [int]$ShadowDepth = 3,
435 | # BlurRadius
436 |
437 | [Parameter(Mandatory = $false, Position = 9)]
438 | [int]$BlurRadius = 20,
439 | # WindowHost
440 |
441 | [Parameter(Mandatory = $false, Position = 10)]
442 | [object]$WindowHost,
443 | # Timeout in seconds,
444 |
445 | [Parameter(Mandatory = $false, Position = 11)]
446 | [int]$Timeout,
447 | # Code for Window Loaded event,
448 |
449 | [Parameter(Mandatory = $false, Position = 12)]
450 | [scriptblock]$OnLoaded,
451 | # Code for Window Closed event,
452 |
453 | [Parameter(Mandatory = $false, Position = 13)]
454 | [scriptblock]$OnClosed
455 |
456 | )
457 |
458 | # Dynamically Populated parameters
459 | DynamicParam
460 | {
461 |
462 | # Add assemblies for use in PS Console
463 | Add-Type -AssemblyName System.Drawing, PresentationCore
464 |
465 | # ContentBackground
466 | $ContentBackground = 'ContentBackground'
467 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
468 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
469 | $ParameterAttribute.Mandatory = $False
470 | $AttributeCollection.Add($ParameterAttribute)
471 | $RuntimeParameterDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary
472 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
473 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
474 | $AttributeCollection.Add($ValidateSetAttribute)
475 | $PSBoundParameters.ContentBackground = "White"
476 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($ContentBackground, [string], $AttributeCollection)
477 | $RuntimeParameterDictionary.Add($ContentBackground, $RuntimeParameter)
478 |
479 |
480 | # FontFamily
481 | $FontFamily = 'FontFamily'
482 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
483 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
484 | $ParameterAttribute.Mandatory = $False
485 | $AttributeCollection.Add($ParameterAttribute)
486 | $arrSet = [System.Drawing.FontFamily]::Families | Select-Object -ExpandProperty Name
487 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
488 | $AttributeCollection.Add($ValidateSetAttribute)
489 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($FontFamily, [string], $AttributeCollection)
490 | $RuntimeParameterDictionary.Add($FontFamily, $RuntimeParameter)
491 | $PSBoundParameters.FontFamily = "Segui"
492 |
493 | # TitleFontWeight
494 | $TitleFontWeight = 'TitleFontWeight'
495 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
496 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
497 | $ParameterAttribute.Mandatory = $False
498 | $AttributeCollection.Add($ParameterAttribute)
499 | $arrSet = [System.Windows.FontWeights] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
500 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
501 | $AttributeCollection.Add($ValidateSetAttribute)
502 | $PSBoundParameters.TitleFontWeight = "Normal"
503 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($TitleFontWeight, [string], $AttributeCollection)
504 | $RuntimeParameterDictionary.Add($TitleFontWeight, $RuntimeParameter)
505 |
506 | # ContentFontWeight
507 | $ContentFontWeight = 'ContentFontWeight'
508 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
509 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
510 | $ParameterAttribute.Mandatory = $False
511 | $AttributeCollection.Add($ParameterAttribute)
512 | $arrSet = [System.Windows.FontWeights] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
513 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
514 | $AttributeCollection.Add($ValidateSetAttribute)
515 | $PSBoundParameters.ContentFontWeight = "Normal"
516 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($ContentFontWeight, [string], $AttributeCollection)
517 | $RuntimeParameterDictionary.Add($ContentFontWeight, $RuntimeParameter)
518 |
519 |
520 | # ContentTextForeground
521 | $ContentTextForeground = 'ContentTextForeground'
522 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
523 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
524 | $ParameterAttribute.Mandatory = $False
525 | $AttributeCollection.Add($ParameterAttribute)
526 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
527 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
528 | $AttributeCollection.Add($ValidateSetAttribute)
529 | $PSBoundParameters.ContentTextForeground = "Black"
530 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($ContentTextForeground, [string], $AttributeCollection)
531 | $RuntimeParameterDictionary.Add($ContentTextForeground, $RuntimeParameter)
532 |
533 | # TitleTextForeground
534 | $TitleTextForeground = 'TitleTextForeground'
535 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
536 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
537 | $ParameterAttribute.Mandatory = $False
538 | $AttributeCollection.Add($ParameterAttribute)
539 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
540 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
541 | $AttributeCollection.Add($ValidateSetAttribute)
542 | $PSBoundParameters.TitleTextForeground = "Black"
543 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($TitleTextForeground, [string], $AttributeCollection)
544 | $RuntimeParameterDictionary.Add($TitleTextForeground, $RuntimeParameter)
545 |
546 | # BorderBrush
547 | $BorderBrush = 'BorderBrush'
548 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
549 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
550 | $ParameterAttribute.Mandatory = $False
551 | $AttributeCollection.Add($ParameterAttribute)
552 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
553 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
554 | $AttributeCollection.Add($ValidateSetAttribute)
555 | $PSBoundParameters.BorderBrush = "Black"
556 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($BorderBrush, [string], $AttributeCollection)
557 | $RuntimeParameterDictionary.Add($BorderBrush, $RuntimeParameter)
558 |
559 |
560 | # TitleBackground
561 | $TitleBackground = 'TitleBackground'
562 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
563 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
564 | $ParameterAttribute.Mandatory = $False
565 | $AttributeCollection.Add($ParameterAttribute)
566 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
567 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
568 | $AttributeCollection.Add($ValidateSetAttribute)
569 | $PSBoundParameters.TitleBackground = "White"
570 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($TitleBackground, [string], $AttributeCollection)
571 | $RuntimeParameterDictionary.Add($TitleBackground, $RuntimeParameter)
572 |
573 | # ButtonTextForeground
574 | $ButtonTextForeground = 'ButtonTextForeground'
575 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
576 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
577 | $ParameterAttribute.Mandatory = $False
578 | $AttributeCollection.Add($ParameterAttribute)
579 | $arrSet = [System.Drawing.Brushes] | Get-Member -Static -MemberType Property | Select-Object -ExpandProperty Name
580 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
581 | $AttributeCollection.Add($ValidateSetAttribute)
582 | $PSBoundParameters.ButtonTextForeground = "Black"
583 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($ButtonTextForeground, [string], $AttributeCollection)
584 | $RuntimeParameterDictionary.Add($ButtonTextForeground, $RuntimeParameter)
585 |
586 | # Sound
587 | $Sound = 'Sound'
588 | $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
589 | $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute
590 | $ParameterAttribute.Mandatory = $False
591 | #$ParameterAttribute.Position = 14
592 | $AttributeCollection.Add($ParameterAttribute)
593 | $arrSet = (Get-ChildItem "$env:SystemDrive\Windows\Media" -Filter Windows* | Select-Object -ExpandProperty Name).Replace('.wav', '')
594 | $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet)
595 | $AttributeCollection.Add($ValidateSetAttribute)
596 | $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($Sound, [string], $AttributeCollection)
597 | $RuntimeParameterDictionary.Add($Sound, $RuntimeParameter)
598 |
599 | return $RuntimeParameterDictionary
600 | }
601 |
602 | Begin
603 | {
604 | Add-Type -AssemblyName PresentationFramework
605 | }
606 |
607 | Process
608 | {
609 |
610 | # Define the XAML markup
611 | [XML]$Xaml = @"
612 |
616 |
617 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 | "@
663 |
664 | [XML]$ButtonXaml = @"
665 |
666 | "@
667 |
668 | [XML]$ButtonTextXaml = @"
669 |
670 | "@
671 |
672 | [XML]$ContentTextXaml = @"
673 |
674 | "@
675 |
676 | # Load the window from XAML
677 | $Window = [Windows.Markup.XamlReader]::Load((New-Object -TypeName System.Xml.XmlNodeReader -ArgumentList $xaml))
678 |
679 | # Custom function to add a button
680 | Function Add-Button
681 | {
682 | Param ($Content)
683 | $Button = [Windows.Markup.XamlReader]::Load((New-Object -TypeName System.Xml.XmlNodeReader -ArgumentList $ButtonXaml))
684 | $ButtonText = [Windows.Markup.XamlReader]::Load((New-Object -TypeName System.Xml.XmlNodeReader -ArgumentList $ButtonTextXaml))
685 | $ButtonText.Text = "$Content"
686 | $Button.Content = $ButtonText
687 | $Button.Add_MouseEnter({
688 | $This.Content.FontSize = "17"
689 | })
690 | $Button.Add_MouseLeave({
691 | $This.Content.FontSize = "16"
692 | })
693 | $Button.Add_Click({
694 | New-Variable -Name WPFMessageBoxOutput -Value $($This.Content.Text) -Option ReadOnly -Scope Script -Force
695 | $Window.Close()
696 | })
697 | $Window.FindName('ButtonHost').AddChild($Button)
698 | }
699 |
700 | # Add buttons
701 | If ($ButtonType -eq "OK")
702 | {
703 | Add-Button -Content "OK"
704 | }
705 |
706 | If ($ButtonType -eq "OK-Cancel")
707 | {
708 | Add-Button -Content "OK"
709 | Add-Button -Content "Cancel"
710 | }
711 |
712 | If ($ButtonType -eq "Abort-Retry-Ignore")
713 | {
714 | Add-Button -Content "Abort"
715 | Add-Button -Content "Retry"
716 | Add-Button -Content "Ignore"
717 | }
718 |
719 | If ($ButtonType -eq "Yes-No-Cancel")
720 | {
721 | Add-Button -Content "Yes"
722 | Add-Button -Content "No"
723 | Add-Button -Content "Cancel"
724 | }
725 |
726 | If ($ButtonType -eq "Yes-No")
727 | {
728 | Add-Button -Content "Yes"
729 | Add-Button -Content "No"
730 | }
731 |
732 | If ($ButtonType -eq "Retry-Cancel")
733 | {
734 | Add-Button -Content "Retry"
735 | Add-Button -Content "Cancel"
736 | }
737 |
738 | If ($ButtonType -eq "Cancel-TryAgain-Continue")
739 | {
740 | Add-Button -Content "Cancel"
741 | Add-Button -Content "TryAgain"
742 | Add-Button -Content "Continue"
743 | }
744 |
745 | If ($ButtonType -eq "None" -and $CustomButtons)
746 | {
747 | Foreach ($CustomButton in $CustomButtons)
748 | {
749 | Add-Button -Content "$CustomButton"
750 | }
751 | }
752 |
753 | # Remove the title bar if no title is provided
754 | If ($Title -eq "")
755 | {
756 | $TitleBar = $Window.FindName('TitleBar')
757 | $Window.FindName('StackPanel').Children.Remove($TitleBar)
758 | }
759 |
760 | # Add the Content
761 | If ($Content -is [String])
762 | {
763 | # Replace double quotes with single to avoid quote issues in strings
764 | If ($Content -match '"')
765 | {
766 | $Content = $Content.Replace('"', "'")
767 | }
768 |
769 | # Use a text box for a string value...
770 | $ContentTextBox = [Windows.Markup.XamlReader]::Load((New-Object -TypeName System.Xml.XmlNodeReader -ArgumentList $ContentTextXaml))
771 | $Window.FindName('ContentHost').AddChild($ContentTextBox)
772 | }
773 | Else
774 | {
775 | # ...or add a WPF element as a child
776 | Try
777 | {
778 | $Window.FindName('ContentHost').AddChild($Content)
779 | }
780 | Catch
781 | {
782 | $_
783 | }
784 | }
785 |
786 | # Enable window to move when dragged
787 | $Window.FindName('Grid').Add_MouseLeftButtonDown({
788 | $Window.DragMove()
789 | })
790 |
791 | # Activate the window on loading
792 | If ($OnLoaded)
793 | {
794 | $Window.Add_Loaded({
795 | $This.Activate()
796 | Invoke-Command $OnLoaded
797 | })
798 | }
799 | Else
800 | {
801 | $Window.Add_Loaded({
802 | $This.Activate()
803 | })
804 | }
805 |
806 |
807 | # Stop the dispatcher timer if exists
808 | If ($OnClosed)
809 | {
810 | $Window.Add_Closed({
811 | If ($DispatcherTimer)
812 | {
813 | $DispatcherTimer.Stop()
814 | }
815 | Invoke-Command $OnClosed
816 | })
817 | }
818 | Else
819 | {
820 | $Window.Add_Closed({
821 | If ($DispatcherTimer)
822 | {
823 | $DispatcherTimer.Stop()
824 | }
825 | })
826 | }
827 |
828 |
829 | # If a window host is provided assign it as the owner
830 | If ($WindowHost)
831 | {
832 | $Window.Owner = $WindowHost
833 | $Window.WindowStartupLocation = "CenterOwner"
834 | }
835 |
836 | # If a timeout value is provided, use a dispatcher timer to close the window when timeout is reached
837 | If ($Timeout)
838 | {
839 | $Stopwatch = New-object System.Diagnostics.Stopwatch
840 | $TimerCode = {
841 | If ($Stopwatch.Elapsed.TotalSeconds -ge $Timeout)
842 | {
843 | $Stopwatch.Stop()
844 | $Window.Close()
845 | }
846 | }
847 | $DispatcherTimer = New-Object -TypeName System.Windows.Threading.DispatcherTimer
848 | $DispatcherTimer.Interval = [TimeSpan]::FromSeconds(1)
849 | $DispatcherTimer.Add_Tick($TimerCode)
850 | $Stopwatch.Start()
851 | $DispatcherTimer.Start()
852 | }
853 |
854 | # Play a sound
855 | If ($($PSBoundParameters.Sound))
856 | {
857 | $SoundFile = "$env:SystemDrive\Windows\Media\$($PSBoundParameters.Sound).wav"
858 | $SoundPlayer = New-Object System.Media.SoundPlayer -ArgumentList $SoundFile
859 | $SoundPlayer.Add_LoadCompleted({
860 | $This.Play()
861 | $This.Dispose()
862 | })
863 | $SoundPlayer.LoadAsync()
864 | }
865 |
866 | # Display the window
867 | $null = $window.Dispatcher.InvokeAsync{ $window.ShowDialog() }.Wait()
868 |
869 | }
870 | }
871 |
872 |
873 |
874 |
875 | $RegKey = Get-Item 'HKCU:\Software\LBH Software, Inc.\Encryptor' -ErrorAction SilentlyContinue
876 | if (! $RegKey)
877 | {
878 | #Create the root key
879 | New-Item 'HKCU:\Software\LBH Software, Inc.\Encryptor' -Force
880 | }
881 |
882 | #--------------------------------------------------------------------------
883 |
884 | if((Show-MainForm_psf) -eq 'OK')
885 | {
886 |
887 | }
888 |
889 | $script:ExitCode = 0 #Set the exit code for the Packager
890 | }
891 |
892 |
893 |
894 |
895 |
896 |
897 | ]]>
898 |
899 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
900 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
901 | System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
902 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
903 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
904 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
905 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
906 | System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
907 |
908 |
--------------------------------------------------------------------------------
/_About/encryptfile-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bwya77/PowerShell-Encryptor/b5d47e01449e775e42055ec8559272d50d157e4c/_About/encryptfile-1.png
--------------------------------------------------------------------------------
/_About/main_UI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bwya77/PowerShell-Encryptor/b5d47e01449e775e42055ec8559272d50d157e4c/_About/main_UI.png
--------------------------------------------------------------------------------
/_About/opendiag1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bwya77/PowerShell-Encryptor/b5d47e01449e775e42055ec8559272d50d157e4c/_About/opendiag1.png
--------------------------------------------------------------------------------