Netz-Weise Freundallee 13a 30173 Hannover www.netz-weise.de

Ähnliche Dokumente
SQL-Server mit Powershell verwalten

Virtuelle Umgebungen mit Powershell verwalten Azure und der Rest der Virtualisierung. Holger Voges

Version 0.3. Installation von MinGW und Eclipse CDT

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Backup der Progress Datenbank

Installationsanleitung für pcvisit Server (pcvisit 12.0)

OP-LOG

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Handbuch Nero BurnRights

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Sophia Business Leitfaden zur Administration

Whitepaper. Produkt: combit address manager / Relationship Manager. Client-Verbindungsprobleme beheben. combit GmbH Untere Laube Konstanz

CTX 609 Daten Fax Modem. Installation Creatix V92 Data Fax Modem (CTX 609) unter Windows XP/ Windows Installation unter Windows XP:

Tutorial Windows XP SP2 verteilen

Tastatur statt Maus XenApp-Administration mit PowerShell

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Installation der SAS Foundation Software auf Windows

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Windows 2008R2 Server im Datennetz der LUH

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

FastViewer Remote Edition 2.X

Windows 2008 Server im Datennetz der LUH

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Powershell DSC Oliver Ryf

Titel SCSM 2012 VORFALL (INCIDENT) BENACHRICHTIGUNG NACH 30 MINUTEN OHNE ZUWEISUNG

Powermanager Server- Client- Installation

Titel. SCSM ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Microsoft Windows PowerShell v3.0/4.0

Installation und Sicherung von AdmiCash mit airbackup

NODELOCKED LIZENZ generieren (ab ST4)

Projekte Packen, Kopieren und Versenden

Übung - Datensicherung und Wiederherstellung in Windows 7

Installationsanleitung für pcvisit Server (pcvisit 15.0)

Installationsanleitung dateiagent Pro

Teamschool Installation/ Konvertierungsanleitung

Bitte vor dem Gebrauch von CD Title Catcher unbedingt lesen. Überblick über CD Title Catcher... S. 2

UPS WorldShip Installation auf einen Einzelarbeitsplatz oder einen Administratoren Arbeitsplatz

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Lehrveranstaltung Grundlagen von Datenbanken

Netzwerk einrichten unter Windows

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Lokales Netzwerk Probleme beim Verbinden eines Linux-Clients mit einem Windows 2003 Server Frage:

Erste Schritte mit Sharepoint 2013

Anleitungen zum Publizieren Ihrer Homepage

1 Konfigurationsanleitung Hosted Exchange

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Anleitung zur Einrichtung eines Netzwerkes für den Gebrauch von GVService unter Windows 7

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Windows 8 Lizenzierung in Szenarien

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie

Perceptive Document Composition

1 Konto für HBCI/FinTS mit Chipkarte einrichten

Zentrale Installation

Installationsanleitungen

zur WinIBW Version 2.3

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Windows Server 2012 R2 Essentials & Hyper-V

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Karten-Freischaltung mit dem UNLOCK MANAGER

Anwenderleitfaden Citrix. Stand Februar 2008

Sophia Business Leitfaden zur Administration

Windows Server 2012 RC2 konfigurieren

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Benutzerkonto unter Windows 2000

Datenbanken auf Sybase SQL-Anywhere

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Handbuch PCI Treiber-Installation

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Übung - Datenmigration in Windows Vista

OFFLINE SYNCHRONISATION - ENIQ ACCESSMANAGEMENT PROGRAMMIER-CLIENT (ENIQ DEVICEMANAGEMENT) EINRICHTEN INSTALLATION DER SQL SERVER INSTANZ

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Lizenzierung von Windows Server 2012

Ebenfalls gibt es neben dieser Schritt-für-Schritt Anleitung noch ein Video, welches das Einrichten einer Shared Mailbox zeigt.

Betriebssystem Windows - SSH Secure Shell Client

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Drei Möglichkeiten zum Betrieb von DPV über das Internet. Dr. Matthias Grabert und Walter Geiselmann Uni Ulm

Benutzerverwaltung Business- & Company-Paket

Rillsoft Project - Installation der Software

Anleitung Captain Logfex 2013

PosterJet Port-Monitor-Patch

desk.modul : WaWi- Export

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

TeamViewer App für Outlook Dokumentation

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

System-Update Addendum

Installationsanleitung CLX.PayMaker Office (3PC)

Psyprax GmbH. Netzwerk Installation unter XP. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Prüfungsnummer: Prüfungsname: Configuring Advanced. Version: Windows Server 2012 Services. Demo.

Einrichten eines E- Mail-Kontos unter Windows Live Mail mit der IMAP-Funktion

Transkript:

Windows Powershell

Holger Voges CCA,MCSE, MCDBA, MCT, MCITP DB Administrator / DB Developer, MCTIP Enterprise Administrator, MCSA Windows Server 2012 Netz-Weise Freundallee 13a 30173 Hannover www.netz-weise.de

Commandlets Bilden die Befehle der Powershell Aufbau immer aus Verb und Substantiv Können erweitert werden Get-command zeigt u.a. installierte Commandlets an Get-help zeigt Hilfe zum Commandlet

Aliase Aliase ermöglichen den Zugriff auf Commandlets über alternative Aufrufe NT-Shell-Kommandos sind als Aliase eingetragen Get-Alias zeigt verfügbare Aliase an Set-Alias fügt ein neues Alias ein

Provider Powershell-Provider stellen Zugriff auf Laufwerke, Registry, Variablen bereit Get-PSProvider zeigt die installierten Provider an Get-PSDrive zeigt die Laufwerke an, New- PSDrive legt ein neues an Set-Location (Alias: CD) wechselt den Provider Get-Item, Get-Childitem, Get-Itemproperty

Variablen PSH-Variablen basierten auf.net-datentypen PSH erkennt den Variablentyp automatisch Variablen beginnen mit einem $ Zuweisung erfolgt mit einem "= [Datentyp]$Variable legt den Datentyp fest $Var=Dies ist ein Text [Int16]$Zahl

Powershell und Objekte PSH arbeitet mit Objekten Es kann auf alle Objekteigenschaften und Methoden zugegriffen werden Variablen speichern Objekte > $Dir=get-childitem c:\windows\ > get-properties InputObject $Dir

Powershell Pipeline Befehle können mit dem " " Objekte sequentiell bearbeiten ForEach-object macht Befehle, die Pipes nicht unterstützen, Pipe-fähig Auf Einzelne Objekt wird mit $_ verwiesen > get-process -name sidebar format-list -prop * > Get-Process where-object {$_.VirtualMemorySize -gt 1000000} Sort-Object -Property VirtualMemorySize format-table ProcessName,VirtualMemorySize,"CPU(s)"

Funktionen Fassen Scriptblöcke zu einem Befehl zusammen Können Parametrisiert werden Provider Function: zeigt def. Funktionen an > Set-location Function: Get-childitem

Funktionen definieren Function Subtrahiere($Wert1=10, $Wert2=20) { $Wert1 - $Wert2 } Function Subtrahiere($Wert1=$(Throw Wert1 wurde nicht angegeben!, $Wert2=20) { $Wert1 - $Wert2 }

Powershell und WMI Get-WMIObject stellt Verbindung zu WMI- Klassen her mit computer kann ein Remotesystem angegeben werden mit credential kann ein Benutzerkonto angegeben werden mit query kann eine WQL-Abfrage abgesetzt werden

WMI-Beispiele > Get-WMIObject win32_service > gwmi -namespace root\cimv2 computer PC3 -list > Gwmi query select * from win32_service where name = 'Alerter' > $server = gwmi win32_operatingsystem > $server.reboot()

Powershell und.net Viele Standard-Assembly stehen in Powershell zur Verfügung Nachladen einer.net_assembly: [System.Reflection.Assembly+::LoadWithParti alname( System.Windows.Forms ) Direkter Zugriff auf Methoden: [Klasse]::Methode() Anlegen eines Objekts mit new-object

Beispiele $web = New-Object net.webclient $Seite = $web.downloadstring( http://blogs.technet.com/chitpro-de ) [System.IO.Path]::GetTempFileName()

Ausführungssicherheit Scripte starten nur mit Pfad bzw..\ Execution-Policy legt fest, ob ps-scripte gestartet werden Set-ExecutionPolicy / Get-ExecutionPolicy Policy Restricted AllSigned RemoteSigned Unrestricted Verhalten Es werden keine Scripte ausgeführt Scripte müssen digital signiert sein Lokal gespeicherte Scripte auch ohne Signatur Keine Einschränkungen

Powershell-Scripte Funktionieren ähnlich wie Funktionen Parameter werden im Kopf mit param() angegeben Scriptvariablen gelten nur lokal Beim Start von PSH können Profilscripte angegeben werden

Neues in Powershell 2.0

Integrated Scripting Environment GUI-Editor für die Powershell Integrierter Debugger Scripteditor und interaktive Umgebung

Remoting Benötigt WinRM-Dienst Commandlets mit Computername-Parameter Interaktive Sitzung mit Enter-Pssession Invoke-command computername scriptblock Persistent Connections ermöglichen, mehr als eine Kommando auszuführen Rechte werden per wsman-provider gesetzt

Beispiele Remoting > Enable-PSRemoting force > $s = new-pssession computername Server01, Server02 > Invoke-command session scriptblock {$p = get-process} > invoke-command -computername S1, S2 -filepath C:\Test\Sample.ps1

Background-Jobs Laufen im Hintergrund ab die Powershell kann weitere Befehle annehmen Get-Job ruft Informationen über den laufenden Job auf Start-Job, Get-Job, Receive-Job, wait-job > $job = start-job scriptblock {get-process} > $job = Get-Job -id 1 > Receive-Job job $job

Transaktionen Mehrere Kommandos können zu Transaktionen zusammengefasst werden Provider muß Transaktionen unterstützen Es kann immer nur eine Transaktion aktiv sein Ein Commandlet muß mit UseTransaction gestartet werden Start-Transaction, Complete-Transaction, Undo-Transaction

Beispiel Transaktionen > Start-Transaction > Cd hkcu:\software > New-item MyCompany UseTransaction > Complete-Transaction > Start-Transaction > new-item MyOtherCompany UseTransaction > Undo-Transaction

Script-Debugger Debuggen in der PSH mit neuen Debugger- Commandlets Debugger in der ISE integriert Set-PsBreakpoint, Get-PsBreakpoint, Disable- PsBreakpoint, Enable-PsBreakpoint, Remove- PsBreakpoint, Get-PsCallStack Try { } Catch{ } Finally { }

Debugger-Kommandos Debugger-Kommando s v o c l l <m> <n> q k Step-into Step-over Step-out Continue List (Teil des Scripts, der ausgeführt wird) List (ab Zeile m n Zeilen) stop?, h Hilfe Zeigt den Aufrufer-Stack an (Get- PsCallStack)

Internationalisierung Nutzt das neue Feature Data Language Strings können vom Scriptcode getrennt werden Mit Import-LocalizedData werden die übersetzten Dateien aus dem Sprachordner gesucht (en-us, de-de)

Advanced Functions Unterstützen benannte Parameter (-param) bzw. Parametersets Typkontrolle bei Parameterübergabe Überprüfung der Parameteranzahl Unterstützen Pipelining

Module Laufen in eigener Laufzeitumgebung Modul-lokale Variablen sind private und behalten Ihren Zustand über mehrere Aufrufe Script-Module, Binär-Module (dll), Manifest-Module, Dynamische Module user\documents\windowspowershell\modules\mym odule (=$PSModulePath) windows\system32\windowspowershell\v1.0\modul es\mymodule (=$PSModulePath)

Modul-Commandlets New-Module: neues dyn. Modul New-ModuleManifest: neues Manifest-Mod Import-Module: Fügt der Sitzung Mod hinzu Export-ModuleMember: Gibt die Modul-Mitglieder an, die von New-Module angelegt werden Remove-Module: Entfertn Module aus der Sitzung Test-ModuleManifest: Überprüft ein Manifest

Modul-Beispiel function fooize { if(!(test-path variable:script:count)) { $script:count = 0 } $script:count++ "He spoke 'foo' and then there were {0}!" -f $script:count } function barize { if(!(test-path variable:script:count)) { $script:count = 0 } $script:count-- "She spoke 'bar' and then there were {0}!" -f $script:count } function foobar($value) { $script:count = $value } Export-ModuleMember fooize, barize

Neue WMI-Funktionalitäten Neuer Parameter authentication Set-WMIInstance vereinfacht das Ändern von WMI-Eigenschaften Remove-WMIObject vereinfacht das Löschen von WMI-Elementen wie Prozessen und Druckwarteschlangen Invoke-WMIObjcect vereinfacht den Methodenaufruf

WMI-Beispiele Get-WMIObject -class iiscomputer -namespace "root\microsoftiisv2" -computer Web1 authentication 6 $a = Get-WMIObject Win32_WMISetting computername Web1 $a.logginglevel = 2 $a.put() Set-WMIInstance -class Win32_WMISetting ` -argument @{LoggingLevel=2} -computername atl-fs-001 Invoke-WMIMethod -path "Win32_Printer.DeviceID='TestPrinter'" -name RenamePrinter -argumentlist "NewPrinterName" -computer atl-fs-001 $a = Get-WMIObject -query "Select * From Win32_Process Where Name='notepad.exe'" $a Remove-WMIObject

Out-Gridview Gibt die Ausgabe in Tabellenform in eigenem Fenster aus Ausgabe ist sortier- und durchsuchbar

AD-Integration in Powershell Voraussetzung: mind. 1 W2008R2-Server Keine externen Commandlets mehr nötig Muß installiert werden

Beispiele > import-module servermanager > Add-WindowsFeature -Name "RSAT-AD-PowerShell" - IncludeAllSubFeature > import-module activedirectory > CD AD: > New-ADUser Name "John Smith" SamAccountName JohnS DisplayName "John Smith" Title "Account Manager" Enabled $true ChangePasswordAtLogon $true - AccountPassword (ConvertTo-SecureString "p@ssw0rd" - AsPlainText -force) -PassThru

Links Neues in Windows Powershell http://technet.microsoft.com/de-de/library/dd367858%28ws.10%29.aspx Windows Powershell Blog http://blogs.msdn.com/powershell/ What s new in Powershell 2.0 http://huddledmasses.org/whats-new-in-powershell-2/ MS Technet Windows Powershell Core Help http://technet.microsoft.com/en-us/library/bb978525.aspx Powershell Plus http://www.idera.com/products/powershell/powershell-plus/ Master Powershell ebook von Tobi Weltner http://powershell.com/cs/blogs/ebook/ Active Directory Powershell Blog http://blogs.msdn.com/adpowershell/default.aspx

Buchempfehlungen