我正在使用XAMPP(php / mysql / apache)和PowerShell v3运行Windows 2012 R2服务器。在过去的几个月里,我的代码已经正常工作以存储和检索加密密码
我的问题是,如何存储我的Powershell脚本使用的密码?当我在本地运行时脚本运行正常,但是当我从远程客户端上的PHP应用程序运行它们时,我得到“服务器已拒绝客户端凭据”。错误。
我尝试过以这种方式创建密码文件:
$File = "D:\path\to\password.txt"
[Byte[]] $key = (1..16)
$Password = "myPassword" | ConvertTo-SecureString -AsPlainText -Force
$Password | ConvertFrom-SecureString -key $key | Out-File $File
并像这样检索和使用它:
$PasswordFile = "D:\path\to\password.txt"
[Byte[]] $key = (1..16)
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "domain\username", (Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)
然后像这样使用它:
get-wmiobject Win32_Service -ComputerName $dc.name -credential $credential | select systemname,name,startmode,caption,state
答案 0 :(得分:0)
Here使用略有不同的命令
也许你想尝试一下
$SecureString = Read-Host -AsSecureString
$EncryptedPW = ConvertFrom-SecureString -SecureString $SecureString
Set-Content -Path "C:\tmp\mypw.txt" -Value $EncryptedPW
并使用
进行检索$EncryptedPW = Get-Content -Path "C:\tmp\mypw.txt"
$SecureString = ConvertTo-SecureString -String $EncryptedPW
$Credentials = New-Object System.Management.Automation.PSCredential "User", $SecureString
我还没试过。但值得一试。