Até onde eu pesquisei, existem 2 locais onde o Windows armazena as unidades de rede (unidades de mapa, se você excluir as unidades PS).
-
Um é o WMI, como mencionado aqui, você pode obter essas informações na classe WMI Win32_MappedLogicalDisk.
-
Dois é registro, em HKEY_Current_User: \ Network Todas as chaves aqui, são cartas de rede e informações de unidade de mapa.
Um ex. em uma chave é:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Network\x]
"RemotePath"="\\Server1\ShareName"
"UserName"=dword:00000000
"ProviderName"="Microsoft Windows Network"
"ProviderType"=dword:00020000
"ConnectionType"=dword:00000001
"DeferFlags"=dword:00000004
Código do Powershell
Para obter as informações do Mapdrive: Get-ItemProperty -Path "HKCU:\Network\*"
Você não pode obter essas informações no contexto do usuário de logon. Essas informações são armazenadas em outro contexto de usuários e não são acessíveis a você. Eu não posso ir mais longe para isso aqui, como este é um grande tópico em PowerShell ou para esse assunto. Net.
Para obter essas informações do Registro e do WMI, você precisará executar o código no contexto dos usuários. Você pode obter a credencial para o usuário, pode criar um GPO, que é executado no contexto de usuários registrados ou pode usar o System Center para executar o código no contexto "Fazer logon nos usuários".
Espero que esta informação seja útil. Levou algum tempo para eu aprender e desenterrar.