Problema

Problema

Problema

Tengo Windows XP SP3 aquí en VMWare, una instalación bastante nueva, con solo un montón de aplicaciones (navegadores, Office) instaladas.

Cuando yo:

  1. Inicie sesión como administrador local
  2. Usando la GUI de Explorer, conecto un servidor remoto como X:
  3. Inicie el "Símbolo del sistema" a través del enlace del menú Inicio:
    a) iniciando el enlace manualmente
    b) haciendo clic derecho en el enlace, eligiendo "Ejecutar como..." y completando las credenciales del mismo usuario

el primer caso funciona bien, pero en el segundo cmd.exeno se puede acceder X::

C:\Documents and Settings\Administrator>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Unavailable  X:        \\server\share\folder      Microsoft Windows Network
The command completed successfully.

C:\Documents and Settings\Administrator>x:
The system cannot find the drive specified.

C:\Documents and Settings\Administrator>dir x:\
The system cannot find the path specified.

C:\Documents and Settings\Administrator>

Preanálisis

He comparado varias propiedades que pude encontrar sobre los procesos (no estoy seguro de que todas sean relevantes): entorno, identificadores abiertos, archivos DLL abiertos, pestaña "Seguridad" en Process Explorer y todas son iguales.

Una cosa que encontré es que al observar el intento con Process Monitor, el siguiente realiza cuatro pasos más:

"Time of Day","Process Name","PID","Operation","Path","Result","Detail"
"10:55:33.4784227 AM","cmd.exe","2792","RegOpenKey","HKCU","SUCCESS","Desired Access: Maximum Allowed"
"10:55:33.4785212 AM","cmd.exe","2792","RegOpenKey","HKCU\Software\Policies\Microsoft\Control Panel\Desktop","NAME NOT FOUND","Desired Access: Read"
"10:55:33.4785569 AM","cmd.exe","2792","RegOpenKey","HKCU\Control Panel\Desktop","SUCCESS","Desired Access: Read"
"10:55:33.4786210 AM","cmd.exe","2792","RegQueryValue","HKCU\Control Panel\Desktop\MultiUILanguageId","NAME NOT FOUND","Length: 256"
"10:55:33.4786650 AM","cmd.exe","2792","RegCloseKey","HKCU\Control Panel\Desktop","SUCCESS",""
"10:55:33.4787131 AM","cmd.exe","2792","RegCloseKey","HKCU","SUCCESS",""
"10:55:33.4912359 AM","cmd.exe","2792","CreateFile","X:","SUCCESS","Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened"
"10:55:33.4924104 AM","cmd.exe","2792","QueryNameInformationFile","X:","SUCCESS","Name: \server\share\folder"
"10:55:33.4924860 AM","cmd.exe","2792","QueryInformationVolume","X:","SUCCESS","VolumeCreationTime: 9/6/2005 2:05:04 PM, VolumeSerialNumber: 109F-0912, SupportsObjects: True, VolumeLabel: DATA"
"10:55:33.4932539 AM","cmd.exe","2792","CloseFile","X:","SUCCESS",""
"10:55:33.4937810 AM","cmd.exe","2792","RegOpenKey","HKCU","SUCCESS","Desired Access: Maximum Allowed"
"10:55:33.4939097 AM","cmd.exe","2792","RegOpenKey","HKCU\Software\Policies\Microsoft\Control Panel\Desktop","NAME NOT FOUND","Desired Access: Read"
"10:55:33.4939451 AM","cmd.exe","2792","RegOpenKey","HKCU\Control Panel\Desktop","SUCCESS","Desired Access: Read"
"10:55:33.4940098 AM","cmd.exe","2792","RegQueryValue","HKCU\Control Panel\Desktop\MultiUILanguageId","NAME NOT FOUND","Length: 256"
"10:55:33.4940548 AM","cmd.exe","2792","RegCloseKey","HKCU\Control Panel\Desktop","SUCCESS",""
"10:55:33.4941023 AM","cmd.exe","2792","RegCloseKey","HKCU","SUCCESS",""

Los pasos CreateFile, Query* y CloseFile faltan en el registro del que falla.

Pregunta

¿Qué puede causar tal discrepancia? ¿Es esto un error?

Respuesta1

A partir de Windows XP, cadaSesión de inicio de sesión de LSA(no relacionadoa sesiones de Terminal Services) tienesu propio conjuntode asignaciones de letras de unidad. Si utilizaCorrer como...– ya sea que la cuenta sea igual o diferente – la función aún crea una sesión de inicio de sesión separada con las credenciales proporcionadas.

A partir de Windows 8 o Server 2012 (aproximadamente), puede habilitar el EnableLinkedConnectionsvalor de registro en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systempara permitir que las aplicaciones elevadas de UAC compartan las asignaciones de unidades habituales.

Más:

Respuesta2

Debido a que las unidades asignadas están en un formato !POR USUARIO! En base a esto, el otro usuario (con el que ejecuta RUN AS) no puede verlo.

Para ganar, primero debe intentar mapear una unidad en un lote que se ejecuta como usuario.

información relacionada