【发布时间】:2014-05-12 12:56:48
【问题描述】:
脚本读取计算机名称的 .TXT 文件。然后它会检查 Windows 更新是否设置为自动或手动;然后将计算机名称和更新类型导出为 CSV。起初,它只是导出最终的计算机及其类型。我做了一些研究,发现创建一个对象来保存名称和类型,然后将该对象添加到数组中是可行的。但是,将数组导出到 CSV 会产生与数组相关的有趣数据,而不是与计算机名称和类型相关的数据。最重要的是,我在控制台预导出中打印出了数组,它看起来是最后一台计算机,它的类型列出了 9 次,这是我正在读取的一个 .TXT 文件中的计算机数量。我知道export-CSV 现在有一个附加参数可以解决这个问题,但我们办公室里有更多的 PS 1.0 和 2.0,需要它来处理这些版本。
clear-host
$item = new-object PSObject
$list = @()
$c=Get-Credential
$a = gc "c:\Scripts\pcList.txt"
ForEach ($b in $a)
{
$pcName = Get-WmiObject win32_service -filter 'name="wuauserv"' -computer $b -credential $c -ErrorAction SilentlyContinue |
select-object name,
@{N="System Name";E={$_.Systemname}}
$name = $pcName.'System Name'
$item | Add-Member NoteProperty Name $name -Force
$pcType = Get-WmiObject win32_service -filter 'name="wuauserv"' -computer $b - credential $c -ErrorAction SilentlyContinue |
select-object name, @{N="Startup Type";E={$_.StartMode}}
$type = $pcType.'Startup Type'
$item | Add-Member NoteProperty StartupType $type -Force
$list += $item
}
Write-Host $list
export-csv -Path "c:\Scripts\pcListCSV" -inputobject $list -notype
【问题讨论】:
标签: powershell