【发布时间】:2021-12-21 15:31:45
【问题描述】:
我正在尝试从我的 AD 中列出的所有计算机收集不同的属性,但我无法获取重新收集查询的格式
我运行 get-adcomputer 查询
$computerList = Get-ADComputer -Filter 'Name -like "SCPW*" -and ObjectClass -eq "Computer"' | Select-Object -Property Name,objectClass`
我从 $computerlist 中列出的所有计算机收集信息
$list = foreach ($computer in $computerList) {Get-WmiObject -Class Win32_Product | Select-Object -Property Name }
$WFeature = foreach ($computer in $computerList) {Get-windowsfeature | Where {$_.installed -Eq $true} | Select-Object -Property Name}
$Wrole = foreach ($computer in $computerList) {Get-WmiObject -Class Win32_ServerFeature -Property * | select pscomputername,name }
最后,我尝试将收集到的所有信息列在一个独特的表格中
%{[PSCustomObject]@{
'ComputerName' = $computer.Name
'features' = $WFeature.name
'Role' = $Wrole.name
'list' = $list.name
} } | Format-table
但是列出的表格只有一行
ComputerName features Role list
------------ -------- ---- ----
SCPWEXC0101 {File-Services, FS-FileServer, Remote-Desktop-Services, RDS-RD-Server...} {Web Server (IIS), File Services, Print and Document Services, Remote Desktop Services...} {Microsoft Ap...
the table listed only in one line (screenshot)
如果有人给我一些帮助,我真的会非常感激,我正在学习 PS,我真的很迷茫这个查询。我一直在运行 Ps 5.1
谢谢!!
【问题讨论】:
-
你肯定不想使用
Select-Object -Property Name,否则你将失去$list、$WFeature和$Wrole之间的相关性。
标签: powershell active-directory get-wmiobject