我正在嘗試運行一個需要提升的腳本,以設定某些註冊表值以允許本地和遠端電腦上的 CredSSP,並且在此腳本期間,我需要以非提升帳戶的身份存取網路共用。
我最初的想法是嘗試
Invoke-Command -ScriptBlock { [IO.Directory]::GetFiles($networkShare) } -Credential $cred
其中 $cred 是未提升使用者的憑證。不幸的是,這不起作用,因為這個錯誤。
給出的解決方法是使用-ComputerName localhost
,但這需要我的本機設定 PS Remote,但我不想這樣做。
我發現的最好的解決方法是使用
$foo = Start-Job -Credential $cred -ScriptBlock { [IO.Directory]::GetFiles($networkShare) }
$out = Receive-Job $foo
這可行,但太難看了......任何人都可以幫我找到更好的解決方案嗎?