【问题标题】:Identify unused network mapped drive识别未使用的网络映射驱动器
【发布时间】:2018-04-13 10:57:11
【问题描述】:

我正在使用 PowerShell 5.1.14409.1012 并希望使用 New-PsDrive 创建网络驱动器。

为确保我创建的映射网络驱动器未被用户使用,我使用以下代码(取自here):

$used  = Get-PSDrive | Select-Object -Expand Name | Where-Object { $_.Length -eq 1 }
$drive = 90..65 | ForEach-Object { [string][char]$_ } |
         Where-Object { $used -notcontains $_ } |
         Select-Object -First 1

如果我运行Get-PSDrive | Select-Object -Expand Name | Where-Object { $_.Length -eq 1 },则会显示以下内容:

C
D
E
P
Q
T
U
V
W
X
Y
Z

问题是,当我检查我的电脑时,有几个驱动器号当前断开连接:

如您所见,Get-PSDrive 没有拾取断开的网络驱动器(例如“S”驱动器),这在我尝试连接时产生了以下错误:

捕获断开的网络驱动器最好的方法是什么?

【问题讨论】:

标签: powershell powershell-5.0


【解决方案1】:

`Net Use' 中已经存在类似的功能:(键入星号 (*) 而不是特定的设备名称来分配下一个可用的设备名称。)

获取实际选择的驱动器名称:

$Drive = (net use * \\Server\Share)[0][6]

您也可以考虑使用Get-WMIObject 来查找正在使用的驱动器:

Get-WMIObject -query "Select * From Win32_LogicalDisk Where DriveType = 4" | Select-Object -Expand DeviceID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多