使用Powershell在我们的域中构建计算机型号列表?

时间:2016-09-07 15:53:17

标签: powershell

正如标题所述,我正在尝试确定我们域中使用的每个计算机模型。我是该公司的新手,并负责为所有终端设备生产新的加密解决方案。通过了解我们域中的计算机模型,我将能够确定哪些机器具有TPM 1.2芯片,哪些机器没有(几乎15k设备)。我不需要任何看起来很漂亮的东西,但我很开心。我或多或少想要一个列表(文本或csv用于排序),所以我可以量化模型和研究。

这是我到目前为止所拥有的:

Get-ADComputer -Filter {Name -like 'ML*'} | select -expand name | 
ForEach {
    If (Test-Connection $_ -count 1 -quiet)
    {Get-WmiObject -Class Win32_ComputerSystem -ComputerName $_} Select-Object -Property model | Export-Csv "c:\scripts\Models.csv"}
    Else { Add-Content -value $_ c:\scripts\not.responding.txt}

我知道这有问题。现在我无法查询AD并仅传递计算机名称变量。因此,ping测试失败,并且所有内容都导出到失败的文本文件。失败的文本文件表明该变量包含的不仅仅是计算机名称。如果我可以正确地提取变量,我不确定其余的是否可行,但我认为应该。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

$ComputerNames = Get-ADComputer -Filter {Name -like 'ML*'} | select -expand name
foreach ($computername in $ComputerNames){
 If (Test-Connection $computername -count 1 -quiet){
 Get-WmiObject -Class Win32_ComputerSystem -ComputerName $computername | Select-Object -Property model | Export-Csv "c:\scripts\Models.csv"
 }
 else{
    Add-Content -value $computername c:\scripts\not.responding.txt
 }
 }
你去吧。