Проблема

Проблема

Проблема

У меня Windows XP SP3 в VMWare, довольно свежая установка, с несколькими установленными приложениями (браузеры, Office).

Когда я:

  1. Войти как локальный администратор
  2. Используя графический интерфейс Explorer, я подключаюсь к удаленному серверу как X:
  3. Запустите «Командную строку» через ссылку в меню «Пуск» одним из следующих способов:
    а) запустив ссылку вручную;
    б) щелкнув ссылку правой кнопкой мыши, выбрав «Запуск от имени...» и введя учетные данные того же пользователя.

в первом случае все работает нормально, но во втором случае cmd.exeне удается получить доступ 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>

Предварительный анализ

Я сравнил различные свойства, которые смог найти о процессах (не уверен, что все они имеют значение): среда, открытые дескрипторы, открытые библиотеки DLL, вкладка «Безопасность» в Process Explorer, и все они одинаковы.

Я обнаружил, что при просмотре попытки с помощью Process Monitor следующая попытка выполняется на четыре шага больше:

"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",""

В журнале неудачного процесса отсутствуют шаги CreateFile, Query* и CloseFile.

Вопрос

Что может быть причиной такого расхождения? Это ошибка?

решение1

Начиная с Windows XP, каждыйсеанс входа в систему LSA(не относитсяк сеансам служб терминалов) имеетсвой собственный наборназначения букв дисков. Если вы используетеБеги как...– независимо от того, является ли учетная запись той же или другой, функция все равно создает отдельный сеанс входа с указанными учетными данными.

Начиная с Windows 8 или Server 2012 (приблизительно), вы можете включить EnableLinkedConnectionsзначение реестра, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systemчтобы разрешить приложениям с повышенными правами UAC совместно использовать обычные сопоставления дисков.

Более:

решение2

Поскольку сопоставленные диски создаются на основе принципа !КАЖДОГО ПОЛЬЗОВАТЕЛЯ!, другой пользователь (от имени которого вы выполняете RUN AS) не сможет их увидеть!

Чтобы победить, вам нужно попробовать подключить диск в пакете, который сначала запускается от имени пользователя.

Связанный контент