Bei der VHS Braunschweig findet eine Systembetreuer-Schulung zum Thema
"Powershell und Tools für Admins"
statt

Die halbjährliche Veranstaltung führt in die Praxis der modernen Befehlszeile
Powershell
und in diverse Rettungsszenarien in Form von optischen Medien und USB-Speichern ein.

 

Ort: VHS Braunschweig, Raum 2.01
Zeiten: 6 Donnerstag-Abende; jeweils 19.00 - 21.15 Uhr
Achtung Terminänderung:
Do. 03.12.09 fällt aus - verlegt auf Do. 10.12.09 ab 16.30 Uhr!

Wie immer viel Spaß an unseren Seminaren - Ihr Trainer Joe Brandes

Hier die Inhalte - der "Rote Faden":

 


Do, 12.11.2009, 19.00 - 21.15 Uhr

  • Powershell ist keine Sammlung von Programmen, sondern:
    Objektorientiert, abhängig von .NET Techniken
  • Powershell Versionen 1.0 und 2.0
    Empfehlung: 2.0 ermöglichen (also: für .NET 3.5 sorgen!)
    Native bei Windows 7, Server 2008 R2
    bei anderen Win-OS: Download des Windows Remote Framework 2.0 (PS 2.0 und Co)
  • Interaktiv (vs. Skripting)
    nächste Zeile mit `
    Vervollständigung mit TAB (sowohle Pfade/Dateiname als auch Aufrufe und Attribute/Parameter)
    Funktionstasten F5 und F7 (für Zusatzfenster)
    Cursortasten (History der Befehlszeile)
    eigenes Profil mit $profile
    Mathe und Co (2+3 , "hello"*3)
    ping www.bahn.de (Standardprogramme der alten Shell)
    notepad (Aufruf von Standarprogrammen in der Konsole)
  • Technik-Nachfolger von:
    Eingabeaufforderung (cmd - Shell)
    Batchdateien (*.bat, *.cmd)
    Windows Script Host (WSH)
    Makrosprachen in Anwendungen
  • commandlets (236 in PS 2.0)
    Keine Programme (!) sondern .NET-Klassen
    Syntax: Verb-Substantiv [-Parameter] (engl.: verb-noun)
    nicht case-sensitive - keine Groß-/Kleinschreibung
  • Standardparameter:
    -whatif ("Was wäre wenn" - Ausführung simulieren)
    -confirm (intelligente Bestätigungen)
    -verbose (Ausführlichere Infos über Durchführung)
    -force (Erzwingen, z.B. Anzeige versteckter Systemdateien)
  • Beispiel-cmdlets (Praxis):
    get-process (Anzeige der Prozessliste)
    get-service (Anzeige der Dienste)
    get-hotfix (Anzeige der Updates/Hotfixes)
    get-ComputerRestorePoint (Anzeige Wiederherstellungspunkte - Hier: Admin-Berechtigung!)

    get-childitem
    get-childitem *.exe
    get-childitem c:\programme *.exe -recurse

    weitere cmdlets: stop-process, get-command, revmove-item

    dir (als Alias für get-childitem)
    get-alias d* (get-alias l*)
    set-location c:\ (Alias cd)
  • Hilfen mit get-help
    get-help get-process
    get-help get-process -detailled
    get-help get-process -full
    get-help get-process -examples

Do, 19.11.2009, 19.00 - 21.15 Uhr

  • Pipelining (oder auch kurz Piping)
    Aneinanderhängen von Shellaufrufen, Ausgaben werden weitergegeben
    hier das Besondere: Objekte! (siehe hier get-member)
    Beispiel:
    get-service | where-object{$_.status -eq "running"} | out-file c:\windows\temp\lfddienste.txt
  • spezielle Objekte:
    get-process | file-table name, company, product
    hier: company als ScriptProperty
  • Übungen Pipelining mit besonderen Objekt-Behandlungen
    get-service | sort-object status
    get-service | group-object status
    get-service | out-gridview
    Anm.: letzteres cmdlet out-gridview nur PS 2.0 (und auch .NET 3.5 nötig)
  • Übungen mit 3* Wordpad (start wordpad)
    get-process wordpad
    get-process wordpad | sort-object ws -desc
    get-process wordpad | sort-object ws -desc | select-object -first 1 | get-member (Anm.:immer noch NET-Klassen)
    get-process wordpad | sort-object ws -desc | select-object -first 1 | foreach-object {$_.kill()}
    get-process wordpad | sort-object ws -desc | select-object -first 1 | stop-process
  • Provider für die Powershell
    Filesystem, Registry, Zertifikatsspeicher, Alias, Environment, Function Variablen (Standard-Provider)
    get-PSProvider
    set-location HKLM:
  • Erweiterung der PS mit weiteren Schnittstellen (WMI, .NET, COM)
    commandlets decken nur Teil der OS-Aufrufsmöglichkeiten und Techniken ab!
    Zusätzliche Aufrufe mittels Get-WmiObject und New-Object für
    WMI (Windows Management Interface)
    get-wmiobject Klasse
    .NET (Dot.NET-Bibliotheken)
    $o = new-object Klasse
    [Klasse]::Name (hier: statische Klassen - keine Erzeugung)
    COM (Component Object Model)
    $wsh = new-object -com "Klasse"
  • Beispiele WMI:
    get-wmiobject win32_processor
    get-wmiobject win32_networkadapter
    get-wmiobject win32_account
    get-wmiobject -list (Anm.: statt der MSDN Dokumentation)
    get-wmiobject -list | measure-object (Anm.: nur Standard Namensraum Root\CIMV2)
    get-wmiobject -list -namespace root\securitycenter
    z.B. in Win7 über 7000 Klassen (und das ohne Zusatzprodukte wie Office)
  • Beispiel .NET:
    Anm.: .Net 3.5 ca. 10.000 Klassen plus Zusatz-Server SQL, ...
    $wc = new-object System.Net.WebClient
    $wc | get-member
    $wc.DownloadString("http://www.vhs-braunschweig.de")
    $wc.DownloadString("http://www.vhs-braunschweig.de") | out-file c:\temp\website.htm
    statische Klassen:
    [System.Environment]::UserName
    [System.Environment]::MachineName
  • Neue Objekt erstellen:
    new-item -itemtype file test.txt
    new-item -itemtype directory test
  • $PROFILE
    aufrufen und checken mit
    test-path $profile (Anm.: ergibt TRUE oder FALSE)
    in einem Rutsch erstellen: New-Item -Path $PROFILE -type file -Force
    Achtung: bei Versuch $profile zu nutzen kommt Fehlermeldung weil:
  • ExecutionPolicy muss konfiguriert werden
    Skripte *.ps1 dürfen nur bei ausreichender Richtlinie ausgeführt werden!
    Befehle: Get-ExecutionPolicy, Set-ExecutionPolicy

Do, 26.11.2009, 19.00 - 21.15 Uhr

  • Problem: Termin "Abend 04" am nä Do 03.12.2009 muss ausfallen
    Lösung: Termin "Abend 05" am Do 10.12.09 als Doppel-Abend ab 16.30 - 21.15 Uhr
  • ExecutionPolicy analysieren (get-help)
    Modi unterscheiden nach "lokal - remote" und "signiert - nicht signiert"
    4 Hauptmodi: Restricted, Unrestricted, AllSigned, RemoteSigned
  • $profile aufmotzen:
    set-location
    set-alias (z. B. set-alias d get-date)
    Temporäre Wirkung - siehe Schließen der Powershell-Fenster
  • Aliase (importieren und exportieren)
    export-alias -path .\skripts\aliase.txt
    import-alias -path .\skripts\aliase.txt
    Hinweis: besser spezielle Aliase benennen mit joebd, joebe, ... - export-alias joeb* -path ...
  • Funktionen: (in $profile ablegen!)
    Hier ein Beispiel für COM-Nutzung:

     

    function cdd {
    $shell = New-Object -comObject "Shell.Application"
    $options = 0x51 # Nur Dateisystem-Ordner
    $loc = $shell.BrowseForFolder(0, "Wohin soll es gehen?", $options)
    if($loc) {Set-Location $loc.Self.Path}
    }
    
    

     

  • net-Services Befehle (Hauptbefehl net)
    net view (aktuelle/eigene Workgroup/Domain)
    Bsp.: net view d:/dom-wg
    net use (Netzlaufwerk/Netzdrucker verbinden/trennen)
    Bsp.: net use z: \\iserv\public\__powershell_tools  -  net use z: /delete
    siehe Hilfe für Nutzung von Benutzername und Passwort, wenn Authentifizierung nötig
    net share (Freigaben anzeigen)
    net user (Benutzer auflisten und konfigurieren)
    net accounts (Kontenberechtigungen auflisten und konfigurieren)
  • Netzwerk-Analyse/Konfiguration in der Shell
    ipconfig /all  -  ipconfig /renew
    ping www.domname.tld (wichtig: neue Parameter -4 und -6 für IP und IPv6)
    tracert www.domname.tld
    pathping www.domname.tld (Kombination ping und tracert)
    arp -a (Adress Resolution Protocol - Auflösung MAC und IP Adressen)
    netstat -a  -  netstat -an (Protokollstatistik: Port, TCP/UDP, Routen)
  • netsh (Spezial-Shell für Netzwerkkonfiguration)
    interaktive Shell, nach Aufruf siehe help und Navigation mit .. durch Kontexte
    Sicherung der Netzkonfiguration: netsh i i d > c:\temp\ipconfig.dump
    Langer Aufruf: netsh interface ip dump > c:\temp\ipconfig.dump
    Rücksicherung: netsh -f c:\temp\ipconfig.dump
    Hinweis: möglichst Dateierweiterung txt vermeiden (hier *.dump), da MS-OS anscheinend spezielle Header einfügen für "deren" Textformat, bei meinen System funzt es allerdings immer, also mit beliebigen Dateierweiterungen!

  

Do, 10.12.2009, 16.30 - 21.15 Uhr

  • Hinweis: Doppelveranstaltung wegen Ausfall am 03.12.09
  • Rekapitulation zu Powershell und CMD-Befehlen (spez. Netzwerk mit nslookup s.u.)
  • Powershell 2.0 Technik zwischen Win7 und Server 2008 R2
    Einrichten/Aktivieren der Remote-Technik: Enable-PSSession
    Aufrufen der Remote-Sitzung: Enter-PSSession
    Modul für AD-Verwaltung bereitstellen (PSProvider AD): Import-Module ActiveDirectory
  • Praxis mit NSLOOKUP
    Aufrufe und interaktive Shell (server, set querytype=ANY)
  • "Systemwerkzeuge für Windows" (siehe C't 2009 Heft 24)
    Highlights: Total Commander (Norton Commander Clone), SyncToy (Microsoft), Standard-SW (CDBurnerXP, 7-Zip, ...), Virtualisierung (VMware Player und Server, Sun VirtualBox, Virtual Clone Drive)
  • Sysinternals Suite (heute Microsoft, früher Firma Wininternals.com)
    Highlights: Autoruns, ProcessExplorer, ProcessMonitor, AccessChk und natürlich BGInfo ;-)
  • "Systemanalyse" (siehe C't 2009 Heft 24)
    Highlights: HWInfo32, Sisoft Sandra, CPU-Z, GPU-Z, HD-Toolserie C't, BlueScree-View
  • "Schrauberkiste" (PC Magazin 8/2009 - Autor: Thomas Joos)
    Ausführliche Erläuterung der Sysinternals-Suite, Autor auch deutschsprache Ausgabe MS Press "Server 2008 - Das Handbuch" und der Nachfolger "Server 2008 R2 - Das Handbuch"
  • Slipstreaming Technik (Tools: AutoStreamer, nlite)
    klassische Aktualisierung von Pre-Vista-Medien
    siehe Artikel ZDNET.de (spez. Booten bei MS)
  • Boot-Management von optischen Medien (Standard: El Torito)
    Speziell: Booten von USB-Medien (Tools)

Do, 10.12.2009, 19.00 - 21.15 Uhr

  • Rekapitulation - Fortsetzung Rettungsmedien / Unterlagen
  • Rettungsmedien im Einsatz - hier die wichtigsten Medien
  • Knoppix (aktuell 6.2 - das Original der Live-CDs)
    http://www.knopper.net
    http://www.knoppixforum.de
  • System Rescue CD (1.3.3)
    http://www.sysresccd.org/Main_Page
  • GRML
    http://grml.org
  • Ultimate Boot CD (4.1.1)
    http://www.ultimatebootcd.de
  • PE Builder von Bart Lagerweij
    Nachbau der WindowsPE (Preliminary Environment)
    http://www.nu2.nu
  • Ultimate Boot CD 4 Win (3.5)
    http://www.ubcd4win.com
  • Für URL (Internet-Links) siehe auch Links in den Menüs dieser Website
  • Booten von USB (siehe Kopien)
  • Feedback
    TN-Bescheinigungen folgen

Vielen Dank für Ihr freundliches Feedback - bleiben Sie unseren Seminaren auch 2010 treu ;-)
Ihr Trainer Joe Brandes