我有点懒惰,所以我创建了一个脚本,为我打开了很多应用程序。在使用管理员凭据打开ISE时工作正常,也会打开具有管理员信誉的应用程序,但是其中一些需要不同的凭据。
是否有可能,每次登录并打开密码时,都要记住输入密码? (我知道变量只存储到ps打开之前)
事情是 - 我无法在配置文件/文本文件或脚本中存储可见密码,因为这是许多人使用的跳转服务器。是否有可能输入一次密码,让PS加密它,每次我打开PS,它会解密并使用?或者围绕这个可行的解决方法?
使用代码进行编辑:
这是我想改变的唯一部分
$currentPW = "some password"
$credentials = New-Object System.Management.Automation.PSCredential ("domain\username",$CurrentPW)
start "c:\application.exe" -credential $credentials
它有点工作,但每次我登录设备时都需要输入密码,所以我可以选择以下选项:
$currentPW = read-host "Provide your password"
$credentials = New-Object System.Management.Automation.PSCredential ("domain\username",$CurrentPW)
start "c:\application.exe" -credential $credentials
但这需要我每次登录系统时输入密码并打开PS,因为它在重启后不记得变量。 那么......是否有可能使这项工作成功?^^
答案 0 :(得分:0)
您可以使用ConvertTo-SecureString
使用用户帐户密钥加密密码,然后将此安全字符串保存到文件中以便稍后加载。
这假设您是唯一可以访问登录帐户的人(不是具有共享凭据的帐户),因为任何可以以帐户身份登录的人都可以解密该文件。
$username = "domain\username"
$passwordFile = "C:\folder\EncryptedPassword.txt"
#if password file exists: populate $securePwd from file contents
If (Test-Path $passwordFile) {
$pwdTxt = Get-Content $passwordFile
$securePwd = $pwdTxt | ConvertTo-SecureString
}
#if no file: prompt for password, create file and populate $securePwd
Else {
$password = Read-Host "Provide your password"
$securePwd = $password | ConvertTo-SecureString -AsPlainText -Force
$securePwd | ConvertFrom-SecureString | Set-Content $passwordFile
}
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $username, $securePwd
Start-Process "c:\application.exe" -Credential $credentials
答案 1 :(得分:0)
如果您有PowerShell 3.0或更高版本,您还可以将Get-Credential
与Export-CliXml
合并,将PSCredential
对象导出为XML文件。例如:
Get-Credential | Export-CliXml "C:\XML Files\credential.xml"
然后,您可以使用Import-CliXml
导入凭据。例如:
$credential = Import-CliXml "C:\Xml Files\credential.xml"
请注意,密码是使用DPAPI加密的,因此您只能使用Import-CliXml
使用Export-CliXml
导出凭据的同一用户帐户在同一台计算机上使用@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
html {
transform: rotate(-90deg);
transform-origin: left top;
width: 100vh;
overflow-x: hidden;
position: absolute;
top: 100%;
left: 0;
}
}
导入凭据。