Hallo,
ich bin noch relativ neu in Powershell und daher noch unerfahren. Momentan versuche ich eine ein System.Object welches ich in meinem Script als Ausgabe bekomme so zu bearbeiten, damit ich es weiterverarbeiten kann.
Die Ausgabe sieht so aus:
InputObject ----------- @{Domain=********; Subnetz=Subnetz} @{Domain=********; Subnetz=Subnetz} @{Domain=********; Subnetz=Subnetz}
Anstelle der Sternchen steht dann der Domainname und anstelle des Wortes Subnetz steht dann noch die dazugehörige IP.
Der Code der das hervorruft sieht folgendermaßen aus:
$sites = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest().Sites $sitesubnets = @() foreach ($site in $sites) { foreach ($subnet in $site.subnets) { $temp = New-Object PSCustomObject -Property @{ 'Subnetz' = $subnet 'Domain' = $site.Name; } $sitesubnets += $temp } } $sitesubnets = $sitesubnets | where {$_.Domain -ne "********"} $sitesubnets = $sitesubnets | where {$_.Domain -ne "********"} ForEach($site in $sitesubnets) { $site.Domain = $site.Domain.Substring(0,6) + "S01" $site.Domain = $site.Domain.ToUpper() $sitesubnets = $sitesubnets + $site } $filename = Read-Host -Prompt "Dateiname!" $servercsv = Import-Csv "$filename.csv" #Server Liste importieren $array = @() #Leeres Array anlegen ForEach($s in $servercsv) { [String]$temp1 = Test-Connection $s.Name -Count 1 | Select-Object -Property Address [String]$temp2 = Test-Connection $s.Name -Count 1 | Select-Object -Property IPV4Address $temp1 = $temp1.TrimStart("@{Address=") $temp1 = $temp1.TrimEnd("}") $temp2 = $temp2.TrimStart("@{IPV4Address=") $temp2 = $temp2.TrimEnd("}") $temp = New-Object PSCustomObject -Property @{ 'Domain' = $temp1 'IPAdresse' = $temp2 ; } $array += $temp } #Array mit Domain und Adresse füllen $equal = Compare-Object -ReferenceObject $sitesubnets -DifferenceObject $array -Property Domain -IncludeEqual | where {$_.SideIndicator -ne "<="} | Select-Object -Property Domain Compare-Object -ReferenceObject $sitesubnets -DifferenceObject $equal -IncludeEqual | Where-Object {$_.SideIndicator -ne "<="} | Select-Object -Property InputObject
Ich freue mich auch über andere funktionierende Verbesserungen.
Ich habe einige Daten durch Sternchen ersetzt.
LG
cecinit_mortem