【发布时间】:2016-03-22 12:00:19
【问题描述】:
我的目标:
以管理员身份运行 PowerShell,这需要在我们的环境中进行管理员身份验证,并将这些凭据存储在一个变量中,以供该会话中运行的脚本使用。
如果信息不足:
我正在编写一个脚本,它使用管理员的用户名在变量中运行脚本(用于日志记录)。
我不想让运行此脚本的管理员必须登录两次。我们的环境已设置好,因此当以管理员身份运行 Powershell 时,系统会提示他输入管理员凭据。我不想让脚本再次提示输入凭据以将它们存储在变量中。
$env:USERNAME 对我没有帮助,因为我不希望用户名登录到计算机,我希望使用管理员用户名来运行脚本。
我怎样才能做到这一点?
到目前为止,我最接近的是在标准 PowerShell 会话中运行以下内容:
$AdminCred = Get-Credential
Start-Process powershell -Credential $AdminCred -ArgumentList "-file c:\ScriptName.ps1"
...但这给我留下了两个问题:
1) 我以管理员权限运行 PS,但它与我的“以管理员身份运行”不同
#Requires -RunAsAdministrator
line 拒绝它。和
2) 这会打开一个新的 PS 窗口,我的 $AdminCred 变量没有存储在那里。
看起来比较简单,但我对这个 PS 游戏还是很陌生。 非常感谢我能得到的任何帮助...
【问题讨论】:
标签: credentials powershell-4.0 elevated-privileges