Nickolsen’s Techblog

April 3, 2008

Powershell-Befehle #2

Gespeichert unter: Powershell — Schlagworte: , , , — nickolsen @ 1:31

1. Ordnerinhalt angeben (Name, Length), aber keine Endungen temp oder tmp zulassen
Get-childitem * –exclude *.tmp,*.temp | select-object name, length
oder
ls* –ex *.tmp,*.temp | select n*, le*

2. Dateien nach Länge und dann nach Name sortieren
Länge: ls * | select-object name,length | sort-object length
Name: ls * | select-object name,length | sort-object name

3. Alle Eigenschaften eines Objekts mithilfe von get-member anzeigen
ls Files1.txt | get-member

4. Dateien nach Dateiendung gruppieren und nach Anzahl sortieren
ls * | group-object extension | sort-object count

5. Gesamtgröße aller .tmp-Dateien auslesen und ausgeben
(ls *.tmp |measure-object length -sum).sum

6. Alle *.tmp-Dateien löschen
remove-item *.tmp

7. Alle Dateien löschen, die größer als 2MB sind
ls * | foreach-object { if($_.length -gt 2MB) { remove-item $_.fullname } }

8. Neue Ordner für die vorhandenen Dateiendungen anlegen
ls * | select-object extension | sort-object extension -unique | foreach-object { new-item(".\"+$_.extension) -type directory }

9. Dateien in Ordner aus Aufgabe 8 verschieben
ls * | where-object { $_.mode -notmatch "d" } | foreach-object { $var = ".\"+$_.extension; move-item $_.fullname $var }

10. Ordnerinhalt inkl. Inhalt der Unterordner in Datei speichern
ls -recurse > FinalOutput.txt

11. Bei allen Word-Dokumenten wird die Eigenschaft Readonly zurückgesetzt
ls *.doc | foreach-object {$_.Isreadonly = 0}

April 2, 2008

Powershell-Befehle #1

Gespeichert unter: Powershell — Schlagworte: , , , — nickolsen @ 12:15

1. Liste aller Prozesse absteigend nach CPU-Zeit sortieren:
Get-Process | Sort-Object CPU -descending

2. Top-10 der Prozesse mit der höchsten CPU-Zeit
Get-Process | Sort-Object CPU -descending | Select-Object -First 10

3. Aufgabe 2 in der Variable $P speichern
$P = Get-Process | Sort-Object CPU -descending | Select-Object -First 10

4. Ausgabe von $P in ein txt-File, ein csv-file und ein xml-File umleiten
$P > A4.txt
$P | Export-Csv A4.CSV
$P | Export-Clixml A4.xml

5. Dienste nach Status sortieren
get-service | sort-object status

6. Aufgabe 5 aber nur die Spalten Name und Status ausgeben
get-service | foreach-object { write-host $_.Name $_.Status }

7. Aufgabe 6 aber schwarze Schrift auf weißem Grund
get-service | foreach-object { write-host $_.Name $_.Status -foregroundcolor black -backgroundcolor white }

8. Aufgabe 7 aber sortiert nach Status und gestoppte Dienste sind Rot, laufende Grün
get-service | sort-object status | foreach-object { if($_.Status -eq "Stopped") { write-host $_.Name $_.Status -foregroundcolor red } else { write-host $_.Name $_.Status -foregroundcolor green } }

9. Ausgabe der Dienste in HTML formatieren
get-service | convertto-html

10. Ausgabe der Dienste in HTML-Datei umleiten
get-service | convertto-html > test.html

11. Ausgabe der Dienste (Name, Status) nach Name sortiert in HTML-Datei umleiten
get-service | sort-object name | convertto-html -property name,status > test.html

12. Aufgabe 11 aber laufende Dienste grün und gestoppte Dienste rot inkl. Tabellenrahmen
get-service | convertto-html -property name,status | foreach { if ($_ -like "*<td>Running</td>*") {$_ -replace "<tr>","<tr bgcolor=lime>"} elseif ($_ -like "*<td>Stopped</td>*") {$_ -replace "<tr>","<tr bgcolor=tomato>"} elseif ($_ -like "*<table>*") {$_ -replace "<table>","<table border=1>"} else{$_} } > .\get-service.html

Aufgabe 12

Bloggen Sie auf WordPress.com.