Ich schreibe ein Skript, um Dienste von lokalen und Remote-Maschinen zu erhalten. Ich musste den WMI-Aufruf für lokale und Remote-Computer aufteilen (Remote-Computer erfordern unterschiedliche Anmeldeinformationen). Ich möchte sie als System.Object ausgeben. Wie erstelle ich eine Funktion für die Ausgabe von system.object?Powershell: Wie erstelle ich eine Funktion für die Ausgabe von system.object?
herer der Code ich habe bisher:
$objServicecol = @()
# how do i get AddService object back
Function AddServiceObjects
{
ForEach ($Service in $Services)
{
$objService = New-Object System.Object
$objService | Add-Member -MemberType NoteProperty -Name SystemName -Value $Services.SystemName
$objService | Add-Member -MemberType NoteProperty -Name Name -Value $Services.Name
$objService | Add-Member -MemberType NoteProperty -Name StartMode -Value $Services.StartMode
$objService | Add-Member -MemberType NoteProperty -Name StartName -Value $Services.StartName
$objService | Add-Member -MemberType NoteProperty -Name Status -Value $Services.Status
#$objServiceCol += $objService
AddServiceObjects += $objService
}
}
# Executes local WMI
If ($Servers -contains "localhost")
{
$Services = Get-WMIObject Win32_Service -ComputerName "localhost" | Select-Object SystemName, Name, StartMode, StartName, Status
AddServiceObjects $Services
}
...#execute remote wmi...
Dank der Code ist viel sauberer nach dem Befolgen Ihrer Empfehlungen :-) – resolver101