5 votos

¿Cómo acceder a recursos compartidos de red desde un proceso elevado en Windows 7?

Con UAC establece en el valor Predeterminado de nivel, no es posible en Windows 7 para acceder a carpetas de red asignada desde un símbolo del sistema administrativo o de cualquier otra elevados proceso.

Esto conduce a errores no deseados, por ejemplo, al intentar importar un *.archivo reg que se encuentra en un recurso compartido de red. Haga doble clic en los resultados en el siguiente y bastante confuso mensaje de error después de aceptar el mensaje de UAC:

No se puede importar M:\sharename\settings.reg: Error al abrir el archivo. Puede ser un disco o un error del sistema de archivos.

Es posible tener recursos compartidos de red asignada también disponibles cuando se ejecuta con la elevación? O es que hay una solución a ese comportamiento?

Actualización: yo sé que se trabaja para abrir un símbolo del sistema administrativo y de montaje de las unidades mediante el uso de net use. Esto hace que la cuota disponible para todos los procesos elevados; sin embargo, hacerlo no es permanente y debe ser repetida después de cada sesión.

3voto

Christopher Scott Puntos 665

En resumen, no. No hay ninguna forma compatible para copiar la configuración actual de la asignada o autenticada de los recursos de la red desde un no-elevada contexto a su elevado contexto. Para todos los intentos y propósitos, inicios de sesión por separado que usted acaba de pasar a ser capaces de interactuar desde la misma consola. Ser capaces de comunicarse entre elevado y no elevados procesos tipo de ruptura de la seguridad todo propósito de mantenerlos separados.

Sin embargo, si estas unidades de red se monta utilizando las credenciales de su cuenta de usuario (y no en un nombre de usuario/contraseña), usted podría intentar acceder a ellos con la ruta de acceso UNC en lugar de una unidad de asignación.

2voto

Marksu Teoren Puntos 33

Junté un VBScript simple que se asigna a las unidades que se asignan en la presente sesión otra vez para la sesión de administrador elevados. Después de ejecutar el script de las unidades asignadas están disponibles para todos los procesos elevados. Esto funciona si el usuario actual ya es un administrador local:

Option Explicit
Dim objNetwork, objShell
Dim strDriveLetter, strNetworkPath
Dim colDrives, intDrive, strDrives


If WScript.Arguments.length =0 Then
    Set objNetwork = CreateObject("WScript.Network")
    Set colDrives = objNetwork.EnumNetworkDrives

    For intDrive = 0 To (colDrives.Count -1) Step 2
        WScript.Echo colDrives.Item(intDrive) & " is mapped to: " & colDrives.Item(intDrive + 1)
        If Len(strDrives) > 0 Then strDrives = strDrives & " "
        strDrives = strDrives & " " & Chr(34) & colDrives.Item(intDrive) & Chr(34) &  " " & Chr(34) & colDrives.Item(intDrive + 1) & Chr(34) 
    Next

  If Len(strDrives) > 0 Then
      ' re-call script with elevation
      Set objShell = CreateObject("Shell.Application")
      objShell.ShellExecute "cscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & strDrives, "", "runas", 1
    Else
        WScript.Echo "No drives Mapped."
    End If

Else
  ' elevated part
  Set objNetwork = CreateObject("WScript.Network")

  For intDrive = 0 To (WScript.Arguments.Count - 1) Step 2
        WScript.Echo WScript.Arguments(intDrive) & " is mapped to: " & WScript.Arguments(intDrive + 1)
        On Error Resume Next ' ignore already mapped drives
        objNetwork.MapNetworkDrive WScript.Arguments(intDrive), WScript.Arguments(intDrive + 1)
        On Error GoTo 0
    Next

End If

1voto

fuujuhi Puntos 11

El registro de '' EnableLinkedConnections'' no ajuste nunca funcionó para mí en Windows 7 (pc corporativa). Probé de varias formas sin resultado alguno.

Trató de la secuencia de comandos de 0xA3 y funciona impecable. Gracias por eso.

Para ejecutarlo automáticamente, escriba la secuencia de comandos en un archivo (como remontaje-admin.vbs) y guardar ese archivo en C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: