Die VHS Braunschweig führt ab dem 06. Mai 2010 eine Abendseminarserie zum Thema
"Powershell & Tools für Administratoren"
durch. An dieser Stelle schönen Dank an den Veranstalter, der dieses Seminar aus dem Rahmenprogramm des PC Systembetreuers auch mit einer kleinen Teilnehmergruppe durchführen lässt - Thanx!

Hier die Termine unserer Abendveranstaltung:

Ort: Heydenstraße, Raum 2.01
Zeiten: Donnerstags, 19.00 - 21.15 Uhr ab dem 06.05.2010

Frühere Übungszeiten und Zugänge zum Raum nach Absprache mit der VHS BS werde ich an dieser Stelle kommentieren. Hier die Inhalte unseres Seminars ...
Ihr Trainer Joe Brandes

 

Do, 06.05.2010, 19.00 - 21.15 Uhr

  • Orientierungsphase, Inhalte und Anregungen
    Stichworte: Installations-DVD mit Treibern/Software ausrüsten (WAIK),
    Sicherungstools Befehlszeile (robocopy, Ordnersynchronisation auch über das Netz)
    Hinweis auf cobra-shop (spezielle SSL-SW für VHS Teilnehmer)
  • Arbeit mit eigens installierten Windows 7 Systemen auf Wechselplatten
  • Gegenüberstellung: CMD vs. POWERSHELL
    residente (ipconfig.exe) und transiente Befehle (dir)
    dir-Befehl in powershell ist Alias, path zeigt Unterschied (Fehler in PS)
  • Erste Befehle:
    cd (change directory)
    cls (clear screen)
    dir (directory anzeigen)
  • Powershell führt alle Befehle aus (inklusive Verzeichnis- und Befehlvervollständigungen!)
    aktuell PS 2.0: in Win 7 und Server 2008 R2 enthalten
    kann sonst als Download von MS nachinstalliert werden
    für PS 2.0 muss idealer weise dot.net 2.0 und 3.5 vorhanden sein
  • Erste cmdlets (Commandlets):
    Get-ChildItem
    Get-Process
    Get-Service
    Get-ComputerRestorePoint (Admin-PS nötig)

Do, 20.05.2010, 19.00 - 21.15 Uhr

  • Nachfrage Powershell 2.0 geklärt - nativ bei Win 7 und Server 2008 R2
    Andere OS: Nachinstallationen durch Windows Management Framework
    Anm.: bitte OS- und 32/64-Bit-Version beachten - hier folgt die MS-Quelle
    Quelle(n): Windows Management-Framework (WinRM 2.0, Powershell 2.0, BITS 4.0)
  • Powershell-Session (Sitzung) erlaubt temporäre Änderungen:
    $host.ui.rawui
    $host.ui.rawui.ForegroundColor = "Yellow"
    $host.ui.rawui.WindowTitle = "My Console"
  • Hinweis auf Unterscheidung "Pfade - PATH"
    CMD: path (Befehl)
    PS 2.0: $env:Path (Umgebungsvariable)
    Beispiel path für PS 2.0 erweitern:
    $env:Path += ";C:\Program Files\Windows NT\Accessories\"
    jetzt funzt auch Aufruf von "wordpad"
  • Weitere Kommandos:
    Get-Command (mit: -commandtype cmdlet; -verb get; -noun process)
    Get-Help (siehe -full, -examples, -detailed)
    Set-Location (als Alias auch dir - siehe "Get-Alias dir")
    Out-File
    Get-Member
  • Piping: (Beispiel - Achtung: Objektorientiert!)
    dir | Sort-Object -property length, name
    Get-Service | Where-Object {$_.status -eq "running"} | Out-File c:\temp\ausgabe.txt
  • Umleitungen: (Umlenkung des Standardausgabe-Kanals)
    Get-Service > c:\temp\ausgabe2.txt
    Hinweis: >> hängt Texte an bestehende Datei an

Do, 27.05.2010, 19.00 - 21.15 Uhr

  • Lösung für temporäre Umgebung der Shell-Session: Profil-Skript!
  • Rekap: Piping mit out-gridview (.Net 3.5 nötig)
    Get-Service | Where-Object {$_.status -eq "running"} | Out-Gridview
  • Alias (siehe Get-Alias, Set-Alias) und
    $env:Path (z.B.) nur Temporär
  • Get-PSProvider zeigt alle verfügbaren "Provider"
    in Provider alias:
    dir | Group-Object definition
    dir alias: | Group-Object definition | Sort-Object name | Out-Gridview
    dir alias: | Group-Object definition | Sort-Object count
    ergibt schöne Auflistungen und Analysen!
    Hitliste (count 6) ausführlich mit Get-Alias -definition remove-item
  • Provider diskutiert und ausprobiert
    Set-Location env: (alias:, hkcu:, variable:, function:)
    ah da sind die Variablen und Environment-Infos
    $variable:PShome
    $variable:PROFILE
  • set-alias d get-date (gilt nur für Shell-Session - ausprobieren)
    export-alias -path .\skripts\aliase.txt
    import-alias -path .\skripts\aliase.txt (-force unterbindet "Fehler" / erzwingt Übernahme)
  • Lösung: $PROFILE bzw. $variable:Profile
    ist eine .ps1-Datei (Skripte der Powershell)
    test-path $profile
  • Neue Objekte/Items erstellen (für $profile)
    new-item -itemtype file test.txt
    new-item -itemtype directory test
  • Super-Lösung für $PROFILE: (alles in einem)
    New-Item -Path $PROFILE -type file -Force
  • Eintrag vornehmen in $PROFILE:
    # Beispieleintrag ...
    set-alias d get-date
  • Powershell öffnet mit Fehler wegen:
    *.ps1 funzen nur mit gesetzter Policy!
    get-executionpolicy
    set-executionpolicy (benötigt Admin-Rechte)
    => die unterschiedlichen Modi diskutieren (Hilfen aufrufen)
    insbesondere Hinweis auf die about_Execution_Policies Zusatzhilfen
  • Funktionen (interaktiv):
    einführendes Beispiel in Befehlszeile:
    function ping10 { ping -n 10 $args}
    Aufruf z.B.: ping10 192.168.1.1
  • Funktionen in der $PROFILE hinterlegen für ständige Nutzung

Special: (Funktion CDD für die Datei $PROFILE - dann können Sie sich das Tippen sparen)

# Beispiel cdd - Change Dir with Dialog
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}
}

 

Do, 03.06.2010, 19.00 - 21.15 Uhr

  • Fragen / Rekapitulationen Funktion CDD mit $PROFILE
  • Funktion mit mehreren Argumenten übergeben:
    function ping10besser ([int]$a, [string]$b) { ping -n $a, $b }
    Funktion löschen: (na klar: PSProvider function:)
    rm function:\ping10besser
  • Powershell auf "4 Ebenen" oder "Was kann die PS alles?"
    CMDLETS (Powershells feingetunte Spezialwerkzeuge!
    WMI (Windows Management Interface)
    Dot.Net Bibliotheken
    COM (Component Object Model)
  • Powershell cmdlets (236) - Wiederholung / Zusammenfassung
    Get-Command -commandtype cmdlet | Measure-Object
    Object Orientiert (.EmailAdress)
    im Gegensatz zu Text pattern RegExpresission
    \b[A-Z0-9._%-]+@[A-Z0-9.-]+\[A-Z]{2,4}\b
    Keine Programme (!) sondern .NET-Klassen für spezielle Aufgaben maßgeschneidert!
    Syntax: Verb-Substantiv [-Parameter]
    engl.: verb-noun; nicht case-sensitive - keine Groß-/Kleinschreibung
  • WMI
    get-wmiobject Klasse
    Beispiele WMI:
    get-wmiobject win32_processor
    get-wmiobject win32_networkadapter
    get-wmiobject win32_account
    get-wmiobject -list (statt der MSDN Dokumentation)
    get-wmiobject -list | measure-object (nur Standard Namensraum Root\CIMV2)
    get-WmiObject -list | Where-Object {$_.Name -match '^Win32.*'}
    get-wmiobject -list -namespace root\securitycenter
    letztendlich dann z.B. in Win7 über 7000 Klassen (und das ohne Zusatzprodukte wie Office!)
  • Dot.NET
    $o = new-object Klasse
    [Klasse]::Name (hier: statische Klassen - keine Erzeugung)
    Beispiele 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
    $di = new-object System.IO.DirectoryInfo($PSHOME)
    $di.CreationTime
    statisch:
    [System.Environment]::UserName
    [System.Environment]::MachineName
    statisch mit Grafikausgabe/Forms:
    [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
    [System.Windows.Forms.MessageBox]::Show("Wirklich löschen?", "Nachfrage",     [System.Windows.Forms.Messageboxbuttons]::YesNo)
  • COM
    $wsh = new-object -comobject "Klasse"
    Beispiele COM
    $objShell = new-object -comobject "Shell.Application"
    $objShell | get-member
    $objShell.cascadeWindows()
    $objShell.tilehorizontally()
    $objShell.ToggleDesktop()
    siehe auch Code für CDD (Change Directory with Dialog)
  • Erweiterungen / Extensions
    Powershell Community Extensions (PSCX) - pscx.codeplex.com
    Download bitte erst über Rechte Maus "entsichern"
    das entpackte Archiv für alle User der Maschine nach $PSHOME\Modules kopieren
    Übersicht über verfügbare Module: Get-Module -list
    Laden von Modulen: Import-Module pscx
    Dauerhaft verfügbar: in $PROFILE eintragen

Donnerstag, 10.06.2010, 19.00 - 21.15 Uhr

  • Wiederholung der Implementierung der PSCX auf den Win7-Domänen-Profilen
  • Verfügbarkeit einer Domäne ermöglicht Remote-Zugriffe mittels
    Get-Wmiobject Win32_Bios -ComputerName vbox-dc01 -credential vboxdom\tnadmin
    auch andere Aufrufe/Cmdlets sind hierzu in der Lage
  • Shell-Remoting ermöglichen auf Rechner mittels Enable-PSRemoting
    Es werden stufenweise die Windows Remote Management (WinRM) Funktionen und Dienste aktiviert und alle notwendigen Konfigurationen und Firewall-Einstellungen vorgenommen
  • Einleitung einer Remote-Sitzung: Enter-PSSession vbox-dc01 -credential vboxdom\tnadmin
  • Hilfen insbesondere über spezielle Hilfen zur Verfügung:
    about_pssession, about_remote*, about_session_configurations
  • Auf Server interessant: Module ActiveDirectory
    Übersicht über verfügbare Module: Get-Modul -list
    Bereitstellen mit Import-Modul ActiveDirectory
    Testen mit Get-PSProvider
    Wechseln zum neuen Provider: Set-Location AD:
  • kleine Fingerübung in der neuen ISE
    kleine Skriptbeispiele mit Soundausgabe und Co

Donnerstag, 17.06.2010, 19.00 - 21.15 Uhr

  • Rekapitulationen und TN-Fragen
  • Bereitstellung der Unterlagen, E-Books und Videos zum Thema Powershell;
    alles abgesprochen und mit Dozenten-PC für Teilnehmer verteilt
  • robocopy - MS Allround-Tool für Sicherungen und Co über die Befehlszeile
    Graphical User Interfaces (GUIs) erleichtern die Handhabung der vielen Schalter und Konfigurationsmöglichkeiten
    Empfehlungen:
    faRoboGui (Link) - einfach ausführbare Datei mit guter Übersicht und Handling
    RichCopy (Link) - von MS unterstützt, umfangreiche Installation notwendig
    Anleitungen / Videos (Link) von Tim Bormann (MS Blogger)
  • Sysinternals (heute bei Microsoft unter www.microsoft.com/sysinternals - Link)
    Highlights der Suite: AD-Tools, BGInfo, ProcessExplorer, AutoRuns
  • Live-CDs / Rettungen abseits von Windows-Installationen
    Knoppix, Ultimate Boot CD, GRML, Ultimate Boot4Win, Win PE
    Übersicht (hier im PC Sys Portal - anderes Abendsem)
  • TN-Bescheinigung und Feedbacks

Ich bedanke mich ausdrücklich für Ihr freundliches Feedback und Ihre Anregungen. Zukünftige Seminare werden entsprechend ein anderes Zeitraster (18.00 - 21.15 Uhr) haben, um den Abend effektiver nutzen zu können.

Ihr Trainer Joe Brandes

  Privates

... zu Joe Brandes

Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.
Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...

joe brandes 600px

Private Visitenkarte / Technik: HTML & CSS /
  joe-brandes.de

  Jobs

... IT-Trainer & Dozent

Ich erarbeite und konzipiere seit über 20 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!

becss 600px

BECSS Visitenkarte / Technik: HTML & CSS /
  becss.de

  Hobby

... Snooker & more

Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.

bsb 2011 600px

Billard Sport BS / Joomla 3.x /
  billard-bs.de

PC Systembetreuer ist J. Brandes - IT seit über 35 Jahren - Technik: Joomla 3.4+, Bootstrap 3.3.4 und "Knowledge"

© 2018 - Websitedesign und Layout seit 07/2015 - Impressum - Datenschutzerklärung
Nach oben