Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

在使用 powershell 時,了解如何刪除已掛載的網路磁碟機是非常重要的。這對於清理不再需要的資源以及確保系統資源的有效利用至關重要。本文將詳細介紹不同取得網路磁碟機的方法,並提供每種方法的步驟和示例。
取得所有掛載的磁碟機代號
PS Z:\> Get-PSDrive -PSProvider FileSystem
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
C 211.08 23.35 FileSystem C:\
D 99.47 141.74 FileSystem D:\
E FileSystem E:\
O 60.55 89.34 FileSystem \\172.16.1.22\ErpOrder
P 1.73 198.25 FileSystem \\kp-fs\printerScan
Q 4415.37 2752.61 FileSystem \\KP-FS1\DepartData
R 4326.77 793.21 FileSystem \\KP-FS1\DepartData2
S 1553.44 494.55 FileSystem \\KP-FS1\ShareData
T 1553.44 494.55 FileSystem \\KP-FS1\TempData
Z 1553.44 494.55 FileSystem \\kp-fs1\UserData\MIS\kp62 篩選出網路磁碟
Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Root -like '\\*' }說明:
-PSProvider FileSystem)Where-Object 過濾出 Root 屬性以 \\ 開頭的項目 (-like '\\*')如果你只需要顯示磁碟機代號,可以再加上 Select-Object:
Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Root -like '\\*' } | Select-Object -Property Name或者簡單地只顯示名稱:
(Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Root -like '\\*' }).Name如果 Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Root -like '\\*' } 返回空值,可能是因為:
Root 開頭是 \\ 的磁碟)。Root 格式可能不是 \\ 開頭(例如,可能是 \\server\share 或已映射為其他形式)。PSProvider 過濾不完全(某些網路磁碟可能不屬於 FileSystem Provider)。如果發現 Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Root -like '\\*' } 返回空值,這可能意味著沒有掛載網路磁碟。這種情況下,建議檢查網路連接是否正常,並確保相應的服務器正常運行。
方法 1:檢查所有可能的網路磁碟(包括非 FileSystem)
Get-PSDrive | Where-Object { $_.DisplayRoot -like '\\*' -or $_.Root -like '\\*' } | Select-Object Name, Root, DisplayRootDisplayRoot 有時會儲存完整的 UNC 路徑(如 \\server\share)。Root 可能只顯示磁碟代號(如 Z:\),但 DisplayRoot 會顯示來源路徑方法 2:使用 net use 檢查網路磁碟(傳統方法)
net use或
Get-WmiObject Win32_MappedLogicalDisk | Select-Object DeviceID, ProviderName方法 3:檢查 FileSystem Provider 的磁碟,並確認 Root 或 DisplayRoot 是否包含 \\
Get-PSDrive -PSProvider FileSystem | Where-Object { $_.DisplayRoot -like '\\*' -or $_.Root -like '\\*' } | Select-Object Name, Root, DisplayRootGet-WmiObject Win32_MappedLogicalDisk | Select-Object DeviceID, ProviderNamePS Z:\> Get-WmiObject Win32_MappedLogicalDisk | Select-Object DeviceID, ProviderName | ForEach-Object {
net use $_.DeviceID /delete /y
}
O: 已經刪除。
P: 已經刪除。
在與 Q: 的連線中,正在搜尋開啟檔案或不完整的目錄,不過一直沒有結果,持續擱置中。
Q: 已經刪除。
R: 已經刪除。
在與 S: 的連線中,正在搜尋開啟檔案或不完整的目錄,不過一直沒有結果,持續擱置中。
S: 已經刪除。
T: 已經刪除。
在與 Z: 的連線中,正在搜尋開啟檔案或不完整的目錄,不過一直沒有結果,持續擱置中。
Z: 已經刪除。刪除網路磁碟機通常會涉及到一些常見的問題。例如,如果某個磁碟機正在被使用,則無法直接刪除。在這種情況下,使用 powershell 進行進一步操作可能會有助於解決問題。可以使用 Get-Process 命令查看哪些進程正在使用該磁碟機,然後決定如何處理這些進程。
除了使用 powershell 來刪除網路磁碟外,還可以考慮使用圖形界面來進行操作。對於不熟悉命令行的用戶來說,這可能是一個更方便的選擇。在Windows檔案總管中,右鍵單擊網路磁碟,然後選擇「斷開連線」即可。