題 如何獲取映射到我的系統的所有網絡驅動器的列表?


我在本地系統帳戶下映射了一個網絡驅動器,我的意思是我使用本地系統帳戶登錄我的機器。現在我使用其他一些有效的用戶帳戶註銷並再次登錄到該計算機,但我在我的計算機資源管理器中找不到該映射的驅動器,但我可以在我的應用程序中使用該映射的驅動器。這是正常的嗎?

有沒有辦法在我的系統上查看所有映射的網絡驅動器?

我在Windows XP機器上。


3
2018-02-22 07:51


起源


怎麼樣  - 更重要的是, 為什麼  - 你登錄過嗎? Local System? - grawity


答案:


是的,這很正常。分配給它們的網絡連接和驅動器號是會話本地的。通常它們會在註銷時消失(當會話本身被銷毀時),並在您再次登錄時由Winlogon重新創建。

Local System 但是,它變得令人困惑。

以。身份登錄 Local System 再次(psexec -desi cmd 可能有用),然後運行 net use 列出所有連接或 net use * /delete 斷開他們。


3
2018-02-22 14:09





> net use

是你需要的。看到 這個 了解更多信息。


3
2018-02-22 08:10



啊,我已經完成了,但找不到我能夠使用的映射驅動器... - AMIT
net view 列出服務器上的可用共享,而不是活動連接。 - grawity
@grawity:當然,你是對的...我的意思是網 使用 命令(我更新了我的答案) - fretje


我使用PowerShell作為腳本的一部分從遠程計算機獲取映射驅動器,以將其設置移動到人員的新計算機上:(將$ OldComputer設置為舊計算機的名稱或IP)它通過所有驅動器的列表遠程系統,如果它們不是本地驅動器,它將嘗試刪除當前計算機上的驅動器映射(如果它被其他東西使用)然後重新映射它。註釋掉倒數第二行(上面的那行),如果需要,可以將自己的行添加到log或msgbox中。)

$netObj = New-Object -com wscript.Network
$WMI1 = [WMISearcher] "Select Name, Providername from win32_mappedLogicalDisk"
$WMI1.Scope.path="\\" + $oldComputer + "\root\cimv2"
$WMI1.Options.ReturnImmediately
$ColDrives = $WMI1.Get()

foreach ($objDrive in $colDrives) {
      $TestLocal = get-wmiObject Win32_LogicalDisk | ? {$_.DeviceID -eq $objDrive.Name} | % {$_.Providername}
      If ($TestLocal) {
        Net Use /Delete $objDrive.Name >> $LogFile
      }#If
      #Map the drive
      Net use $objDrive.Name $objDrive.ProviderName  >> $LogFile
}#foreach 

0
2018-02-22 14:18