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ですか?そして2番目の質問-クレデンシャルをどのようにStart-Job使用しますか?CLIENTDOMAIN\George.Mauer

4

1 に答える 1

8

/netonly現在のユーザーとしてプロセスを実行し、他の資格情報を使用してネットワーク接続のみが確立されます。

Start-Process他の資格情報を使用してプロセス(およびそのすべてのネットワーク接続)を実行します。/NETONLYで機能を実現する方法はありませんStart-Process

/ NETONLY機能を実現するには、Win32APIをp/invokeする必要があります。演習を行う場合は、これを使用する必要のある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 に答える