3 Die Windows PowerShell



Ähnliche Dokumente
Tipps und Tricks zu Netop Vision und Vision Pro

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

iphone-kontakte zu Exchange übertragen

Tipps und Tricks zu Netop Vision und Vision Pro

BricsCAD System Variablen

Erstellen eines Formulars

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Anwenden eines Service Packs auf eine Workstation

Exchange Export. Mailbox Export

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Bauteilattribute als Sachdaten anzeigen

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

32.4 Anpassen von Menüs und Symbolleisten 795i

4 Die Windows PowerShell

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Kostenstellen verwalten. Tipps & Tricks

How-to: VPN mit L2TP und Zertifikaten und dem Windows VPN-Client. Securepoint Security System Version 2007nx

12. Dokumente Speichern und Drucken

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Kommunikations-Management

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Meine Welt auf einen Blick erleben.

Kurzeinführung Excel2App. Version 1.0.0

Datenübernahme aus Profi-Cash

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

OP-LOG

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

Kleines Handbuch zur Fotogalerie der Pixel AG

-Versand an Galileo Kundenstamm. Galileo / Outlook

Frankieren in Microsoft Word mit dem E Porto Add in der Deutschen Post

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Task: Nmap Skripte ausführen

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Clients in einer Windows Domäne für WSUS konfigurieren

Benutzer-Handbuch. Import / Export von Adressen

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Backup der Progress Datenbank

Adminer: Installationsanleitung

Alerts für Microsoft CRM 4.0

Export des MS Outlook-Adressbuches und Import in das Adressverzeichnis der TOSHIBA e-bridge-modelle

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Newsletter. 1 Erzbistum Köln Newsletter

ecall sms & fax-portal

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

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

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

Import und Export von Übergängern

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

Sicherer Datenaustausch mit EurOwiG AG

Artikel Schnittstelle über CSV

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

SANDBOXIE konfigurieren

Sichern der persönlichen Daten auf einem Windows Computer

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

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

Installationsleitfaden zum Fakturierungsprogramm

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Android VHS - Weiterbildungskurs Ort: Sulingen

Import des persönlichen Zertifikats in Outlook Express

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Rechnung Angebot Zeiterfassung

1. Bearbeite Host Netzgruppen

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende s schneller verwaltet werden. Vasquez Systemlösungen

Erstellen einer in OWA (Outlook Web App)

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Shellfire L2TP-IPSec Setup Windows XP

Anleitung für das Content Management System

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Grundfunktionen und Bedienung

Outlook 2010 Daten importieren und exportieren

Lizenz Verwaltung. Adami Vista CRM

Vorlagen im Online Banking. Anlegen von Vorlagen

Einrichten eines POP-Mailkontos unter Thunderbird Mail DE:

Stapelverarbeitung Teil 1

COSIDNS 2 ISPconfig3. Version 0.1 ( )

Datensicherung und Wiederherstellung

3 Windows als Storage-Zentrale

Comtarsia SignOn Familie

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Registrierungsanleitung Informatik-Biber

Dokumentation FileZilla. Servermanager

ErstWeb.doc Seite: 1

Shellfire L2TP-IPSec Setup Windows 7

Grundlagen von Python

Installation und Bedienung von vappx unter Android

Anwenderdokumentation PersoSim

Transkript:

3 Die Windows PowerShell Programmierung von administrativen Scripts Die Windows PowerShell dar (Codename: Monad ) versucht, das "Beste aus allen verfügbaren Shells" aus verschiedenen Betriebssystemwelten herauszuholen. basiert auf.net-klassen objektorientiert Kommandos = cmdlets Scripting-Dateien: *.ps1 Ähnlich wie die MMC kennt die PowerShell das Snap-In-Konzept. So wird die PowerShell etwa für die Verwaltung von Exchange Server 2007 durch ein Snap-In erweitert. 12 Mag. Christian Zahler, Stand: Mai 2010

3.1 CmdLets PowerShell-Anweisungen werden als Cmdlets bezeichnet. Jedes cmdlet hat ein Standardformat: verb-noun param Beispiel: Der normalen Shell-Anweisung dir entspricht das Cmdlet get-childitem Um alle verfügbaren Cmdlets aufzulisten, steht das Cmdlet get-command zur Verfügung. get-help (substutiert mit Seitenumbruch durch help oder man) Für Kommando und Parameter: Tabulator-Completion Viele Kommandos können mit Alias-Namen versehen werden; so gibt es für get-childitem bereits vordefiniert die Alias-Namen ls und dir. Achtung auf Syntax: das Leerzeichen von den Parametern darf nicht weggelassen werden, also FALSCH: cd\ RICHTIG: cd \ gps = get process Die PowerShell verwendet mehrere Provider. In jedem Provider können dieselben cmdlets verwendet werden: [PS] C:\Documents and Settings\Administrator.E2007>Get-PSProvider Name Capabilities Drives ---- ------------ ------ Alias ShouldProcess {Alias} Environment ShouldProcess {Env} FileSystem Filter, ShouldProcess {C, A, D, E} Function ShouldProcess {Function} Registry ShouldProcess {HKLM, HKCU} Variable ShouldProcess {Variable} Certificate ShouldProcess {cert} Anwendung: [PS] C:\>cd hklm:\software [PS] HKLM:\software>dir Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software SKC VC Name Property --- -- ---- -------- 4 0 ATI Technologies {} 176 0 Classes {} 6 0 Clients {} 1 0 Gemplus {} 2 0 Intel {} 93 0 Microsoft {} 2 0 ODBC {} 1 0 Policies {} 0 1 Program Groups {ConvertedToLinks} 1 0 Realtek {} 1 0 Schlumberger {} 0 0 Secure {} 17 0 Wow6432Node {} Mag. Christian Zahler, Stand: Mai 2010 13

[PS] C:\>cd cert:\currentuser\ca [PS] cert:\currentuser\ca>dir Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\CA Thumbprint Subject ---------- ------- FEE449EE0E3965A5246F000E87FDE2A065FD89D4 CN=Root Agency 8B24CD8D8B58C6DA72ACE097C7B1E3CEA4DC3DC6 OU=www.verisign.com/CPS Incorp.by... 7B02312BACC59EC388FEAE12FD277F6A9FB4FAC1 CN=VeriSign Class 2 CA - Individua... 12519AE9CD777A560184F1FBD54215222E95E71F CN=VeriSign Class 1 CA Individual... 109F1CAED645BB78B3EA2B94C0697C740733031C CN=Microsoft Windows Hardware Comp... 14 Mag. Christian Zahler, Stand: Mai 2010

3.2 Powershell-Scripts Scripts werden werden mit der Erweiterung *.ps1 (PowerShell 1.0) gespeichert. Scripts werden standardmäßig nicht ausgeführt. Befehl: set-executionpolicy remotesigned oder unrestricted. Mag. Christian Zahler, Stand: Mai 2010 15

3.3 Hilfe Um Hilfe zu erhalten, geben Sie folgendes ein: [PS] C:\>Get-Help Nun wird Ihnen eine komplette Liste angezeigt, wie Sie Hilfe und Erklärungen zu allen Microsoft Shell Befehlen erhalten. Geben Sie zum Beispiel folgendes ein, um alle automatischen Variablen anzuzeigen: [PS] C:\>Get-Help about_automatic_variables NAVIGATION: Um eine Liste aller verfügbaren Laufwerke anzuzeigen geben Sie folgendes ein: [PS] C:\>Get-Drive Wenn Sie zu einem anderem Laufwerk wechseln möchten, zb. auf D: müssen Sie anstatt des cd -Befehls mit folgendem Befehl arbeiten: [PS] C:\>Set-Location D:\ Um alle verfügbaren CMDLETs anzuzeigen, geben Sie folgendes ein: [PS] C:\>Get-Command Um alle verfügbaren export - Befehle anzuzeigen, geben Sie folgendes ein: [PS] C:\>Get-Command export-* 16 Mag. Christian Zahler, Stand: Mai 2010

3.4 Filter Filtern (sogar mit "Regular Expressions" möglich): gps where {$_.handles -gt "100"} gps where {$_.handles -gt "100"} sort stop-process -N *s* -WhatIf stop-process -N *s* -confirm WhatIf führt das Kommando nicht durch, sondern zeigt an, was passieren würde. Confirm verlangt führt mehrere Prozess-Schritte Einzelbestätigungen. Mag. Christian Zahler, Stand: Mai 2010 17

3.5 PowerShell-Befehlsreferenz add-content ac Das Cmdlet "Add-Content" fügt Inhalt an das ausgewählte Element bzw. die ausgewählte Datei an. Sie können den Inhalt angeben, indem Sie den Inhalt im Befehl eingeben oder ein Objekt angeben, das den Inhalt enthält. SYNTAX Add-Content [-path] <string[]> [- value] <Object[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passthru] [- force] [-credential <PSCredential>] [-whatif] [- confirm] [<CommonParameters>]Add- Content [-literalpath] <string[]> [-value] <Object[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passthru] [- force] [-credential <PSCredential>] [-whatif] [- confirm] [<CommonParameters>] PARAMETER -path <string[]> Gibt den Pfad zu den Elementen an, die den zusätzlichen Inhalt erhalten. Platzhalter sind zulässig. Wenn Sie mehrere Pfade angeben, trennen Sie diese durch Kommas. -include <string[]> Fügt nur die angegebenen Elemente hinzu. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig. -exclude <string[]> Lässt die angegebenen Elemente aus. Der Path- Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder - muster wie "*.txt" ein. Platzhalter sind zulässig. -filter <string> Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da sie beim Abrufen der Objekte vom Anbieter angewendet werden und die Objekte nicht erst nach dem Abrufen von Windows PowerShell gefiltert werden. -value <Object[]> Gibt den hinzuzufügenden Inhalt an. Geben Sie eine Zeichenfolge in Anführungszeichen ein, beispielsweise "Diese Daten dienen ausschließlich internen Zwecken", oder geben Sie ein Objekt an, das Inhalt enthält, beispielsweise das DateTime- Objekt, das von "Get-Date" generiert wird. Sie können den Inhalt einer Datei nicht angeben, indem Sie deren Pfad eingeben, da der Pfad lediglich eine Zeichenfolge ist. Sie können den Inhalt jedoch mit dem Befehl "Get-Content" abrufen und an den Value-Parameter übergeben. -passthru <SwitchParameter> Übergibt das von diesem Cmdlet erstellte Objekt über die Pipeline. Dieses Cmdlet übergibt standardmäßig keine Objekte über die Pipeline. -force <SwitchParameter> Überschreibt Einschränkungen, die eine erfolgreiche Ausführung des Befehls verhindern, vorausgesetzt, dass dadurch die Sicherheit nicht gefährdet wird. Beispielsweise überschreibt "Force" das Schreibschutzattribut oder erstellt in einem Dateipfad fehlende Verzeichnisse. Es wird jedoch nicht etwa versucht, Dateiberechtigungen zu ändern. -credential <PSCredential> Verwendet Anmeldeinformationen, um die Zugriffsberechtigung für die Datei zu überprüfen. "credential" stellt einen Benutzernamen, z. B. "Benutzer01" oder "Domäne01\Benutzer01", oder ein PSCredential-Objekt dar, das beispielsweise mit dem Cmdlet "Get-Credential" abgerufen werden kann. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert. Dieser Parameter wird zwar angezeigt, aber von keinem der Windows PowerShell-Haupt-Cmdlets oder -Anbieter unterstützt. -literalpath <string[]> Gibt den Pfad zu den Elementen an, die den zusätzlichen Inhalt erhalten. Im Gegensatz zu "Path" wird der Wert von "LiteralPath" genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren. -whatif Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen. -confirm Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf. -<CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "-Verbose", "-Debug", "-ErrorAction", "-ErrorVariable" und "-OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "gethelp about_commonparameters". Beispiele : C:\PS>add-content -path *.txt - exclude help* -value "END" Mit diesem Befehl wird allen Textdateien im aktuellen Verzeichnis mit Ausnahme der Dateien, deren Name mit "help" beginnt, die Zeichenfolge "END" hinzugefügt. C:\PS>add-content -Path file1.log, file2.log -Value (get-date) - passthru. Mit diesem Befehl wird das Datum am Ende der Dateien "File1.log" und "File2.log" hinzugefügt und anschließend in der Befehlszeile angezeigt. Der Befehl ruft das Datum mit dem Cmdlet "Get-Date" ab und übergibt das Datum über den Value- Parameter an "Add-Content". Der Passthru- Parameter übergibt ein Objekt über die Pipeline, das den hinzugefügten Inhalt darstellt. Da kein weiteres Cmdlet vorhanden ist, das das übergebene

Objekt erhalten kann, wird es in der Befehlszeile angezeigt. C:\PS>add-content -path monthly.txt - value (get-content c:\rec1\weekly.txt) Mit diesem Befehl wird der Inhalt der Datei "Weekly.txt" am Ende der Datei "Monthly.txt" hinzugefügt. Der Befehl ruft den Inhalt der Datei "Weekly.txt" mit dem Cmdlet "Get-Content" ab und übergibt den Inhalt von "Weekly.txt" über den Value-Parameter an "Add-Content". Durch die runden Klammern wird sichergestellt, dass die Ausführung des Befehl s "Get-Content" abgeschlossen wird, bevor der Befehl "add-content" ausgeführt wird. Sie können den Inhalt von "Weekly.txt" auch in eine Variable wie "$w" kopieren und diese anschließend über den Value-Parameter an "Add- Content" übergeben. In diesem Fall lautet der Befehl "add-content -path monthly.txt -value $w". add-history - Mit dem Cmdlet "Add-History" werden Einträge am Ende des Sitzungsverlaufs (der Liste der im Verlauf der aktuellen Sitzung eingegebenen Befehle) hinzugefügt. Sie können die Befehle mit "Get-History" abrufen und an "Add-History" übergeben oder die Befehle in eine CSV- oder XML-Datei exportieren, diese dann importieren und die importierte Datei an "Add-History" übergeben. Mit diesem Cmdlet können Sie dem Verlauf bestimmte Befehle hinzufügen oder eine einzige Verlaufsdatei erstellen, die Befehle aus mehreren Sitzungen enthält. History" für die einzelnen Befehle generiert wurden. Sie können weder Pfade und Dateinamen noch Listen von Befehlen übergeben. Mit dem -InputObject-Parameter können Sie eine Datei mit HistoryInfo-Objekten an "Add-History" übergeben. Exportieren Sie hierzu mit "Export-Csv" oder "Export- Clixml" die Ergebnisse des Befehls "Get-History" in eine Datei, und importieren Sie die Datei dann mit "Import-Csv" oder "Import-Clixml". Anschließend können Sie die Datei mit den importierten HistoryInfo- Objekten über die Pipeline oder in einer Variablen an "Add-History" übergeben. Weitere Informationen finden Sie in den Beispielen. Die Datei mit History Info-Objekten, die an "Add- History" übergeben wird, muss die Typinformationen, Spaltenüberschriften und alle Eigenschaften der HistoryInfo-Objekte enthalten. Wenn Sie die Objekte zurück an "Add-History" übergeben möchten, verwenden Sie nicht den NoTypeInformation- Parameter von "Export-Csv", und löschen Sie nicht die Typinformationen, Spaltenüberschriften oder Felder in der Datei. Der Sitzungsverlauf ist eine Liste der Befehle, die während der Sitzung eingegeben wurden, neben der ID, von der die Ausführungsreihenfolge, der Status sowie Start- und Endzeit des Befehls dargestellt werden. Beim Eingeben der einzelnen Befehle werden diese von Windows PowerShell dem Verlauf hinzugefügt, sodass Sie diese wiederverwenden können. Weitere Informationen zum Sitzungsverlauf erhalten Sie mit folgendem Befehl: "get-help about_history". Der Sitzungsverlauf kann nicht geleert werden, es sei denn, Sie beenden die Windows PowerShell-Sitzung. Exportieren Sie zum Bearbeiten des Sitzungsverlaufs die Sitzung in eine CSV- oder XML-Datei, bearbeiten SYNTAX Sie diese, importieren Sie sie, und fügen Sie sie mit "Add-History" an den aktuellen Sitzungsverlauf an. Add-History [[-inputobject] <PSObject[]>] [-passthru] Um für einen Parameter mehrere Werte anzugeben, trennen Sie diese durch Kommas. Beispiel: [<CommonParameters>] "<Parametername> <Wert1>, <Wert2>". PARAMETER -inputobject <PSObject[]> Beispiele: Fügt dem Sitzungsverlauf die angegebenen C:\PS>get-history export-csv HistoryInfo-Objekte hinzu. Mit diesem Parameter c:\testing\history.csv können Sie ein History Info-Objekt von "Get- C:\PS>import-csv history.csv addhistory History", "Import-Clixml" oder "Import-Csv" an "Add-History" senden. Mit diesen Befehlen werden die in einer Windows -passthru <SwitchParameter> PowerShell-Sitzung eingegebenen Befehle dem Übergibt das von diesem Cmdlet erstellte Objekt Verlauf einer anderen Windows PowerShellüber die Pipeline. Dieses Cmdlet übergibt Sitzung hinzugefügt. Im ersten Befehl werden standardmäßig keine Objekte über die Pipeline. Objekte abgerufen, die die Befehle im Verlauf <CommonParameters> darstellen, und diese werden in die Datei Dieses Cmdlet unterstützt folgende allgemeine "History.csv" exportiert. Der zweite Befehl wird in Parameter: "-Verbose", "-Debug", "-ErrorAction", der Befehlszeile einer anderen Sitzung eingegeben. "-ErrorVariable" und "-OutVariable". Weitere Mit dem Cmdlet "Import-Csv" werden die Objekte Informationen erhalten Sie mit dem Befehl "gethelp about_commonparameters". Pipelineoperator werden die Objekte an das Cmdlet in die Datei "history.csv" importiert. Mit dem "Add-History" übergeben, das die Objekte, die die HINWEISE Befehle in der Datei "History.csv" darstellen, dem Verwenden Sie den -InputObject-Parameter, um die aktuellen Sitzungsverlauf hinzufügt. Befehle anzugeben, die dem Verlauf hinzugefügt werden sollen. C:\PS>import-clixml c:\temp\history.xml add-history Der Befehl "Add-History" akzeptiert nur HistoryInfo- -passthru invoke-history Objekte, beispielsweise diejenigen, die von "Get- Mag. Christian Zahler, Stand: Mai 2010 19

Mit diesem Befehl werden Befehle in die Datei "History.xml" importiert, diese werden dem aktuellen Sitzungsverlauf hinzugefügt, und anschließend werden die Befehle ausgeführt. Der erste Befehl importiert mit dem Befehl "Import- Clixml" einen Befehlsverlauf, der in die Datei "History.xml" exportiert wurde. Mit dem Pipelineoperator ( ) werden die Befehle an den Add-History-Parameter übergeben, der die Befehle dem aktuellen Sitzungsverlauf hinzufügt. Mit dem Passthru-Parameter werden die Objekte, die die hinzugefügten Befehle darstellen, an das Cmdlet "Invoke-History" übergeben, das die Befehle ausführt. C:\PS>get-history id 5 -count 5 add-history Mit diesem Befehl werden die ersten fünf Befehle im Verlauf am Ende der Verlaufsliste hinzugefügt. Mit dem Cmdlet " Get-History" werden die fünf Befehle abgerufen, die mit Befehl 5 enden. Mit dem Pipelineoperator ( ) werden sie an das Cmdlet "Add-History" übergeben, das sie an den aktuellen Verlauf anfügt. Der Befehl "Add-History" enthält keine Parameter, Windows PowerShell ordnet jedoch die über die Pipeline übergebenen Objekte dem InputObject-Parameter zu. C:\PS>$a = import-csv c:\testing\history.csv C:\PS>add-history -inputobject $a - passthru Mit diesen Befehlen werden die Befehle in der Datei "History.csv" dem aktuellen Sitzungsverlauf hinzugefügt. Der erste Befehl importiert mit dem Cmdlet "Import-Csv" die Befehle in der Datei "History.csv" und speichert deren Inhalt in der Variablen "$a". Der zweite Befehl fügt mit dem Cmdlet "Add-History" die Befehle aus "History.csv" dem aktuellen Sitzungsverlauf hinzu. Mit dem InputObject-Parameter werden die Variable "$a" und der Passthru-Parameter angegeben, um ein Objekt zu generieren, das in der Befehlszeile angezeigt wird. Ohne den Passthru- Parameter wird von "Add-History" anzuzeigende Ausgabe generiert. keine C:\PS>add-history -inputobject (import-clixml c:\temp\history01.xml) Mit diesem Befehl werden die Befehle in der Datei "History01.csv" dem aktuellen Sitzungsverlauf hinzugefügt. Mit dem InputObject-Parameter werden die Ergebnisse des Befehls in Klammern an "Add-History" übergeben. Mit dem Befehl in Klammern, der zuerst ausgeführt wird, wird die Datei "History01.xml" in Windows PowerShell importiert. Anschließend werden die Befehle in der Datei mit "Add-History" dem Sitzungsverlauf hinzugefügt. add-member - Fügt der Instanz eines Windows PowerShell-Objekts einen benutzerdefinierten Member hinzu. Ermöglicht es Ihnen, die folgenden Typen von Membern hinzuzufügen: "AliasProperty", "CodeProperty", "NoteProperty", "ScriptProperty", "PropertySet", "CodeMethod", "MemberSet" und "ScriptMethod". Den Anfangswert des Members legen Sie mit dem Value-Parameter fest. Für "AliasProperty", "ScriptProperty", "CodeProperty " und "CodeMethod" können Sie mit dem SecondValue-Parameter zusätzliche Informationen angeben. Die zusätzlichen Member werden der Instanz des Objekts hinzugefügt, die Sie über die Pipeline an "Add- Member" übergeben oder mit dem InputObject- Parameter angeben. Der zusätzliche Member ist nur solange verfügbar, wie diese Instanz vorhanden ist. Mit dem Cmdlet "Export-Clixml" können Sie die Instanz einschließlich der zusätzlichen Member in einer Datei speichern. Anhand der in dieser Datei gespeicherten Informationen kann die Instanz des Objekts mit dem Cmdlet "Import-Clixml" neu erstellt werden. SYNTAX Add-Member [-membertype] {<AliasProperty> <CodeProperty> <Property> <NoteProperty> <ScriptProperty> <Properties> <PropertySet> <Method> <CodeMethod> <ScriptMethod> <Methods> <ParameterizedProperty> <MemberSet> <All>} [-name] <string> [[-value] <Object>] [[- secondvalue] <Object>] - inputobject <psobject> [-force] [- passthru] [<CommonParameters>] PARAMETER -inputobject <psobject> Gibt das Objekt an, dem der neue Member hinzugefügt wird. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden. -membertype <PSMemberTypes> Gibt den Typ des hinzuzufügenden Members an. Die gültigen Werte für diesen Parameter lauten: "AliasProperty", "CodeProperty", "NoteProperty", "ScriptProperty", "PropertySet", "CodeMethod", "MemberSet" und "ScriptMethod". Nachfolgend finden Sie eine Liste der für diesen Parameter gültigen Werte: AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethodm, ScriptMethod, Methods, ParameterizedProperty, MemberSet, All -name <string> Gibt den Namen des hinzuzufügenden Members an. Wenn Sie den Parameternamen "-Name" auslassen, muss der Wert des Parameters "-Name" der zweite unbenannte Parameterwert im Befehl sein. Wenn Sie den Parameternamen angeben, können die Parameter in beliebiger Reihenfolge an gegeben werden. -value <Object> Gibt den Anfangswert des hinzugefügten Members an. Wenn Sie einen Member von "AliasProperty", "CodeProperty " oder "CodeMethod" hinzufügen, können Sie mit dem SecondValue-Parameter optionale zusätzliche Informationen angeben. -secondvalue <Object> Gibt optionale zusätzliche Informationen über Member von "AliasProperty", "ScriptProperty", 20 Mag. Christian Zahler, Stand: Mai 2010

"CodeProperty " oder "CodeMethod" an. Dieser Parameter muss ein Datentyp sein, wenn er beim Hinzufügen einer "AliasProperty" verwendet wird. Dem Wert der "AliasProperty" wird eine Konvertierung (Umwandlung) in den angegebenen Datentyp hinzugefügt. Wenn Sie z. B. eine "AliasProperty" hinzufügen, die einen alternativen Namen für eine Zeichenfolgeneigenschaft bereitstellt, können Sie auch einen "SecondValue" mit dem Typ "System.Int32" festlegen, um anzugeben, dass der Wert der Zeichenfolgeneigenschaft beim Zugriff über die entsprechende "AliasProperty" in eine ganze Zahl konvertiert werden soll. Mit dem SecondValue-Parameter können Sie einen zusätzlichen "ScriptBlock" angeben, wenn Sie einen ScriptProperty-Member hinzufügen. In diesem Fall wird der erste, im Value-Parameter angegebene "ScriptBlock" zum Abrufen des Werts einer Variablen und der zweite, im SecondValue- Parameter angegebene "ScriptBlock" zum Festlegen des Werts einer Variablen verwendet. -force <SwitchParameter> Fügt einen neuen Member hinzu, auch wenn ein Member mit demselben Namen bereits vorhanden ist. Kann nicht für Hauptmember eines Typs verwendet werden. -passthru <SwitchParameter> Übergibt das von diesem Cmdlet neu erweiterte Objekt über die Pipeline. Dieses Cmdlet übergibt standardmäßig keine Objekte über die Pipeline. <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "-Verbose", "-Debug", "-ErrorAction", "-ErrorVariable" und "-OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "gethelp about_commonparameters". HINWEISE Nur "PSObjects" können Member hinzugefügt werden. Um zu bestimmen, ob ein Objekt ein "PSObject" ist, verwenden Sie den Operator "is". Um z. B. ein in der Variablen "$obj" gespeichertes Objekt zu testen, geben Sie "$obj -is [PSObject]" ein. Die Namen der Parameter "MemberType", "Name", "Value" und "SecondValue" sind optional. Wenn Sie die Parameternamen auslassen, müssen die unbenannten Parameterwerte in dieser Reihenfolge angegeben werden: "MemberType", "Name", "Value", "SecondValue". Wenn Sie die Parameternamen angeben, können die Parameter in beliebiger Reihenfolge angegeben werden. Um für einen Parameter mehrere Werte anzugeben, trennen Sie diese durch Kommas. Beispiel: "<Parametername> <Wert1>, <Wert2>". Beispiele : C:\PS>$a = (get-childitem)[0] $a add-member -membertype noteproperty -name status -value done $a get-member Mit diesem Befehl wird einem von "Get-ChildItem" zurückgegebenen DirectoryInfo-Objekt eine "NoteProperty" hinzugefügt. Der Status der neuen Eigenschaft wird benannt, und ihm wird der Wert "done" zugewiesen. In der letzten Zeile des Befehls wird das aktualisierte Objekt über die Pipeline an "Get-Member" übergeben, um zu zeigen, dass die Eigenschaft hinzugefügt wurde. C:\PS>$a = (get-childitem)[0] $a add-member -membertype aliasproperty -name filelength - value length $a.filelength Mit diesem Befehl wird einem von "Get-ChildItem" zurückgegebenen DirectoryInfo-Objekt eine Aliaseigenschaft hinzugefügt. Der Befehl weist der neuen Eigenschaft den Namen "filelength" zu und legt sie als Alias für die Length-Eigenschaft fest. In der letzten Zeile des Befehls wird der Wert der neuen Eigenschaft zurückgegeben. C:\PS>$a = "a string" $a = $a add-member noteproperty StringUse Display -passthru $a.stringuse Mit diesem Befehl wird einer Zeichenfolge eine Eigenschaft hinzugefügt. Weil die Eigenschaft kein "PSObject" ist, muss der Passthru-Parameter angegeben werden, um die erweiterte Zeichenfolge in der Variablen zu speichern. In der letzten Zeile des Befehls wird der Wert der neuen Eigenschaft angezeigt. C:\PS>$a = "this is a string" $a = add-member -inputobject $a - membertype scriptmethod -name words ` -value {$this.split()} -passthru $a.words() Mit diesem Befehl wird einem Zeichenfolgenobjekt eine Skriptmethode hinzugefügt. Die Skriptmethode macht die Split()-Methode der System.String-Klasse der.net Framework- Klassenbibliothek verfügbar, um die einzelnen Wörter in einer Zeichenfolge durch den Aufruf der Methode mit dem Namen "words" für das Zeichenfolgenobjekt bequem zurückgeben zu können. Beachten Sie, dass der Passthru-Parameter angegeben wurde, um die Rückgabe des erweiterten Zeichenfolgenobjekts durch "Add-Member" als Ausgabe zu erzwingen, die in der Variablen "$a" gespeichert wird. C:\PS>$event = get-eventlog -logname system -newest 1 $event.timewritten get-member add-member -inputobject $event - membertype aliasproperty -name When ` -value TimeWritten -secondvalue System.String $event.when get-member Mit diesem Befehl wird einem vom Cmdlet "Get- EventLog" zurückgegebenen EventLogEntry- Objekt eine Aliaseigenschaft hinzugefügt. Der Name der Aliaseigenschaft lautet "When" und ist ein Alias für die TimeWritten-Eigenschaft des Objekts. Mit dem SecondValue-Parameter wird angegeben, dass der Eigenschaftenwert in den Typ "System.String" konvertiert werden soll, wenn mit der Aliaseigenschaft auf ihn zugegriffen wird. Die TimeWritten-Eigenschaft ist ein DateTime- Objekt. In der ersten Zeile des Befehls wird das letzte Mag. Christian Zahler, Stand: Mai 2010 21