Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

System.Object Ausgabe bearbeiten

$
0
0

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




Viewing all articles
Browse latest Browse all 2314

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>