一个证书对象包涵一个用户名及密码,你能使用Get-Credential创建它然后在有-Credential的命令中后当参数用。
但是我们想在执行过程中忽略掉用户密码提示干预,你可能不想凭证窗口弹出来,并且不想把用户密码密码信息存储在脚本里。
请看这个解决,使用函数 Export-Credential 将证书保存到文件:
function Export-Credential
{
param
(
[Parameter(Mandatory=$true)]
$Path,
[System.Management.Automation.Credential()]
[Parameter(Mandatory=$true)]
$Credential
)
$CredentialCopy = $Credential | Select-Object *
$CredentialCopy.Password = $CredentialCopy.Password | ConvertFrom-SecureString
$CredentialCopy | Export-Clixml $Path
}
将证书信息保存到一个文件:
Export-Credential -Path c:\mycred -Credential administrator
当你使用时,弹出凭证窗口提示你输入安全密码,凭证结果将会已XML形式保存并且密码被加密。
现在当你需要凭证时,使用 Import-Credential从该文件获得:
function Import-Credential
{
param
(
[Parameter(Mandatory=$true)]
$Path
)
$CredentialCopy = Import-Clixml $path
$CredentialCopy.password = $CredentialCopy.Password | ConvertTo-SecureString
New-Object system.Management.Automation.PSCredential($CredentialCopy.username, $CredentialCopy.password)
}
请尝试这样使用:
$cred = Import-Credential -Path c:\mycred Start-Process -FilePath "c:\xx.exe" -Credential $cred
用户安全凭据将被加密与解密,这样只有你(指定用户导出的凭证)能再次导入它。不需要将加密代码暴露在你的脚本当中了。
原文地址:Exporting and Importing Credentials in PowerShell
本文链接: https://www.pstips.net/exporting-and-importing-credentials-in-powershell.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
