로컬 및 원격 컴퓨터에서 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
작동하지만 너무 추악합니다. 누구든지 더 나은 솔루션을 찾도록 도와줄 수 있습니까?