Ich habe versucht, dieses Skript die externe IP-Adresse von mehreren Computern in meinem Netzwerk zu erhalten. Bis jetzt scheint das Skript die Schleife zu durchlaufen, aber den Befehl auf meiner lokalen Maschine statt auf der entfernten Maschine in der Schleife auszuführen.Powershell-Skript, um externe IP-Adresse aus einer Liste von Computern zu erhalten
Antwort
Sie müssen ein Cmdlet oder einen Parameter verwenden, um die Remoteausführung anzugeben. $computer
selbst ist nur eine Variable mit einem String-Wert.
Einige Cmdlets unterstützen einen -ComputerName $computer
Parameter, während andere wie Invoke-RestMethod
erfordern, dass Sie sie mit Invoke-Command
oder etwas ähnliches ausführen.
Ex.
$computers = get-content "c:\scripts\scriptdev\Addresses.txt"
$results = @()
foreach ($computer in $computers)
{
$results += Invoke-Command -HideComputerName -ComputerName $computer -ScriptBlock {
New-Object -TypeName psobject -Property @{
Name = Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name
ExternalIP = Invoke-RestMethod http://ipinfo.io/json | Select -ExpandProperty ip
}
}
}
$results
Vielen Dank, das hilft sehr. Weißt du, wie ich den Runspace-Bereich entfernen kann? –
'$ Ergebnisse | Select-Objekt Name, ExternalIP' –
Denken Sie daran, als Antwort zu markieren, wenn dies Ihre Frage gelöst hat, so dass die Frage als geschlossen markiert wird. –
- 1. Pausen aus einer Liste von Zeiten erhalten
- 2. Externe Dateien hinzufügen, um die Umbenennung von Bibliotheken zu erhalten?
- 3. Korrekter Weg, um Daten aus einer Access-Datenbank zu erhalten
- 4. Der effizienteste Weg, um Daten aus einer Liste von Objekten zu erhalten?
- 5. Optimaler Weg, um Paare von Objekten aus einer Liste zu erhalten C#
- 6. knockout mit requirejs und Unterstreichung, um externe Vorlagen zu erhalten
- 7. Hinzufügen von Werten zu einer Liste aus einer anderen Liste
- 8. Erhalten Sie einzigartige Kombinationen von Elementen aus einer Python-Liste
- 9. Ulme: erhalten erste Fehlermeldung aus einer Liste
- 10. ios - Einfaches Beispiel, um eine Liste von Fotoalben zu erhalten?
- 11. Cluster von Computern zu vermieten?
- 12. Schnellster Weg, um die größten X-Nummern aus einer sehr großen unsortierten Liste zu erhalten?
- 13. Python: XPath verwenden, um Daten aus einer Tabelle zu erhalten
- 14. Rekursive Berührung, um die Synchronisierung zwischen Computern zu beheben
- 15. Erhalten Sie viele Zeilen aus einer Liste von IDs
- 16. Abfrage, um Werte aus einer Liste zurückzugeben
- 17. Wie das gemeinsame Feld aus einer Liste von Objekt erhalten
- 18. alle möglichen Summen Erhalten Sie aus einer Liste von Zahlen
- 19. jQuery-Selektor, um li-Objekt aus einer bestimmten ungeordneten Liste zu erhalten
- 20. AudioObjectGetPropertyData, um eine Liste von Eingabegeräten zu erhalten
- 21. WMI-Abfrage, um eine Liste von Service Packs zu erhalten
- 22. Alle Kombinationen von Paaren aus einer Liste in Ruby erhalten
- 23. Erhalten Sie min max aus der Liste in einer Liste
- 24. Suche nach einer schnellen Methode, um eine Liste von verschiedenen Werten aus einer großen Datenbanktabelle zu erhalten
- 25. Verwenden von reagieren, um externe Änderungen aus der Datenschicht widerzuspiegeln
- 26. aus einer Liste von Beispielen
- 27. Einfügen von Werten einer Liste, um Summenwerte von Spalten zu erhalten
- 28. Eindeutige Einzelwerte aus einer Liste von Tupelpaaren?
- 29. Um Tabellendetails zu erhalten
- 30. C# Elasticsearch erhalten externe Objekte durch verschachtelte Liste Elementeigenschaft Vergleich
So unklar. Sie haben niemals versucht, irgendwelche Cmdlets per Fernzugriff auszuführen ... "$ results" und "$ outfile" werden niemals verwendet. Sie haben '$ computer' als Spaltenname für' Select-Object' eingegeben, wodurch Objekte mit eigenen Eigenschaften (nicht nur Werten) generiert würden. –
* die externe IP-Adresse von mehreren Rechnern in meinem Netzwerk * - außer Sie Sie können sicher sein, dass es einfach in Ihrem Netzwerk konfiguriert ist. Es gibt keine eindeutige externe IP-Adresse für einen Computer. Es gibt viele Gründe dafür, dass mehr als eine externe IP-Adresse vorhanden sein kann - mehrere WAN-Verbindungen, unterschiedliche Richtlinien, je nachdem, wer angemeldet ist oder welche Uhrzeit, unterschiedliches Routing für verschiedene Protokolle, mehrere IPs für verschiedene eingehende Dienste (HTTPS, SSH). – TessellatingHeckler