tengo el # siguiente código CEjecutar PowerShell como administrador desde C#
using (RunspaceInvoke invoker = new RunspaceInvoke())
{
invoker.Invoke("Set-ExecutionPolicy Unrestricted");
// ...
}
que me da la excepción
El acceso a la clave de registro 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell ' es denegado.
De acuerdo con this, la solución es iniciar PowerShell como administrador.
lo general, esto se puede lograr haciendo clic derecho en PowerShell y seleccionando la opción "Ejecutar como administrador". ¿Hay alguna manera de hacer esto programáticamente?
Esto no funciona para mí en Windows Server 2012 y PowerShell 3.0. :( – Anonymous
me sorprende que el PO marcó esto como la respuesta. En la pregunta que él afirma "clic derecho en PowerShell y seleccionando 'Ejecutar como administrador'" lo que implica que las credenciales que se ejecuta bajo ya es un miembro del grupo de administradores pero están siendo detenidos por la maravillosa seguridad (tos, tos) que MS agregó llamada UAC. La solución publicada (y marcada como) no soluciona esto. Una parte de mí dice que marque esta publicación porque la respuesta no resuelve el problema. * * pregunta publicado ... – Jason
Este es un código muy antiguo del proyecto de código. 2005. no va a funcionar en Windows 2012. tendría que encontrar la manera de convertirlo a 64 bits. –