WinFuture-Forum.de: PowerShell Scipt - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

PowerShell Scipt

#16 Mitglied ist offline   GeneralAnzeiger 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 22. April 14
  • Reputation: 0

geschrieben 23. Oktober 2014 - 17:56

Weitere Schritte gehen mich praktisch nichts an, weil ich auch keine weiteren Kenntnisse bis jetzt besitze, in diesem Bereich zumindest. Ich soll nur die Rechner anpingen und gucken welche antworten, diese sollen markiert sein bzw. die nicht antworten. Ist praktisch eine Fleißarbeit mit dieser Methode, kam durch meine Erfahrung mit Batch auf PowerShell, sonst müsste ich das händisch vornehmen :imao:

Danke für eure fleißigen Beiträge und Ideen, vorallem ein Danke an RalphS für die "Dummkopf-Anleitung"!

Dieser Beitrag wurde von GeneralAnzeiger bearbeitet: 23. Oktober 2014 - 19:06

0

Anzeige



#17 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 23. Oktober 2014 - 19:58

So sollte das im Kern funktionieren:


# Lege ein Objekt $csv an  und stecke dort DNSName/IPAdresse/was-auch-immer rein UND definiere ZUSÄTZLICHE Spalte für eine Markierung (hier: Spalte c).
# Fürs Endergebnis sind sicherlich aussagekräftigere Spaltennamen sinnvoller, sonst weiß dann keiner mehr, was a, b und c überhaupt sein sollten.

# Test-Connection benötigt in jedem Fall den -ComputerName Parameter; das kann NetBIOS-Name, DNS-Name oder IP-Adresse sein, je nachdem was verfügbar ist.

 $csv = Import-Csv -Path .\test.csv -Header a,b,c |
    ForEach-Object {

# Gehe die Liste der Einträge der CSV durch, pinge sie an und notiere bei Erfolg die Ziel-IP in der Markierungs-Spalte (kann aber natürlich auch irgendwas anderes notiert werden)
# -ErrorAction SilentlyContinue unterdrückt die zwangsläufig auftretenden Fehlermeldungen für nicht erreichbare Hosts

        $n = (Test-Connection -Count 1 -ComputerName $_.a -ErrorAction SilentlyContinue).IPV4Address.IPAddressToString;
        $_.c=$n;
# Write-Output an dieser Stelle ist notwendig; das gibt uns den "Rückgabewert" des Foreach-Object Blocks
        Write-Output $_;
};


# Am Ende muß nur noch eine neue CSV-Datei erstellt werden - die MIT der Markierung. Das kann auch die alte überschreiben, sollte man aber natürlich nicht machen.

# ACHTUNG: überschrieben wird standardmäßg OHNE Rückfrage!

Write-Output $csv | Export-Csv -Path .\ergebnis.csv -NoTypeInformation:$true;




Das geht natürlich noch zu verkürzen - Write-Output ist beispielsweise implizit verwendbar - für Dich ist glaub ich Powershell's "Lesebarkeits-Option" die bessere Wahl. :)

Dieser Beitrag wurde von RalphS bearbeitet: 23. Oktober 2014 - 20:00

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#18 Mitglied ist offline   GeneralAnzeiger 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 22. April 14
  • Reputation: 0

geschrieben 24. Oktober 2014 - 15:43

Vielen Dank für die detailreiche Anleitung, damit habe selbst ich es hinbekommen :rolleyes:
Mein Chef war total begeistert von dem Lösungsansatz, ich hab ihm zwar klar gemacht, dass ich keine Ahnung von PowerShell habe und nur mit Hilfe auf die Lösung gekommen bin. Nichts desto trotz meinte er, dass es genial war auf so einen kreativen und unerfahrenen Weg die Liste abzuarbeiten. Vielen Dank an alle!!! Unglaublich, hätte nicht gedacht, dass ich das doch noch schaffe! Das ich die Initiative ergreift habe und im Netz nach Hilfe gesucht habe fand er auch großartig, da habe ich ihm mal gleich das Forum vorgestellt. Er findet dieses Forum übrigens wirklich klasse :imao:

Dieser Beitrag wurde von GeneralAnzeiger bearbeitet: 24. Oktober 2014 - 15:44

0

#19 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 24. Oktober 2014 - 16:00

:lol:

Schön, wenn es geklappt hat, und danke für die Rückmeldung. :)
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0