Невозможно извлечь идентификатор ADComputer из WMIObject - PullRequest
0 голосов
/ 07 декабря 2018

Я супер нуб, когда дело доходит до PowerShell.Мне удалось извлечь информацию о win32_LogicalDisk WMIobject, за исключением информации об идентификаторе ADComputer.Смотрите мой код и столбцы, необходимые для заполнения.Я продолжаю получать бланк под пользователем.Есть мысли?

$exportPath = "\\Server01\users\ohyeah\Downloads\testfolder"

$computers = Get-Content "\\Server01\users\ohyeah\Downloads\testfolder\computers.txt"

$driveinfo = Get-WMIobject win32_LogicalDisk -ComputerName $computers -filter "DriveType=3" | Select-Object SystemName, DeviceID, VolumeName,
@{Name="Size_GB"; Expression={"{0:N1}" -f($_.size/1gb)}},
@{Name="FreeSpace_GB"; Expression={"{0:N1}" -f($_.freespace/1gb)}},
@{Name="%_FreeSpace_GB"; Expression={"{0:N2}%" -f(($_.freespace/$_.size)*100)}},
@{Name="User"; Expression={$(Get-ADComputer -identity $_ -Properties Description | ft -a Description)}},
@{Name="Date"; Expression={$(Get-Date -format 'g')}} 

$driveinfo | Out-GridView 
$driveinfo | Format-Table -AutoSize
$driveinfo | Export-Csv "$exportPath\test.csv" -NoTypeInformation -NoClobber -Append

SystemName DeviceID VolumeName Size_GB FreeSpace_GB% _FreeSpace_GB Дата пользователя

1 Ответ

0 голосов
/ 08 декабря 2018

У вас уже есть имя компьютера через свойство SystemName.Просто передайте это напрямую.

Вы также не можете использовать эту Format-Table в этом вычисляемом свойстве таким образом, особенно если все, что вы запрашиваете, - это свойство отдельного поля, которое является ничем иным, как полем примечания.

Наконец, если это поле описания не заполнено, оно будет пустым, также использование этого свойства Описание не является частью списка по умолчанию, вы должны запросить его, запрашивая все свойства, а затем конкретное свойство.

Запуск этого на локальном домене, присоединенном к хосту ...

# This will give you the data in the Description property
Clear-Host

$computers = $env:COMPUTERNAME

$driveinfo = Get-WMIobject win32_LogicalDisk -ComputerName $computers -filter "DriveType=3" | 
Select-Object SystemName, DeviceID, VolumeName,
@{Name="Size_GB"; Expression={"{0:N1}" -f($_.size/1gb)}},
@{Name="FreeSpace_GB"; Expression={"{0:N1}" -f($_.freespace/1gb)}},
@{Name="%_FreeSpace_GB"; Expression={"{0:N2}%" -f(($_.freespace/$_.size)*100)}},
@{Name="User"; Expression={$(Get-ADComputer -identity $_.SystemName -Properties *).Description}},
@{Name="Date"; Expression={$(Get-Date -format 'g')}} 

$driveinfo | Out-GridView


# This will give you the full DN of the computer object
Clear-Host

$computers = $env:COMPUTERNAME

$driveinfo = Get-WMIobject win32_LogicalDisk -ComputerName $computers -filter "DriveType=3" | 
Select-Object SystemName, DeviceID, VolumeName,
@{Name="Size_GB"; Expression={"{0:N1}" -f($_.size/1gb)}},
@{Name="FreeSpace_GB"; Expression={"{0:N1}" -f($_.freespace/1gb)}},
@{Name="%_FreeSpace_GB"; Expression={"{0:N2}%" -f(($_.freespace/$_.size)*100)}},
@{Name="User"; Expression={$(Get-ADComputer -identity $_.SystemName -Properties Description)}},
@{Name="Date"; Expression={$(Get-Date -format 'g')}} 

$driveinfo | Out-GridView
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...