Windows работает, как задумано, и ваш код в порядке. Хитрость в том, что ваша программа работает от имени администратора, но Explorer не работает с повышенными правами. Когда ваша программа сопоставляет сетевой диск, сопоставление становится доступным для процессов в одном сеансе входа в систему, а не для учетной записи пользователя. Из MSDN :
... соединения, выполненные с помощью Microsoft LAN Manager, видны только приложениям, работающим в том же сеансе входа в систему, что и приложение, которое установило соединение. (Для включения соединения в перечисление недостаточно, чтобы приложение работало в учетной записи пользователя, создавшего соединение.)
Если вы откроете другую административную командную строку, вы увидите диск, на который была сопоставлена ваша программа. Если ваша программа не была запущена с правами администратора, вы увидите ее подключенные диски в Проводнике.
Чтобы приложения без прав администратора и администратора видели один и тот же набор отображений, создайте DWORD с именем EnableLinkedConnections
set 1
внутри этого ключа ( источник ):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
После перезагрузки ваша программа с повышенными правами создаст общие ресурсы, которые могут видеть другие приложения без повышенных прав.