在 powershell 中列出映射的僵尸驱动器

在 powershell 中列出映射的僵尸驱动器

我正在编写一个小型 powershell 脚本来生成一些必须生成的基本日志。目前,我被困在记录映射的网络驱动器上:

$colDrives = Get-WmiObject Win32_MappedLogicalDisk -ComputerName localhost
foreach ($objDrive in $colDrives) {
    $array += $objDrive.DeviceID + $objDrive.ProviderName
}

此代码适用于已连接的已安装网络驱动器。但我对无法正常工作的映射驱动器更感兴趣。cmd 提示符上的 net use 会显示一个状态列,我也希望以类似的方式实现这一点

Z:\server\path 应为 Z:\server\path (ok|dead)

问候,亚历山德罗

答案1

尝试Test-Path -LiteralPath $objDrive.DeviceIDTest-Path -LiteralPath $objDrive.ProviderName

具有计算属性的示例Select-Object

$colDrives = Get-WmiObject Win32_MappedLogicalDisk -ComputerName localhost
foreach ($objDrive in $colDrives) {
    $array += $objDrive |
        Select-Object DeviceID, ProviderName, @{
            Name = 'Online'
            Expression = {[bool](Test-Path -LiteralPath $objDrive.DeviceID)}
        }
}

相关内容