Я пытаюсь запустить сценарий, который требует повышения прав для установки определенных значений реестра, чтобы разрешить 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
Это работает, но это так ужасно ... Может кто-нибудь помочь мне найти лучшее решение?