Jump to content

Powershell 3.0 für Einsteiger - Microsoft Virtual Academy


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

 

mache derzeit den "Powershell 3.0 für Einsteiger" Kurs auf microsoftvirtualacademy.com

 

Soweit läuft alles gut, jedoch komme ich bei der folgenden Aufgabe nicht weiter:

 

A8: Rufen Sie eine Liste aller Services auf. Sortieren Sie diese Liste nach dem Status und färben Sie die Ausgabe entweder in Rot oder Grün, je nachdem, ob der Status des jeweiligen Service „stopped" oder „running" ist. Hinweis: Verwenden Sie zunächst sort-object von der vorherigen Übung. Verwenden Sie dann die Foreach Schleife, aber statt nur write-host zu nehmen, bauen Sie eine If Abfrage davor ein. Den Status eines Service bekommen Sie wie gewohnt mit $_.status, die möglichen Werte sind „stopped" oder „running". Zur Syntax: Die If Bedingung kommen in runde Klammern (), der Ausgabebefehl in {} Klammern. PowerShell überwacht die gesetzten Klammern und verlangt, dass Sie diese auch schließen. Vergessen Sie nicht die Schlussklammer } des ForEach Cmdlets! Wenn Sie am Ende in einer >> Zeile stehen, schliessen Sie diese mit 2x Return ab, um die umgebrochenen Zeilen auszuführen. Ignorieren Sie die weiteren Möglichkeiten neben „stopped" und „runnign" und verzichten Sie einfachheitshalber auf die ElseIf Abfrage.

 

Habe noch wenig Erfahrungen mit scripten/programmieren - daher auch noch nichts mit If Funktionen zu tun gehabt.

Bitte um Info was an ->

 

 

get-service | sort-object Status | if ($_.Status -eq "Running") {Write-Host 
-Foregroundcolor blue}

 

 falsch ist

bearbeitet von x1337
Link zu diesem Kommentar

Und wie würde das korrekt aussehen? Stehe gerade ziemlich auf der Leitung...

 

Bzw. was wäre zusätzlich an der oben von mir angegebenen If Funktion falsch?

Bekomme immer folgende Meldung...

 

if : Die Benennung "if" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren
Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und
wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:36
+ get-service | sort-object Status | if ($_.Status -eq "Running") {Write-Host -For ...
+                                    ~~
    + CategoryInfo          : ObjectNotFound: (if:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Link zu diesem Kommentar

Vielen Dank für deine Antwort :)

 

Was ich jedoch noch nicht verstanden habe, wie ich zu diesem Befehl:

Get-Service | ForEach-Object { if($_.Status -eq 'running'){Write-Host $_.Status $_.Name -ForegroundColor red}}

die "stopped" Services dazu gebe - dass diese zB auch in grün ausgegeben werden.

  • nochmal eine Pipeline mit den selben Commands für stopped?

Danke.

bearbeitet von x1337
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...