La línea de comandos elevada no puede acceder a unidades compartidas

62
  1. Mapeo un recurso compartido de otra máquina usando mi cuenta de usuario.
  2. Lanzo un símbolo del sistema elevado (cmd.exe, clic derecho, Ejecutar como administrador).
  3. Navegar a la unidad compartida (Z :) da como resultado:

The system cannot find the drive specified

Ahora, si abro un símbolo del sistema no elevado, puedo navegar a Z: muy bien.

mindless.panda
fuente
También vea superuser.com/questions/690287/...
jamesdlin

Respuestas:

47

Abrir un Explorador de Windows como administrador y recrear los recursos compartidos de la red no funcionó para mí. Entonces, encontré esta solución: crear el recurso compartido en el símbolo del sistema en sí. A mi me funciono.

net use f: \\remoteserver\subfolder      

Incluso si la unidad ya está asignada en el explorador de Windows, aún funciona.

Nota: utilice solo una barra diagonal inversa antes de la subcarpeta

msb
fuente
25

Probablemente eso no sea un problema de permisos de archivos, pero está relacionado con:

  • Los recursos compartidos de red se asocian con sesiones (es decir, diferentes usuarios pueden tener un conjunto diferente de recursos compartidos de red). Tenga en cuenta que un usuario puede tener más de una sesión.
  • Cómo funciona el Control de cuentas de usuario.

Dado que casi todos los usuarios utilizaron una cuenta de administrador en XP (ya que la mayoría de los programadores no se molestaron en hacer que sus programas funcionaran con cuentas limitadas), Microsoft creó una "versión limitada" de las cuentas de administrador comenzando con Vista, y en algunas situaciones las dos "versiones "cuenta como usuarios diferentes (ya que son sesiones separadas).

Intente iniciar un Explorador de Windows elevado (es decir, un Explorador de Windows lanzado con "Ejecutar como administrador") y vuelva a crear todos los recursos compartidos de red, eso debería ser el truco.

La razón para tener que volver a crear los recursos compartidos se explica en esta entrada de blog de MSDN:

Unidades de red mapeadas con UAC en Windows Vista

Editar: partes relevantes de la entrada del blog (énfasis mío):

Para simplificar las cosas, supongamos que se está ejecutando como administrador con UAC habilitado (aunque, para ser más seguro, es mejor ejecutarse como un usuario estándar). Cuando inicia sesión, crea un nuevo token. Luego detectamos que tiene UAC habilitado, iniciamos sesión por segunda vez y terminamos con un nuevo token (altamente restringido), que usamos para iniciar el shell. Hay dos eventos de inicio de sesión separados .
(...)
Esta característica conveniente hace que sea más fácil encontrarse con problemas con las unidades de red asignadas. Antes de Windows 2000 SP2, los nombres de los dispositivos permanecían visibles globalmente hasta que se eliminaban explícitamente o se reiniciaba el sistema. Por razones de seguridad , modificamos este comportamiento comenzando con Windows 2000 SP2. Desde este punto en adelante,Todos los dispositivos están asociados con un ID de autenticación (LUID): un ID generado para cada sesión de inicio de sesión .
(...)
Debido a que estas unidades asignadas están asociadas con LUID, y debido a que las aplicaciones elevadas utilizan un LUID diferente generado durante un evento de inicio de sesión separado, la aplicación elevada ya no verá ninguna unidad asignada para este usuario.

Alberto Martinez
fuente
44
Utilicé un Explorador de Windows elevado, y el símbolo del sistema elevado todavía no puede encontrar la unidad asignada.
icelava
1
Tengo entendido que en Windows 7 cuando "Ejecuto como administrador", en realidad no se ejecuta como la cuenta con el nombre "Administrador" (Windows XP-ish), sino como mi cuenta, pero con un conjunto de bits de superusuario. No entiendo entonces por qué hay alguna diferencia entre los dos escenarios que describí.
mindless.panda
1
Hay una diferencia porque las dos "versiones" de cualquier cuenta de administrador para algunos aspectos funcionan como una cuenta diferente, incluso si realmente son la misma cuenta con diferentes permisos (eso se explica en el blog que vinculé).
Alberto Martinez
1
@ mindless.panda: Tienes toda la razón. La opción "Ejecutar como administrador" se refiere por completo a la configuración de administrador relacionada con UAC. Simplemente no tiene nada que ver con el grupo de Administradores. Si deshabilita UAC (que puede requerir un reinicio para que surta efecto por completo), es posible que la opción "Ejecutar como administrador" ni siquiera exista mientras UAC esté deshabilitado. Tenga en cuenta que un símbolo del sistema de administrador aún puede usar las unidades compartidas como UNC, por ejemplo, \\ servername \ dirname: son solo las letras de unidad que se pierden solo porque así es como Microsoft lo diseñó. Vuelva a hacerlos, y todo está bien en ese momento.
TOOGAM
Soy administrador, no puedo iniciar una ventana de explorador elevada (Win 8)
user15507
7

La respuesta de Alberto Martínez describe por qué la unidad de red asignada no es accesible.

Aquí hay una corrección de registro para resolver el problema:

  • Abra regedit y vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • Agregue un nuevo valor DWORD (32 bits) denominado EnableLinkedConnections .
  • Ajuste el valor a 1 (o 00000001).

Salga de regedit y reinicie la computadora.

usuario1251007
fuente
1
Esta es definitivamente la mejor solución para este problema.
alecov
1
No funciona en Win10
Christian Schäfer
o Windows Server 2016
RM
1

Mapeo un recurso compartido de otra máquina usando mi cuenta de usuario.

esa unidad de red está disponible SOLO en la cuenta de usuario asignada a la unidad de red.

deshecho
fuente
0

Inicie cmd como administrador, escriba el comando net use z: \\net\path /persistent:yesy listo. Otra cosa que hice, y esto se extiende más allá de la pregunta del operador, fue después de fijar el cmd a la barra de tareas y en propiedades-> Configuración avanzada para que se ejecute como administrador, agregué / K z: al final del 'objetivo' cuadro de texto, por lo que se convirtió en: %windir%\system32\cmd.exe /K z:. Porque establecer el parámetro "Iniciar en" no parecía funcionar. Esto dio como resultado un icono en mi barra de tareas que inicia una ventana de cmd como administrador y con el mensaje en la unidad asignada. ¡Y no olvide volver a las propiedades y personalizar la fuente, los colores, el tamaño y la posición de la ventana, así como el tamaño del búfer de retroceso de texto y el tamaño del búfer del historial de comandos!

Martin Hjerne
fuente
-2

Verifique su ruta de red y desconecte la unidad asignada (Z :) Ejecute CMD como administrador, una vez allí, use el comando "net use" para asignar la unidad nuevamente. net use Z: \ SharePath y luego intente acceder de nuevo.

AlexR
fuente