使用非提升权限的凭据从提升权限的 powershell 调用命令

使用非提升权限的凭据从提升权限的 powershell 调用命令

我正在尝试运行一个需要提升权限的脚本来设置某些注册表值以允许在本地和远程计算机上使用 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

这可行,但它太丑了...有人能帮我找到更好的解决方案吗?

相关内容