Estoy intentando ejecutar una secuencia de comandos que requiere elevación para establecer ciertos valores de registro para permitir CredSSP en computadoras locales y remotas y, durante esta secuencia de comandos, necesito acceder a un recurso compartido de red como una cuenta no elevada.
Mi pensamiento inicial fue intentar
Invoke-Command -ScriptBlock { [IO.Directory]::GetFiles($networkShare) } -Credential $cred
donde $cred son las credenciales de usuarios no elevados. Desafortunadamente, eso no funciona debido aeste error.
La solución alternativa proporcionada es usar, -ComputerName localhost
pero eso requiere que mi máquina local esté configurada para PS Remote, lo cual no quiero hacer.
La mejor solución que he encontrado es utilizar
$foo = Start-Job -Credential $cred -ScriptBlock { [IO.Directory]::GetFiles($networkShare) }
$out = Receive-Job $foo
Eso funciona, pero es tan feo... ¿Alguien puede ayudarme a encontrar una solución mejor?