【发布时间】:2021-01-05 12:18:21
【问题描述】:
我正在运行一个简单的脚本来检查多个特定服务是否在一组计算机上运行。它工作正常,除了循环的每次迭代都会出现每个“行”。在这种情况下 3 次。如何编辑/添加到现有对象的属性? IE。我想为同一个对象/行添加额外的属性...
ComputerName Qualys Cloud Agent SplunkForwarder Service Cb Defense
------------ ------------------ ----------------------- ----------
dc01 Found Found Found
dc01 Found Found Found
dc01 Found Found Found
dc02 Found Found Found
dc02 Found Found Found
dc02 Found Found Found
ds01 Found Found Found
ds01 Found Found Found
ds01 Found Found Found
$ComputerName = 'dc01','ds01','dc02'
$ServiceList ='Qualys Cloud Agent',
'SplunkForwarder Service',
'Cb Defense'
$objarray = @()
$obj = @()
$ServiceArray = get-service -ComputerName $ComputerName -DisplayName $ServiceList | select-object -property MachineName,DisplayName,Name,Status
Foreach ($Computer in $ComputerName){
$obj = New-Object PSObject
$obj | Add-Member -MemberType NoteProperty -Name "ComputerName" -Value $Computer
Foreach($Service in $ServiceList){
If ((gsv -computername $computer -displayname $Service).Status -eq 'Running'){
#write-output "Found $Service on $Computer"
$obj | Add-Member -MemberType NoteProperty -Name $service -Value 'Found'
$objArray += $obj
}
else{
#write-output "Not Found"
$obj | Add-Member -MemberType NoteProperty -Name $service -Value 'Not Found'
$objArray += $obj
}
}
}
$objarray | sort computername
【问题讨论】:
标签: arrays powershell object foreach