Estou tentando executar um script que requer elevação para definir determinados valores de registro para permitir o CredSSP em computadores locais e remotos e, durante esse script, preciso acessar um compartilhamento de rede como uma conta não elevada.
Meu pensamento inicial foi tentar
Invoke-Command -ScriptBlock { [IO.Directory]::GetFiles($networkShare) } -Credential $cred
onde $cred são credenciais de usuários não elevados. Infelizmente, isso não funciona devido aesse bug.
A solução alternativa fornecida é usar, -ComputerName localhost
mas requer que minha máquina local seja configurada para PS Remote, o que não quero fazer.
A melhor solução alternativa que encontrei é usar
$foo = Start-Job -Credential $cred -ScriptBlock { [IO.Directory]::GetFiles($networkShare) }
$out = Receive-Job $foo
Isso funciona, mas é tão feio... alguém pode me ajudar a encontrar uma solução melhor?