Ich lerne, neue Objekte zu erstellen und Eigenschaften von anderen Objekten zu kombinieren. In diesem Skript möchte ich herausfinden, was die PS-Version ist und auch einige andere Eigenschaften wie OS, IP usw. hinzufügen ... aber ich laufe auf 2 Probleme. Wir haben 6 Domains und ich kann nicht scheinen über jede Domain zu iterieren. Ich versuchte (Get-ADForest).Domains
und kann die Liste der Domänen sehen. Es gibt immer noch nur Objekte in der Domäne zurück, zu der meine Arbeitsstation gehört. Das zweite Problem ist die Invoke-Command
. Die Version gibt immer 5. Ich weiß, dass viele der Server zurückgegeben werden nicht über PSVersion 5.Mitglieder anderer Domänen und PS-Version können nicht abgerufen werden
function Get-PSVersion {
(Invoke-Command -Scriptblock {$PSVersionTable.PSVersion}) | Select Major
}
$servers = Get-ADComputer -Filter {(enabled -eq $true) -and (OperatingSystem -like "Windows Server* *")} -Properties * |
ForEach-Object {
$ps = Get-PSVersion
$server = $_
New-Object -TypeName PSObject -Property @{
Name = $server.Name
OS = $server.OperatingSystem
IPAddress = $server.IPv4Address
Location = $server.CanonicalName
PSVersion = $ps.Major
}
}
$servers | Select Name,Location,OS,IPAddress,PSVersion | FT -AutoSize
Vielen Dank für die Antwort, aber es funktioniert nicht für mich. Die Ausgabe lässt jetzt PSversion, Standort, Betriebssystem und IP aus. Es gibt nur den Namen der Maschine zurück. – user3413352
Ich habe die Funktion nur auf einer meiner Maschinen ausgeführt und die Versionsnummer wie erwartet zurückgegeben. Kannst du deinen aktuellen Code posten? –
Funktion Get-PSVersion ($ Server) { (Invoke-Befehl -ComputerName $ Server -Scriptblock {$ PSVersionTable.psversion.Major}) } $ arr = @ ("myDomain.local", "myDomain.local") foreach ($ domain in $ arr) { $ server = Get-ADComputer -Filter {(aktiviert -eq $ true) -und (Betriebssystem -ähnlich "Windows Server * *")} -Server $ domain -Eigenschaften * | Wählen Sie -First 5 ForEach-Object { $ ps = Holen-PSVersion $ server = $ _ Alles unten ist das gleiche wie ich ursprünglich oben gepostet. Nochmals vielen Dank – user3413352