【发布时间】:2013-03-14 11:48:34
【问题描述】:
我正在尝试在客户端网络上的 vpn 上设置一些脚本。此客户端通常在其网络上分配一个 ActiveDirectory 帐户并使用它来管理权限(例如,对数据库)。好的,有道理。
但有一点让我很困惑:
start-process runas.exe "/user:CLIENTDOMAIN\George.Mauer /netonly W:\tools\LINQPad4\LINQPad.exe
查询密码并运行良好(我可以访问数据库)
但是
Start-Process W:\tools\LINQPad4\LINQPad.exe -Credential (Get-Credential)
在弹出提示中输入CLIENTDOMAIN\George.Mauer和我的密码总是会导致错误
Start-Process : This command cannot be run due to the error: The user name or password is incorrect.
这些不是一回事吗? runas 和 -Credential 有什么区别?还有一个次要问题 - 我如何使用 CLIENTDOMAIN\George.Mauer 凭证 Start-Job?
【问题讨论】:
-
我怀疑差异来自 /netonly 开关 - TBH 我不知道直接将它传递给 Start-Process cmdlet 的方法,但我猜这个问题的答案。或者,最后 - 如何在使用 Start-Job cmdlet 时模拟 /netonly。
-
@BartekB - 你是说从 Windows 的角度来看 runas 与 PsCredential 做同样的事情,唯一的问题是缺少 API?如果是这样,我可能问错了问题。
-
这是一个完整的 SWAG,但如果您尝试
Start-Process ... -credential (Get-Credential).GetNetworkCredential()会发生什么。 -
@KeithHill 它返回一个
PsNetworkCredential类型,该类型不能隐式转换为PsCredential类型
标签: powershell active-directory