mirror of
https://github.com/fleschutz/PowerShell.git
synced 2025-04-27 04:08:44 +02:00
Improve description
This commit is contained in:
parent
0e0dd641e3
commit
140c958b3d
@ -1,8 +1,8 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Decrypts the given file
|
||||
Decrypts a file
|
||||
.DESCRIPTION
|
||||
This PowerShell script decrypts the given file.
|
||||
This PowerShell script decrypts a file using the given password and AES encryption.
|
||||
.PARAMETER Path
|
||||
Specifies the path to the file to decrypt
|
||||
.PARAMETER Password
|
||||
@ -12,44 +12,13 @@
|
||||
.LINK
|
||||
https://github.com/fleschutz/PowerShell
|
||||
.NOTES
|
||||
Author: Markus Fleschutz / License: CC0
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
param([string]$Path = "", [string]$Password = "")
|
||||
|
||||
|
||||
function DecryptFile {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Decrypts a file encrypted with Protect-File.
|
||||
|
||||
.DESCRIPTION
|
||||
Decrypts a file using a provided cryptography key.
|
||||
|
||||
.PARAMETER FileName
|
||||
File(s) to be decrypted.
|
||||
|
||||
.PARAMETER Key
|
||||
Cryptography key as a SecureString be used for decryption.
|
||||
|
||||
.PARAMETER KeyAsPlainText
|
||||
Cryptography key as a String to be used for decryption.
|
||||
|
||||
.PARAMETER CipherMode
|
||||
Specifies the block cipher mode that was used for encryption.
|
||||
|
||||
.PARAMETER PaddingMode
|
||||
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.
|
||||
|
||||
.PARAMETER Suffix
|
||||
Suffix of the encrypted file to be removed.
|
||||
|
||||
.PARAMETER RemoveSource
|
||||
Removes the source (encrypted) file after decrypting.
|
||||
|
||||
.OUTPUTS
|
||||
System.IO.FileInfo. Unprotect-File will return FileInfo with the SourceFile as an added NoteProperty
|
||||
#>
|
||||
[CmdletBinding(DefaultParameterSetName='SecureString')]
|
||||
[OutputType([System.IO.FileInfo[]])]
|
||||
Param(
|
||||
@ -163,11 +132,13 @@ Param(
|
||||
try {
|
||||
if ($Path -eq "" ) { $Path = read-host "Enter path to file" }
|
||||
if ($Password -eq "" ) { $Password = read-host "Enter password" }
|
||||
$StopWatch = [system.diagnostics.stopwatch]::startNew()
|
||||
|
||||
$PasswordBase64 = [System.Convert]::ToBase64String($Password)
|
||||
DecryptFile "$Path" -algorithm AES -keyAsPlainText $PasswordBase64 -removeSource
|
||||
DecryptFile "$Path" -Algorithm AES -KeyAsPlainText $PasswordBase64 -RemoveSource
|
||||
|
||||
"✔️ Done."
|
||||
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
|
||||
"✔️ file decrypted in $Elapsed sec"
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
|
@ -2,7 +2,7 @@
|
||||
.SYNOPSIS
|
||||
Encrypts a file
|
||||
.DESCRIPTION
|
||||
This PowerShell script encrypts the given file.
|
||||
This PowerShell script encrypts a file using the given password and AES encryption.
|
||||
.PARAMETER Path
|
||||
Specifies the path to the file to encrypt
|
||||
.PARAMETER Password
|
||||
@ -12,43 +12,12 @@
|
||||
.LINK
|
||||
https://github.com/fleschutz/PowerShell
|
||||
.NOTES
|
||||
Author: Markus Fleschutz / License: CC0
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
param([string]$Path = "", [string]$Password = "")
|
||||
|
||||
function EncryptFile {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Encrypts a file using a symmetrical algorithm.
|
||||
|
||||
.DESCRIPTION
|
||||
Encrypts a file using a symmetrical algorithm.
|
||||
|
||||
.PARAMETER FileName
|
||||
File(s) to be encrypted.
|
||||
|
||||
.PARAMETER Key
|
||||
Cryptography key as a SecureString to be used for encryption.
|
||||
|
||||
.PARAMETER KeyAsPlainText
|
||||
Cryptography key as a String to be used for encryption.
|
||||
|
||||
.PARAMETER CipherMode
|
||||
Specifies the block cipher mode to use for encryption.
|
||||
|
||||
.PARAMETER PaddingMode
|
||||
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.
|
||||
|
||||
.PARAMETER Suffix
|
||||
Suffix of the encrypted file to be removed.
|
||||
|
||||
.PARAMETER RemoveSource
|
||||
Removes the source (decrypted) file after encrypting.
|
||||
|
||||
.OUTPUTS
|
||||
System.IO.FileInfo. Protect-File will return FileInfo with the SourceFile, Algorithm, Key, CipherMode, and PaddingMode as added NoteProperties
|
||||
#>
|
||||
[CmdletBinding(DefaultParameterSetName='SecureString')]
|
||||
[OutputType([System.IO.FileInfo[]])]
|
||||
Param(
|
||||
@ -145,19 +114,17 @@ Param(
|
||||
|
||||
|
||||
try {
|
||||
if ($Path -eq "" ) {
|
||||
$Path = read-host "Enter path to file"
|
||||
}
|
||||
if ($Password -eq "" ) {
|
||||
$Password = read-host "Enter password"
|
||||
}
|
||||
if ($Path -eq "" ) { $Path = read-host "Enter path to file" }
|
||||
if ($Password -eq "" ) { $Password = read-host "Enter password" }
|
||||
$StopWatch = [system.diagnostics.stopwatch]::startNew()
|
||||
|
||||
$PasswordBase64 = [System.Convert]::ToBase64String($Password)
|
||||
EnryptFile "$Path" -Algorithm AES -KeyAsPlainText $PasswordBase64 -RemoveSource
|
||||
|
||||
"✔️ Done."
|
||||
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
|
||||
"✔️ file encrypted in $Elapsed sec"
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
exit 1
|
||||
}
|
||||
}
|
@ -4,14 +4,14 @@
|
||||
.DESCRIPTION
|
||||
This PowerShell script shows a toast-message notification for the Windows 10 Notification Center.
|
||||
.EXAMPLE
|
||||
PS> ./show-notification
|
||||
PS> ./show-notification "Hello World"
|
||||
.LINK
|
||||
https://github.com/fleschutz/PowerShell
|
||||
.NOTES
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
param([string]$Title = "Reminder", [string]$Text = "Hello World, this is a reminder.")
|
||||
param([string]$Text = "Hello World", [string]$Title = "NOTE", [int]$Duration = 5000)
|
||||
|
||||
try {
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
@ -22,7 +22,7 @@ try {
|
||||
$balloon.BalloonTipText = $Text
|
||||
$balloon.BalloonTipTitle = $Title
|
||||
$balloon.Visible = $true
|
||||
$balloon.ShowBalloonTip(5000)
|
||||
$balloon.ShowBalloonTip($Duration)
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
|
Loading…
Reference in New Issue
Block a user