Infos von Remotecomputer auslesen

$computers = [System.Collections.ArrayList]::new()

$computers.add("servername")
$computers.add("servername")
$computers.add("servername")
$computers.add("servername")

$outputs = [System.Collections.ArrayList]::new()

foreach($computer in $computers){
if(Test-Connection -ComputerName $computer -Count 1){
if(test-wsman -ComputerName $computer){
write-host "winrm wird ausgeführt" -ForegroundColor Green
invoke-command -ComputerName $computer -ScriptBlock {
$output = new-object -typename psobject -Property @{
winrm = "wird ausgeführt"
computer = $args[0]
ip = (Get-NetIPConfiguration).ipv4address.ipaddress
os = (Get-SilComputer).osname

} # Ende von PSObject
$output
} -ArgumentList $computer, $outputs # Ende von invoke-command
}
else{
write-host "$($computer) winrm nicht gestartet" -ForegroundColor Yellow

} # ende des inneren if für WSMAN
}
else{
write-host "$($computer) nicht erreichbar" -ForegroundColor Yellow

} # end of if
} # end of foreach