Fragensteller
Sinnvolle Powershell Scripts für Zuhause (Home Computer)

Allgemeine Diskussion
-
Hallo zusammen,
Gerne würde ich meine Powershell Kenntnisse verbessern. Nach gründlich lesen von etwa 50 % eines 500 Seiten Buches, bin ich zum Entschluss gekommen, dass ich das ganze Objektorientierte Zeugs (class, function, scriptblocks) nur mit einem sinnvollen Beispiel verstehe. Das heisst das Zeugs selber anwenden muss.
Am besten wäre etwas was ich bei mir Zuhause scripten müsste.
z.B
- Auswertung aller Seiten welche ich im Monat besucht habe
Habt ihr vielleicht zusätzliche Vorschläge was ich mir als (sinnvolles) Ziel setzten könnte? Ohne ein Ziel habe ich gemerkt ist das programmieren nur sehr schwer umzusetzten.
Danke euch!
Grusss
Powershell junior
- Bearbeitet King Julien Donnerstag, 9. Februar 2012 19:13
- Typ geändert Denniver ReiningMVP, Moderator Freitag, 10. Februar 2012 21:33 ...
Alle Antworten
-
Hallo,
wenn du Aufgaben suchst sind sicherlich die Aufgaben aus den Scripnggames der letzten Jahre eine qertvolle Quelle.
Du findest z.B. die Aufgaben aus 2011 unter:
http://blogs.technet.com/b/heyscriptingguy/archive/2011/04/10/2011-scripting-games-all-links-on-one-page.aspx
Auch in diesem Jahr wird es wieder Scripting Games geben und zwar am dem 02.04.2012. Also scheue nicht mitzumachen.
regards Thomas Paetzold visit my blog on: http://sus42.wordpress.com
-
Zuerst sollte man das cmdlet Get-Member verinnerlichen.
z.B.
"Hallo" | Get-Member # Oh, ein String Object! 1 | Get-Member # Oh, ein Integer Object! Get-Item $env:temp | Get-Member # Oh, ein System.IO.DirectoryInfo Object
Dann sieht man schon schön was die einzelnen Objekte anbieten. Propertys sind wie Attribute die man "nur" abfragen und setzen kann( Gewicht,Farbe,Grösse,Alter ...).
Methoden führen eine Aktion aus (Gehe(4m),Lenke.Links(35°),Hüpfe()...)Beim String sieht das so aus:
# Methoden "Hallo".IndexOf("a") # Welche position hat der Buchstabe a? "Hallo".Replace("l","s") # alle Buchstaben l durch s ersetzen # Properties "Hallo".length # länge des Strings ermitteln
Ich empfehle dann den Umgang mit dem Dateisystem zu üben!
(Nutze dazu eine Übungs-Ordnerstuktur im Temp Ordner!)Get-Item,Set-Item Get-ChildItem... in verbindung mit Sort-Object, Select-Object usw...
z.B.
- was sind die 3 ältesten Dateien in einem Ordner (incl Unterordner).
- welches sind die 5 grössten / Kleinsten Dateien
- alle Dateien suche die grösser 5MB sind
- Massen umbenennung von Dateien (Urlaubsfotos) mit einem Muster (Regex)
- usw.
Prozesse
- einen Prozess mit Notepad.exe starten (Invoke-????? was bedeutet das & Zeichen ? wozu kann man es nutzen?)
- den Notepad Prozess suchen und analysieren (Get-Process ??????? | Get-Member)
- den Notepad Prozess Killen
- welcher Process verbraucht am meisten CPU ?
- usw.
COM Objekte
$wshshell = new-object -comobject wscript.shell | Get-Member
und dann:
$wshshell = new-object -comobject wscript.shell $Answer = $wshshell.popup("Löschen bestätigen!",0,"Wollen Sie wirklich löschen?",4) Write-Host $Answer
mehr fällt mir erstmal nicht ein....
Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace" "
- Bearbeitet Peter Kriegel Samstag, 11. Februar 2012 09:57
-
@Peddy1st:
Danke dir für deine Antwort, leider reichen meine Scripting Kenntnisse da bei weitem nicht aus .. ;)
Danke dir ebenfalls für deine Antwort. Deine Liste werde ich Punkt für Punkt durchgehen und schauen ob ich die einzelnen Tasks mit Powershell umsetzten kann .. :)
Zusätzlichen Dank für die umfangreichen Erklärungen - echt Weltklasse!
-
Hi,
@Powershell Junior: Aber Du hast doch ein dickes buch gelesen. Da wird es zeit nach so viel Theorie ein wenig Spass zu haben ...
Viele Gruesse
Thomas
regards Thomas Paetzold visit my blog on: http://sus42.wordpress.com
- Bearbeitet Peddy1st Freitag, 10. Februar 2012 22:06