Я уже довольно давно работаю с Powershell, но не понимаю, как работает шифрование, даже не уверен, что использую правильный синтаксис при чтении файлов справки.
#Get User Information
$User = Read-Host "Please enter your username"
$Password = Read-Host "Please enter your password. This will be encrypted" -AsSecureString | ConvertTo-SecureString -AsPlainText -Force
#Define a Key File
$KeyFile = "C:\Powershell\AES.key"
$Key = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($Key)
$Key | out-file $KeyFile
#Encrypt using AES
$PasswordFile = "C:\Powershell\Password.txt"
$KeyFile = "C:\Powershell\AES.key"
$Key = Get-Content $KeyFile
$Password | ConvertFrom-SecureString | Out-File $PasswordFile
#Set credentials to be called.
$myCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)
#Open text file.
Invoke-Command -ComputerName localhost -Credential $MyCredentials -ScriptBlock{
Invoke-Item C:\Powershell\Password.txt
}
Я получил сообщение об ошибке при запуске, и я не уверен, почему я не могу передать это:
ConvertFrom-SecureString: входной объект не может быть привязан к каким-либо параметрам для команды либо потому, что команда не принимает входные данные конвейера, либо входные данные и его свойства не соответствуют ни одному из параметров, принимающих входные данные конвейера. В C: \ Powershell \ Password.ps1: 15 символов: 13 + $ Password | ConvertFrom-SecureString -Key $ Key | Out-File $ PasswordFile + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidArgument: ( System.Security.SecureString: String) [ConvertFrom-SecureString], ParameterBindingException + FullyQualifiedErrorId: InputObjectNotBound, Microsoft.PowerShell.Commands.ConvertFromSecureStringCommand
Могут ли помочь специалисты по шифрованию? Я пытаюсь просто сохранить пароль в текстовом файле (зашифрованном), а затем я хочу использовать другой сценарий для вызова различных программ с использованием новых учетных данных с использованием зашифрованного пароля, но я даже не могу заставить зашифрованный пароль работать правильно. Заранее спасибо.