PowerShell如何对密码加密和调用认证信息

  PowerShell远程执行脚本时,如果当前用户没有权限,则需要用户名和密码才能在远程服务器执行脚本。如果在PowerShell脚本中保存明文密码,密码丢失的风险会非常高。PowerShell提供创建加密密码文件功能,能够将明文密码加密为密文密码,经过加密的密码文件能够重复使用。

注意:密码文件只能由创建它的帐户读取和使用。

#生成密码文件
"<YourPassword>" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\Password.txt"

#创建认证信息
$UserName = "User Name"
$PasswordFile = "C:\Password.txt"
$MyCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, (Get-Content $PasswordFile | ConvertTo-SecureString)

#调用认证信息
#示例(XenServer 连接)
Connect-XenServer -Url https://192.168.1.1 -Creds $MyCredential -NoWarnCertificates -SetDefaultSession

 

发表回复