10

我正在尝试在客户端网络上的 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?还有一个次要问题 - 我如何Start-Job使用我的CLIENTDOMAIN\George.Mauer凭证?

4

1 回答 1

8

/netonly以当前用户身份运行该过程,并且仅使用其他凭据进行网络连接。

Start-Process将使用其他凭据运行该进程(及其所有网络连接)。没有办法/NETONLYStart-Process.

您必须 p/invoke Win32 API 才能实现 /NETONLY 功能。如果您准备好进行练习,这是您需要使用的 API LOGON_NETCREDENTIALS_ONLY

http://www.pinvoke.net/default.aspx/advapi32/createprocesswithlogonw.html

更多资源:

以其他用户身份运行作业:

Start-Job -ScriptBlock {whoami} -Credential (get-credential) | Wait-Job | Receive-Job
于 2013-03-26T02:21:25.990 回答