Я пишу небольшой сценарий PowerShell для некоторых основных журналов, которые необходимо создать. Прямо сейчас я застрял с логированием подключенных сетевых дисков:
$colDrives = Get-WmiObject Win32_MappedLogicalDisk -ComputerName localhost
foreach ($objDrive in $colDrives) {
$array += $objDrive.DeviceID + $objDrive.ProviderName
}
Этот код отлично работает с подключенными сетевыми дисками. Но меня больше интересуют подключенные диски, которые не работают. Чистое использование в командной строке показывает мне столбец статуса, я бы тоже хотел, чтобы это было похоже
Z: \ server \ path должен быть Z: \ server \ path (ok | dead)
С уважением, Алессандро
Пытаться Test-Path -LiteralPath $objDrive.DeviceID
или Test-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)}
}
}