PowerShell

Power Shell
PowerShell Core 6.0 icon.png
PowerShell Core 7.1.5 with Windows Terminal.png
Screenshot einer PowerShell 7 -Sitzung in Windows -Terminal
Paradigma Imperativ, Pipeline, objektorientierter, funktional und reflektierend
Entworfen von Jeffrey Snover, Bruce Payette, James Truher (et al.)
Entwickler Microsoft
Erstmals erschienen 14. November 2006; vor 15 Jahren
Stabile Version
7.2.5 / 21. Juni 2022; Vor 43 Tagen[1]
Vorschau -Version
v7.3.0-Präview.5 / 24. Juni 2022; Vor 40 Tagen[2]
Disziplin tippen Stark, sicher, implizit und dynamisch
Implementierungssprache C#
Plattform .NETZ
OS
Lizenz MIT -Lizenz[3] (Aber die Windows -Komponente bleibt bestehen proprietär)
Dateiname -Erweiterungen
  • .ps1 (Skript)
  • .ps1xml (XML -Dokument)
  • .psc1 (Konsolendatei)
  • .psd1 (Datendatei)
  • .psm1 (Skriptmodul)
  • .psc (Sitzungskonfigurationsdatei)
  • .psrc (Rollenfunktionsdatei)
  • .cdxml (CMDLet Definition XML -Dokument)
Webseite Microsoft.com/Power Shell
Beeinflusst von
Python, Ksh, Perl, C#, Cl, DCL, Sql, Tcl, Tk,[4] Koch, Marionette

Power Shell ist eine Aufgabenautomatisierung und Konfigurationsmanagement Programm von Microsoft, bestehend aus a Befehlszeile Hülse und die zugehörigen Skriptsprache. Anfangs nur eine Windows -Komponente, bekannt als als Windows PowerShell, es wurde gemacht Open Source und plattformübergreifend am 18. August 2016 mit der Einführung von Powershell -Kern.[5] Ersteres basiert auf dem .NET FrameworkLetzteres auf .NET CORE.

In PowerShell werden Verwaltungsaufgaben im Allgemeinen über durchgeführt cmdlets (ausgesprochen Befehlsläufe), die spezialisiert sind .net Klassen Implementierung eines bestimmten Vorgangs. Diese Funktionen, indem Sie auf Daten in verschiedenen Datenspeichern zugreifen, wie die Dateisystem oder Windows -Registrierung, die PowerShell über zur Verfügung gestellt werden Anbieter. Entwickler von Drittanbietern können PowerShell CMDlets und Anbieter hinzufügen.[6][7] CMDLets können von Skripten verwendet werden, die wiederum in Module verpackt werden können. CMDlets arbeiten mit dem .NET zusammen API.

Powershells Unterstützung für .NET Remoting, WS-Management, Cim, und Ssh Ermöglicht den Administratoren, Verwaltungsaufgaben sowohl auf lokalen als auch auf Remote -Windows -Systemen auszuführen. PowerShell bietet auch eine Hosting -API, mit der die PowerShell -Laufzeit in andere Anwendungen eingebettet werden kann. Diese Anwendungen können dann die PowerShell -Funktionalität verwenden, um bestimmte Vorgänge zu implementieren, einschließlich derjenigen, die über die ausgesetzt sind Grafische Schnittstelle. Diese Fähigkeit wurde von verwendet von Microsoft Exchange Server 2007, um seine Managementfunktionen als PowerShell -CMDlets und Anbieter aufzudecken und die implementieren grafisch Management -Tools als PowerShell -Hosts, die sich auf die erforderlichen CMDlets berufen.[6][8] Andere Microsoft -Anwendungen, einschließlich Microsoft SQL Server 2008 Stellen Sie auch ihre Verwaltungsschnittstelle über PowerShell CMDLets auf.[9]

PowerShell umfasst eine eigene umfangreiche, konsolenbasierte Hilfe (ähnlich wie Mannseiten in Unix -Muscheln) über die zugänglich Hilfe bekommen cmdlet. Aktualisierte lokale Hilfeinhalte können über die aus dem Internet abgerufen werden Update-Help cmdlet. Alternativ kann die Hilfe aus dem Web von Fall zu Fall über die erhalten werden -online wechseln zu Hilfe bekommen.

Hintergrund

Hintergrund

Das Befehlszeilen-Interpreter (CLI) war ein untrennbarer Bestandteil der meisten Microsoft Betriebssysteme. MS-DOS und Xenix stützte sich fast ausschließlich auf CLI. (MS-DOS 5 kam mit einem Komplementary Dos Shell.) Die Familie Windows 9x wurde mit gebündelt Command.com, die Befehlszeilenumgebung von MS-DOS. Das Windows NT und Windows CE Familien kamen jedoch mit einem neuen cmd.exe Das trug starke Ähnlichkeiten zu command.com. Beide Umgebungen unterstützen einige grundlegende interne Befehle und eine primitive Skriptsprache (Stapeldateien), mit der verschiedene Aufgaben automatisiert werden können. Sie können jedoch nicht alle Facetten von Windows automatisieren grafische Benutzeroberfläche (GUI) Da Befehlszeilenäquivalente von Operationen begrenzt sind und die Skriptsprache elementar ist.

Microsoft versuchte, einige dieser Mängel durch Einführung des Windows -Skript -Host in 1998 with Windows 98und sein Befehlszeilenbasis, Host, cscript.exe. Es integriert sich in die Aktives Skript Engine und ermöglicht es, Skripte in kompatiblen Sprachen zu schreiben, wie z. Jscript und VbscriptNutzung der Apis durch Anwendungen über das Komponentenobjektmodell ausgesetzt (Com). Es hat jedoch seine eigenen Mängel Schwachstellenvektor nach mehreren hochkarätigen Computer Virus genutzte Schwächen in seinen Sicherheitsbestimmungen. Verschiedene Versionen von Windows lieferten verschiedene spezielle Befehlszeileninterpreten (wie z. netsh und WMIC) mit ihren eigenen Befehlssätzen, aber sie waren nicht interoperabel. Windows Server 2003 Weitere Versuche, die Befehlszeilenerlebnis zu verbessern, aber die Unterstützung der Skripte war immer noch unbefriedigend.[10]

Kermit

In den späten 1990er Jahren, Intel war zu Microsoft gekommen und bat um Hilfe bei der Herstellung von Windows, das auf Intel CPUs lief, eine geeignetere Plattform, um die Entwicklung zukünftiger Intel -CPUs zu unterstützen. Zu dieser Zeit wurde die Intel -CPU -Entwicklung durchgeführt Sun Microsystems Computer, die lief Solaris (a Unix Variante) auf RISC-Architektur cpus. Die Fähigkeit, Intel viele auszuführen Kornshell Automatisierungsskripte unter Windows wurden als Schlüsselfunktion identifiziert. Innerlich begann Microsoft sich zu bemühen, einen Windows-Port von Korn Shell zu erstellen, der mit dem Code mit Kermit benannt wurde.[11] Intel schenkte letztendlich zu a Linux-Basierte Entwicklungsplattform, die auf Intel CPUs ausgeführt werden könnte, wodurch das Kermit -Projekt redundant wird. Mit einem voll finanzierten Team, Microsoft Program Manager, jedoch Jeffrey Snover erkannte, dass es die Möglichkeit gab, eine allgemeinere Lösung für das Problem der administrativen Automatisierung von Microsoft zu schaffen.

Monad

Bis 2002 hatte Microsoft begonnen, einen neuen Ansatz zur Befehlszeilenverwaltung zu entwickeln, einschließlich einer CLI namens Monad (auch als Microsoft Shell oder MSH bekannt). Die Ideen dahinter wurden im August 2002 in einem Weißbuch namens "Monad Manifesto" von seinem Chefarchitekten veröffentlicht. Jeffrey Snover.[12] In einem Interview von 2017 erklärt Snover die Entstehung von Powershell und sagte, er habe versucht zu machen Unix In Windows verfügbare Tools, die nicht funktionierten "Kernarchitekturunterschied [s] zwischen Windows und Linux". Insbesondere bemerkte er das Linux betrachtet alles und ASCII Textdatei, während Windows alles als "betrachtet" betrachtet "API Das gibt strukturierte Daten zurück ". Sie waren grundsätzlich inkompatibel, was ihn dazu veranlasste, einen anderen Ansatz zu verfolgen.[13]

Monad sollte eine neue erweiterbare CLI mit einem frischen Design sein, das eine Reihe von Kernverwaltungsaufgaben automatisieren kann. Microsoft zeigte Monad im Oktober 2003 erstmals öffentlich auf der Professional Development Conference in Los Angeles. Einige Monate später eröffneten sie private Beta, was schließlich zu einer öffentlichen Beta führte. Microsoft veröffentlichte das erste Monad Public Beta -Veröffentlichung am 17. Juni 2005 und die Beta 2 am 11. September 2005 und Beta 3 am 10. Januar 2006.

Power Shell

Am 25. April 2006, nicht lange nach der ersten Monad -Ankündigung, gab Microsoft bekannt, dass Monad umbenannt wurde Windows PowerShellpositionieren Sie es als wesentlicher Bestandteil seiner Managementtechnologieangebote.[14] Release Candidate (RC) 1 von PowerShell wurde gleichzeitig veröffentlicht. Ein wesentlicher Aspekt sowohl der Namensänderung als auch des RC war, dass dies jetzt eher eine Komponente von Windows als nur ein Add-On war.

Der Veröffentlichungskandidat 2 von PowerShell Version 1 wurde am 26. September 2006 mit endgültigem Verschluss veröffentlicht Release to the Web Am 14. November 2006 wurde Powershell für frühere Windows -Versionen am 30. Januar 2007 veröffentlicht.[15] Die Entwicklung von Powershell v2.0 begann, bevor Powershell V1.0 versandt wurde. Während der Entwicklung versendete Microsoft drei Community Technology Previews (CTP). Microsoft stellte diese Veröffentlichungen der Öffentlichkeit zur Verfügung. Die letzte CTP -Veröffentlichung von Windows PowerShell V2.0 wurde im Dezember 2008 verfügbar gemacht.

PowerShell für Linux 6.0 Alpha 9 auf Ubuntu 14.04 x64

PowerShell v2.0 wurde im August 2009 als integraler Bestandteil von Windows 7 und Windows Server 2008 R2 fertiggestellt und für die Herstellung veröffentlicht. Versionen von PowerShell für Windows XP, Windows Server 2003, Windows Vista und Windows Server 2008 wurden im Oktober 2009 veröffentlicht und können sowohl für 32-Bit- als auch für 64-Bit-Plattformen heruntergeladen werden.[16] In einer Oktober 2009 -Ausgabe von Technet Magazine, Microsoft nannte es Kenntnisse mit PowerShell "die wichtigste Fähigkeit a Windows Administrator wird in den kommenden Jahren brauchen ".[17]

Windows 10 hat ein Testframework für PowerShell ausgeliefert.[18]

Am 18. August 2016 gab Microsoft bekannt[19] dass sie Powershell Open-Source und plattformübergreifend mit Unterstützung für Windows gemacht hatten, Mac OS, Centos und Ubuntu.[5] Der Quellcode wurde auf veröffentlicht GitHub.[20] Der Umzug zu Open Source erzeugte eine zweite Inkarnation von Powershell namens "Powershell Core", die weiterläuft .NET CORE. Es unterscheidet sich von "Windows PowerShell", das in vollem Umfang läuft .NET Framework.[21] Beginnend mit Version 5.1 wird PowerShell Core mit gebündelt Windows Server 2016 Nano Server.[22][23]

Entwurf

Eine wichtige Konstruktionstaktik für PowerShell bestand darin, die große Anzahl von zu nutzen Apis Dies bestand bereits in Windows, Windows Management Instrumentation, .NET Framework und anderen Software. PowerShell Cmdlets "wickeln" vorhandene Funktionen. Die Absicht mit dieser Taktik besteht darin, eine Administrator-freundlichere, konsistentere Schnittstelle zwischen Administratoren und einer Vielzahl von zugrunde liegenden Funktionen bereitzustellen. Mit PowerShell muss ein Administrator nicht die API-Codierung von .NET, WMI oder Low-Level-API kennen und kann sich stattdessen darauf konzentrieren, die von PowerShell aufgedeckten CMDlets zu verwenden. In dieser Hinsicht schafft PowerShell wenig neue Funktionen, sondern konzentriert sich darauf, bestehende Funktionen für ein bestimmtes Publikum zugänglicher zu machen.[24]

Grammatik

Die Entwickler von PowerShell basierten die Kerngrammatik des Tools auf die des POSIX 1003.2 Kornshell.[25]

Powershells Sprache wurde jedoch auch von beeinflusst Php, Perlund viele andere vorhandene Sprachen.[26]

Benannte Befehle

Windows PowerShell kann vier Arten genannter Befehle ausführen:[27]

  • cmdlets (.NET Framework Programme für die Interaktion mit PowerShell)
  • PowerShell -Skripte (Dateien suffixiert von durch .ps1)
  • PowerShell -Funktionen
  • Eigenständige ausführbar Programme

Wenn ein Befehl ein eigenständiges ausführbares Programm ist, startet PowerShell es in einem separaten Prozess; Wenn es sich um ein CMDLet handelt, wird es im PowerShell -Prozess ausgeführt. PowerShell bietet eine interaktive Befehlszeilenschnittstelle, wo die Befehle eingegeben und ihre Ausgabe angezeigt werden können. Die Benutzeroberfläche bietet anpassbar Registerkartenabschluss. PowerShell ermöglicht die Schaffung von Aliase Für CMDLets, die sich in textuell in Aufrufe der ursprünglichen Befehle übersetzt. Powershell unterstützt beide genannt und Positional Parameter Für Befehle. Bei der Ausführung eines CMDLET wird der Auftrag, den Argumentwert an den Parameter zu binden, von PowerShell selbst erfolgen, aber für externe ausführbare Ausführbarungen werden Argumente von der externen ausführbaren Datei unabhängig von der Powershell -Interpretation analysiert.[28]

Erweitertes System

Die Powershell Erweitertes System (ETS) basiert auf dem .NET-System, jedoch mit erweiterter Semantik (z. B. Eigenschaften und Erweiterbarkeit von Drittanbietern). Beispielsweise ermöglicht es die Erstellung verschiedener Ansichten von Objekten, indem nur eine Untergruppe der Datenfelder, Eigenschaften und Methoden sowie die Angabe des benutzerdefinierten Formatierungs- und Sortierverhaltens aufgedeckt wird. Diese Ansichten werden dem ursprünglichen Objekt mithilfe der Ansichten zugeordnet Xml-basierte Konfigurationsdateien.[29]

Cmdlets

CMDLets sind spezielle Befehle in der PowerShell -Umgebung, die bestimmte Funktionen implementieren. Dies sind die nativen Befehle im PowerShell -Stack. Cmdlets folgen a Verb-Substantiv Benennungsmuster wie z. Get-Childitemwas macht es Selbstdokumentationscode.[30] CMDLets geben ihre Ergebnisse als Objekte aus und können auch Objekte als Eingabe empfangen, sodass sie für die Verwendung als Empfänger in einer Pipeline geeignet sind. Wenn ein CMDLET mehrere Objekte ausgibt, wird jedes Objekt in der Sammlung durch die gesamte Pipeline weitergegeben, bevor das nächste Objekt verarbeitet wird.[30]

CMDlets sind spezialisiert .net Klassen, was der Powershell Laufzeit instanziiert und ruft bei Ausführungszeit. Cmdlets stammen entweder von Cmdlet oder von PscmdletLetzteres wird verwendet, wenn das CMDLET mit der PowerShell -Laufzeit interagieren muss.[30] Diese Basisklassen geben bestimmte Methoden an - Beginprocessing (), Processrecord () und Endprozessing () - die die Implementierung des CMDLET überschreibt, um die Funktionalität zu liefern. Wann immer ein CMDLet läuft, ruft PowerShell diese Methoden nacheinander an, mit Processrecord () Aufgerufen werden, wenn es Pipeline -Eingabe empfängt.[31] Wenn eine Ansammlung von Objekten geleitet wird, wird die Methode für jedes Objekt in der Sammlung aufgerufen. Die Klasse, die das CMDLET implementiert AttributCmdletattribute - Das spezifiziert das Verb und das Substantiv, das den Namen des CMDLET ausmacht. Gemeinsame Verben werden als Auflauf.[32][33]

Wenn ein CMDLET entweder Pipeline-Ein- oder Befehlszeilenparametereingabe empfängt, muss ein entsprechendes Bestehen sein Eigentum in der Klasse mit a Mutator Implementierung. PowerShell ruft den Mutator mit dem Parameterwert oder dem Pipeline -Eingang auf, der durch die Mutator -Implementierung in Klassenvariablen gespeichert wird. Diese Werte werden dann von den Methoden bezeichnet, die die Funktionalität implementieren. Eigenschaften, die den Befehlszeilenparametern zuordnen, werden durch gekennzeichnet Parameterattribute[34] und werden vor dem Anruf eingestellt Beginprocessing (). Diejenigen, die zur Pipeline -Eingabe zugeordnet sind, werden ebenfalls flankiert von Parameterattribute, aber mit dem ValueFrompipeline Attributparametersatz.[35]

Die Implementierung dieser CMDLet -Klassen kann sich auf jeden beziehen .NETZ API und kann in jedem sein .Net Sprache. Darüber hinaus stellt PowerShell bestimmte APIs zur Verfügung, wie z. WriteObject (), mit der zur Zugriff auf PowerShell-spezifische Funktionen verwendet wird, wie z. B. das Schreiben resultierender Objekte in die Pipeline. CMDLets können den .NET -Datenzugriff verwenden Apis direkt oder die PowerShell -Infrastruktur von PowerShell verwenden Anbieter, die Datenspeicher mit einzigartigen Adresse adressierbar machen Wege. Datenspeicher werden mithilfe von Exposition freigelegt Antriebsbriefeund Hierarchien in ihnen, die als Verzeichnis behandelt werden. Windows PowerShell wird mit Anbietern für die geliefert Dateisystem, Registrierung, das Zertifikat lagern sowie die Namespaces Für Befehlsaliase, Variablen und Funktionen.[36] Windows PowerShell enthält auch verschiedene CMDlets für die Verwaltung verschiedener Fenster Systeme, einschließlich der Dateisystem, oder benutzte Windows -Management -Instrumentierung kontrollieren Windows -Komponenten. Andere Anwendungen können CMDlets mit PowerShell registrieren, sodass sie diese verwalten können. Wenn sie einen Datenspeicher (z. B. eine Datenbank) beischließen, können sie auch bestimmte Anbieter hinzufügen.

Die Anzahl der in der Basis -PowerShell -Installation enthaltenen CMDlets hat mit jeder Version im Allgemeinen zugenommen:

Ausführung Cmdlets
Windows PowerShell 1.0 129[37]
Windows PowerShell 2.0 632[38]
Windows PowerShell 3.0 ungefähr 1.000[39]
Windows PowerShell 4.0 ?
Windows PowerShell 5.0 ungefähr 1.300[40]
Windows PowerShell 5.1 1586
PowerShell Core 6.0 ?
PowerShell Core 6.1 ?
PowerShell Core 6.2 ?
Powershell 7.0 1507
Powershell 7.1 ?
Powershell 7.2 ?

CMDlets können durch Snap-Ins (in V2) und Modulen in die Schale hinzugefügt werden. Benutzer sind nicht auf die CMDLets beschränkt, die in der Basis -PowerShell -Installation enthalten sind.

Pipeline

PowerShell implementiert das Konzept von a Pipeline, was ermöglicht, die Ausgabe eines CMDLET in ein anderes CMDLET als Eingang zu leiten. Zum Beispiel die Ausgabe des Get-Process cmdlet könnte an die geleitet werden Wo-objekt jeden Prozess mit weniger als 1 MB von zu filtern ausgelassener Speicherund dann zum Sort-Objekt cmdlet (z. B. die Sortierung der Objekte nach Griffzählung) und schließlich zur Select-Object CMDLET, um nur die ersten zehn Prozesse basierend auf der Anzahl der Handle auszuwählen.

Wie mit Unix -Pipelines, PowerShell -Pipelines können komplexe Befehle konstruieren, wobei die | Bediener zum Verbinden von Stufen. Die PowerShell -Pipeline unterscheidet sich jedoch von UNIX -Pipelines in dieser Phase aus. innerhalb Die PowerShell -Laufzeit und nicht als eine Reihe von Prozessen, die von der koordiniert werden Betriebssystem. Zusätzlich strukturierte .net -Objekte und nicht Byteströme, werden von einer Stufe zur nächsten weitergegeben. Verwendung Objekte und Durchführung von Phasen innerhalb der PowerShell -Laufzeit beseitigt die Notwendigkeit Serialisieren Datenstrukturen oder um sie explizit zu extrahieren Parsing Textausgabe.[41] Ein Objekt kann auch Kapiteller Bestimmte Funktionen, die an den enthaltenen Daten funktionieren, die dem Empfängerbefehl zur Verwendung zur Verfügung stehen.[42][43] Für das letzte CMDLet in einer Pipeline übergibt PowerShell das Ausgabeobjekt automatisch in die Übereinstimmend CMDLET, das die Objekte in einen Strom von Formatobjekten umwandelt und dann diese auf den Bildschirm rendert.[44][45]

Da alle PowerShell -Objekte .NET -Objekte sind, teilen sie a a .ToString () Methode, die die Textdarstellung der Daten in einem Objekt abruft. Darüber hinaus ermöglicht PowerShell die Angabe von Formatierungsdefinitionen, sodass die Textdarstellung von Objekten angepasst werden kann, indem ausgewählt wird, welche Datenelemente angezeigt werden und auf welche Weise. Um jedoch aufrechtzuerhalten RückwärtskompatibilitätWenn in einer Pipeline eine externe ausführbare Datei verwendet wird, empfängt sie einen Textstrom, der das Objekt darstellt, anstatt direkt in das System des PowerShell -Typs zu integrieren.[46][47][48]

Scripting

Windows PowerShell enthält a dynamisch getippt Skriptsprache Dies kann komplexe Operationen mit CMDLets implementieren unbedingt. Die Skriptsprache unterstützt Variablen, Funktionen, Verzweigungen (If-then-else), Schleifen (während, tun, zum, und für jeden), strukturierter Fehler-/Ausnahmebehandlung und Schließungen/Lambda -Ausdrücke,[49] sowie Integration mit .NET. Variablen in PowerShell -Skripten werden mit vorangestellt $. Variablen können jeden Wert zugewiesen werden, einschließlich der Ausgabe von CMDLets. Saiten können entweder in einzelnen Zitate oder in Doppelzitaten eingeschlossen werden: Wenn Sie doppelte Zitate verwenden, werden Variablen auch dann erweitert, wenn sie sich in den Anführungszeichen befinden. Schließen Sie den Pfad zu einer Datei in Zahnspangen ein, der ein Dollar -Schild (wie in $ {C: \ foo.txt}) Erstellt einen Verweis auf den Inhalt der Datei. Wenn es als als verwendet wird L-Wert, alles, was ihm zugewiesen ist, wird in die Datei geschrieben. Wenn als ein verwendet R-WertDer Inhalt der Datei wird gelesen. Wenn ein Objekt zugewiesen wird, wird es vor dem Speichern serialisiert.

Objektmitglieder können mithilfe mithilfe von Zugriff aufgenommen werden . Notation, wie in C# Syntax. PowerShell liefert spezielle Variablen, wie z. $ args, was ein Array aller Befehlszeilenargumente ist, die an eine Funktion aus der Befehlszeile übergeben wurden, und $ _, was sich auf das aktuelle Objekt in der Pipeline bezieht.[50] PowerShell bietet ebenfalls Arrays und assoziative Arrays. Die PowerShell -Skriptsprache bewertet auch arithmetische Ausdrücke, die sofort in die Befehlszeile eingegeben wurden, und analysiert gemeinsame Abkürzungen wie GB, MB und KB.[51][52]

Verwendung der Funktion Keyword, PowerShell sorgt für die Erstellung von Funktionen. Eine einfache Funktion hat den folgenden allgemeinen Look:[53]

Funktion Name ([Typ]$ Param1, [Typ]$ Param2) {  # Anweisungen } 

PowerShell ermöglicht jedoch erweiterte Funktionen, die benannte Parameter, Positionsparameter, Switchparameter und dynamische Parameter unterstützen.[53]

Funktion Verb Nomen {   Param (   # Definition statischer Parameter   )   Dynamicparam {   # Definition dynamischer Parameter   }   Start {   # Anweisungssatz für den Start der Pipeline   }   Prozess {   # Hauptanweisungssätze, lief für jeden Artikel in der Pipeline   }   Ende {   # Anweisungssatz, die am Ende der Pipeline ausgeführt werden soll   } } 

Die definierte Funktion wird in einer der folgenden Formen aufgerufen:[53]

Name Wert1 Wert2 Verb Nomen -PARAM1 Wert1 -PARAM2 Wert2 

Mit PowerShell können statische .NET -Methoden aufgerufen werden, indem der in Klammern eingeschlossenen Namespaces (in Klammern eingeschlossen ist ([]) und dann ein Paar Colons (::) um die statische Methode anzuzeigen.[54] Zum Beispiel:

[Konsole]::Schreiben("Power Shell") 

Es gibt Dutzende von Möglichkeiten, Objekte in PowerShell zu erstellen. Nach dem Erstellen kann man auf die Eigenschaften und Instanzmethoden eines Objekts zugreifen . Notation.[54]

Powershell akzeptiert Saitensowohl roh als auch entkam. Eine Schnur zwischen Single eingeschlossen Anführungszeichen ist eine rohe Zeichenfolge, während eine Zeichenfolge, die zwischen den doppelten Anführungszeichen eingeschlossen ist, eine entkommene Zeichenfolge ist. Powershell behandelt gerade und lockige Zitate als gleichwertig.[55]

Die folgende Liste von Sonderzeichen wird von PowerShell unterstützt:[56]

Powershell -Sonderfiguren
Reihenfolge Bedeutung
`0 Null
`a Alarm
`b Rücktaste
`e Flucht
`f Formfutter
`n Neue Zeile
`r Kutschenrückkehr
`t Horizontale Registerkarte
`u {x} Unicode Fluchtabfolge
`v Vertikale Registerkarte
--% Behandle jeden Charakter von diesem Punkt an buchstäblich vorwärts

Für die Fehlerbehandlung bietet PowerShell einen .NET-basierten. Ausnahmebehandlung Mechanismus. Bei Fehlern, die Informationen über den Fehler enthalten (Ausnahme Objekt) werden geworfen, die mit dem gefangen werden versuche ... fangen Konstrukt (obwohl a fangen Konstrukt wird ebenfalls unterstützt). PowerShell kann so konfiguriert werden, dass die Ausführung stillschweigend wieder aufgenommen wird. Dies kann entweder auf einem einzigen Befehl, einer einzelnen Sitzung oder ständig erfolgen.[57]

Skripte, die mit PowerShell geschrieben wurden .ps1 Datei oder a .psm1 Datei (letzteres wird verwendet, um ein Modul zu implementieren). Später können entweder das gesamte Skript oder die individuellen Funktionen im Skript verwendet werden. Skripte und Funktionen arbeiten analog mit CMDLets, da sie als Befehle in Pipelines verwendet werden können und Parameter an sie gebunden werden können. Pipeline -Objekte können nahtlos zwischen Funktionen, Skripten und CMDlets übergeben werden. Um ein unbeabsichtigtes Ausführen von Skripten zu verhindern, ist die Skriptausführung standardmäßig deaktiviert und muss explizit aktiviert werden.[58] Das Aktivieren von Skripten kann entweder auf System-, Benutzer- oder Sitzungsebene durchgeführt werden. PowerShell -Skripte können sein unterzeichnet um ihre Integrität zu überprüfen und unterliegen Code -Zugriffssicherheit.[59]

Die PowerShell -Skriptsprache unterstützt Binärer Präfix Notation ähnlich dem wissenschaftliche Schreibweise Unterstützt von vielen Programmiersprachen in der C-Familie.[60]

Hosting

Man kann auch PowerShell verwenden, der in eine Verwaltungsanwendung eingebettet ist, die die PowerShell -Laufzeit verwendet, um die Verwaltungsfunktionalität zu implementieren. Dafür bietet PowerShell a gelang es Hosting API. Über die API kann die Anwendung a instanziieren Runspace (Eine Instanziierung der PowerShell -Laufzeit), die in der Anwendung ausgeführt wird Prozess und wird als a freigelegt Runspace Objekt.[6] Der Zustand des Runspace ist in a eingeschlossen SessionState Objekt. Wenn der Runspace erstellt wird, initialisiert die Windows PowerShell -Laufzeit die Instanziierung, einschließlich der Initialisierung der Anbieter und der Aufzählung der CMDLets und aktualisiert die SessionState Objekt entsprechend. Der Runspace muss dann entweder für die synchrone Verarbeitung oder asynchrone Verarbeitung geöffnet werden. Danach kann es verwendet werden, um Befehle auszuführen.

Um einen Befehl auszuführen, eine Pipeline (dargestellt durch a Pipeline Objekt) muss erstellt und dem Runspace zugeordnet werden. Das Pipeline -Objekt wird dann mit den CMDLets besiedelt, aus denen die Pipeline besteht. Für sequentielle Operationen (wie in einem PowerShell -Skript) wird für jede Anweisung ein Pipeline -Objekt erstellt und in einem anderen Pipeline -Objekt verschachtelt.[6] Wenn eine Pipeline erstellt wird, ruft Windows PowerShell den Pipeline -Prozessor auf Versammlungen (das Befehlsprozessor) und fügt ihnen die Pipeline zu verweisen und assoziiert sie mit Eingabepipe, Ausgabepipe und FehlerputPipe Objekte, um die Verbindung mit der Pipeline darzustellen. Die Typen werden verifiziert und die Parameter gebunden unter Verwendung Betrachtung.[6] Sobald die Pipeline eingerichtet ist, ruft der Host die auf Aufrufen() Methode zum Ausführen der Befehle oder dessen asynchrones Äquivalent, Invokeasync (). Wenn die Pipeline die hat Schreibhost cmdlet am Ende der Pipeline schreibt es das Ergebnis auf den Konsolenbildschirm. Wenn nicht, werden die Ergebnisse an den Host übergeben, der entweder eine weitere Verarbeitung anwendet oder die Ausgabe selbst anzeigt.

Microsoft Exchange Server 2007 verwendet die Hosting -APIs, um seine Management -GUI zu bereitstellen. Jede in der GUI ausgesetzte Operation wird einer Abfolge von PowerShell -Befehlen (oder Pipelines) zugeordnet. Der Host erstellt die Pipeline und führt sie aus. Tatsächlich ist die interaktive PowerShell -Konsole selbst ein Powershell -Gastgeber, der interpretiert Die in die Befehlszeile eingegebenen Skripte und die erforderlichen Erstellung Pipeline Objekte und ruft sie auf.

Gewünschte Zustandskonfiguration

DSC ermöglicht deklarativ an, wie eine Softwareumgebung konfiguriert werden soll.[61]

Beim Laufen a Aufbau, DSC stellt sicher, dass das System den in der Konfiguration beschriebenen Zustand erhält. DSC -Konfigurationen sind idempotent. Das Lokaler Konfigurationsmanager (LCM) stellt das System regelmäßig mit dem durch beschriebenen Kontrollfluss ab Ressourcen (Imperative Teile von DSC) Um sicherzustellen, dass der Zustand einer Konfiguration beibehalten wird.

Versionen

Anfänglich wurde Powershell im Oktober 2003 in Los Angeles zum ersten Mal auf der Professional Developers Conference "Monad" mit dem Codenamen "Monad" angegeben. Alle wichtigen Veröffentlichungen werden weiterhin unterstützt, und bei jeder Hauptveröffentlichung wurde die Kompatibilität rückwärts mit den vorhergehenden Versionen zurückgestellt.

Windows PowerShell 1.0

Windows PowerShell 1.0 -Sitzung mit der Windows -Konsole

PowerShell 1.0 wurde im November 2006 für veröffentlicht Windows XP SP2, Windows Server 2003 SP1 und Windows Vista.[62] Es ist eine optionale Komponente von Windows Server 2008.

Windows PowerShell 2.0

Windows PowerShell Ise v2.0 auf Windows 7, ein integrierte Entwicklungsumgebung Für PowerShell -Skripte.

PowerShell 2.0 ist in integriert in Windows 7 und Windows Server 2008 R2[63] und wird freigelassen für Windows XP mit Service Pack 3, Windows Server 2003 mit Service Pack 2 und Windows Vista mit Service Pack 1.[64][65]

PowerShell V2 enthält Änderungen an der Skriptsprache und zur Hosting -API sowie mehr als 240 neue CMDlets.[66][67]

Zu den neuen Funktionen von PowerShell 2.0 gehören:[68][69][70]

  • Powershell Remoting: Verwendung WS-ManagementMit PowerShell 2.0 können Skripte und CMDlets auf einer Remotemaschine oder einem großen Satz Remote -Maschinen aufgerufen werden.
  • Hintergrundjobs: Auch a genannt PSJOBEs ermöglicht eine Befehlssequenz (Skript) oder Pipeline, die asynchron aufgerufen werden kann. Jobs können auf dem lokalen Computer oder auf mehreren Remote -Maschinen ausgeführt werden. Ein interaktives CMDLet in einem PSJOB blockiert die Ausführung des Jobs, bis die Benutzereingabe bereitgestellt wird.
  • Transaktionen: Aktivieren Sie CMDLET und Entwickler können durchführen Transaktionsvorgänge. PowerShell 2.0 beinhaltet Transaktions -CMDlets zum Starten, Verhalten und Zurückrollen von A. Pstransaktion sowie Funktionen, um die Transaktion auf die teilnehmenden CMDLET- und Anbieteroperationen zu verwalten und zu lenken. Der Anbieter von PowerShell Registry unterstützt Transaktionen.
  • Erweiterte Funktionen: Dies sind CMDlets, die mit der PowerShell -Skriptsprache geschrieben wurden. Diese Funktion wurde zunächst "Skript cmdlets" genannt und wurde später in "Erweiterte Funktionen" umbenannt.[71]
  • SteppablePipelines: Dies ermöglicht dem Benutzer, zu steuern, wenn die Beginprocessing (), Processrecord () und Endprozessing () Funktionen eines CMDLet werden aufgerufen.
  • Module: Dies ermöglicht Skriptentwicklern und Administratoren, PowerShell-Skripte in in sich geschlossenen, wiederverwendbaren Einheiten zu organisieren und zu partitionieren. Code von a Modul führt in seinem eigenen in sich geschlossenen Kontext aus und wirkt sich nicht auf den Zustand außerhalb des Moduls aus. Module können eine eingeschränkte Runspace -Umgebung mithilfe eines Skripts definieren. Sie haben einen anhaltenden Staat sowie öffentliche und private Mitglieder.
  • Datensprache: Eine domänenspezifische Teilmenge der PowerShell-Skriptsprache, mit der Datennennzeichen aus den Skripten entkoppelt und zulässt lokalisiert String -Ressourcen, die zur Laufzeit in das Skript importiert werden sollen (Skript Internationalisierung).
  • Skript -Debugging: Es erlaubt Haltepunkte in ein PowerShell -Skript oder -funktion festgelegt werden. Breakpoints können auf Zeilen, Zeilen und Spalten, Befehle, Befehle und Lesen oder Schreiben von Variablen eingestellt werden. Es enthält eine Reihe von CMDlets, um die Haltepunkte über das Skript zu steuern.
  • Ereignis: Diese Funktion ermöglicht das Zuhören, Weiterleiten und Einhalten auf Management- und Systemereignisse. Mit Eventing können PowerShell -Hosts über staatliche Änderungen an ihren verwalteten Unternehmen informiert werden. Es ermöglicht auch PowerShell -Skripte, sich abonnieren Objektevents, PSEVENTS, und WMEVENTS und verarbeiten Sie sie synchron und asynchron.
  • Windows PowerShell Integrated Scripting Umgebung (ISE): Powershell 2.0 enthält einen GUI-basierten PowerShell-Host, der integrierten Debugger bietet. Satzstellung markieren, Registerkarte Abschluss und bis zu 8 PowerShell Unicode-fähige Konsolen (Runspaces) in einer Registerkarte UI sowie die Möglichkeit, nur die ausgewählten Teile in einem Skript auszuführen.
  • Übertragung von Netzwerkdateien: Native Unterstützung für priorisierte, drosselte und asynchrone Übertragung von Dateien zwischen Maschinen mithilfe der Intelligenter Hintergrund Transfer Service (Bits).[72]
  • Neue CMDlets: Einschließlich Nutzansicht, wodurch tabellarische Daten in der angezeigt werden WPF Rasteransicht Objekt auf Systemen, die es zulassen, und wenn ISE installiert und aktiviert ist.
  • Neue Betreiber: -Teilt, -Verbindenund sprengen (@) Betreiber.
  • Ausnahmebehandlung mit Try-Catch-final: Im Gegensatz zu anderen .NET -Sprachen ermöglicht dies mehrere Ausnahmetypen für einen einzelnen Fangblock.
  • Nestable hier: Power Shell Hier wurden verbessert und können jetzt nisten.[73]
  • Block Kommentare: PowerShell 2.0 unterstützt Block -Kommentare mithilfe <# und #> als Grenzwerte.[74]
  • Neue APIs: Die neuen APIs reichen von mehr Kontrolle über den PowerShell -Parser und Laufzeit bis hin zum Host bis hin zum Erstellen und Verwalten von Sammlung von Runspaces (Runspacepools) sowie die Fähigkeit zu schaffen Eingeschränkte Runs Dies ermöglicht nur eine konfigurierte Teilmenge von PowerShell. Die neue APIs unterstützen auch die Teilnahme an einer von PowerShell verwalteten Transaktion

Windows PowerShell 3.0

PowerShell 3.0 ist in integriert in Windows 8 und mit Windows Server 2012. Microsoft hat auch PowerShell 3.0 zur Verfügung gestellt Windows 7 mit Service Pack 1 für Windows Server 2008 mit Service Pack 1 und für Windows Server 2008 R2 mit Service Pack 1.[75][76]

PowerShell 3.0 ist Teil eines größeren Pakets, Windows -Management -Framework 3.0 (WMF3), das auch die enthält Winrm Service zur Unterstützung von Remoting.[76] Microsoft machte mehrere Vorschau der Community -Technologie Veröffentlichungen von WMF3. Eine frühe Community -Technologie -Vorschau 2 (CTP 2) -Version von Windows Management Framework 3.0 wurde am 2. Dezember 2011 veröffentlicht.[77] Windows Management Framework 3.0 wurde im Dezember 2012 für die allgemeine Verfügbarkeit veröffentlicht[78] und ist standardmäßig in Windows 8 und Windows Server 2012 enthalten.[79]

Zu den neuen Funktionen in PowerShell 3.0 gehören:[76][80]: 33–34

  • Geplante Jobs: Jobs können für eine voreingestellte Zeit und Datum mit dem ausgeführt werden Windows Task Scheduler Infrastruktur.
  • Sitzungskonnektivität: Sitzungen können getrennt und wieder verbunden werden. Remote -Sitzungen sind gegenüber temporären Netzwerkfehlern toleranter geworden.
  • Verbessertes Code schreiben: Code -Abschluss (IntelliSense) und Schnipsel sind hinzugefügt. Mit PowerShell ISE können Benutzer Dialogfelder verwenden, um Parameter für PowerShell -CMDlets auszufüllen.
  • Delegationsunterstützung: Verwaltungsaufgaben können an Benutzer delegiert werden, die keine Berechtigungen für diese Art von Aufgabe haben, ohne ihnen ewige zusätzliche Berechtigungen zu erteilen.
  • Hilfe bei Update: Hilfsdokumentationen können über den Befehl Update-Help aktualisiert werden.
  • Automatische Modulerkennung: Module werden implizit geladen, wenn ein Befehl dieses Moduls aufgerufen wird. Die Code -Fertigstellung funktioniert auch für entladene Module.
  • Neue Befehle: Es wurden Dutzende neuer Module hinzugefügt, einschließlich Funktionen zum Verwalten von Datenträgern Get-WmiObject Win32_LogicalDisk, Volumina, Firewalls, Netzwerkverbindungen und Drucker, die zuvor über WMI durchgeführt wurden.[Weitere Erklärung erforderlich]

Windows PowerShell 4.0

PowerShell 4.0 ist in integriert in Windows 8.1 und mit Windows Server 2012 R2. Microsoft hat auch PowerShell 4.0 zur Verfügung gestellt Windows 7 SP1, Windows Server 2008 R2 Sp1 und Windows Server 2012.[81]

Zu den neuen Funktionen in PowerShell 4.0 gehören:

  • Gewünschte Zustandskonfiguration:[82][83][84] Deklarative Spracherweiterungen und -tools, die die Bereitstellung und Verwaltung von Konfigurationsdaten für Systeme mithilfe des DMTF Managementstandards und WS-Management Protokoll
  • Neue Ausführungsrichtlinie: Unter Windows -Servern ist die Standardausführungsrichtlinie jetzt Abgelegen.
  • Save-Help: Hilfe kann jetzt für Module gespeichert werden, die auf Remote -Computern installiert sind.
  • Verbessertes Debuggen: Das Debugger Unterstützt nun Debugging -Workflows, Remote -Skriptausführung und Erhaltung von Debugging -Sitzungen über die Wiederherstellung von PowerShell -Sitzungen.
  • -PipelineVariable Switch: Ein neuer allgegenwärtiger Parameter, um das aktuelle Pipeline -Objekt als Variable für Programmierzwecke freizulegen
  • Netzwerkdiagnostik physisch verwalten und Hyper-V'S virtualisiert Netzwerkschalter
  • Wo und fürh Die Methodensyntax bietet eine alternative Methode zum Filtern und Iterieren über Objekte.

Windows PowerShell 5.0

PowerShell 5.0 Ikone

Windows Management Framework (WMF) 5.0 RTM, das PowerShell 5.0 enthält, wurde am 24. Februar 2016 nach einer ersten Veröffentlichung mit einem schweren Fehler in das Web veröffentlicht.[85]

Schlüsselfunktionen enthalten:

  • Das neue Klasse Stichwort das schafft Klassen zum Objekt orientierte Programmierung
  • Das neue Auflauf Schlüsselwort, das erstellt Aufschwung
  • OneGe cmdlets, um die zu unterstützen Schokoladig Paket-Manager[86]
  • Erweiterung der Unterstützung für das Switch -Management auf Schicht 2 Netzwerkschalter.[87]
  • Debugging für Powershell -Hintergrundjobs und Instanzen von Powershell, die in anderen Prozessen gehostet werden (jeweils wird als "Runspace" bezeichnet)
  • DSC -Konfiguration (gewünschte Zustandskonfiguration) Local Configuration Manager (LCM) Version 2.0
  • DSC -Teilkonfigurationen
  • DSC Local Configuration Manager Meta-Konfigurationen
  • Verfasser von DSC -Ressourcen unter Verwendung von PowerShell -Klassen

Windows PowerShell 5.1

Es wurde zusammen mit dem freigelassen Windows 10 Jubiläumsaktualisierung[88] am 2. August 2016 und in Windows Server 2016.[89] Packagemanagement unterstützt jetzt Proxies, PsReadline hat jetzt Vimode-Unterstützung und zwei neue CMDLets wurden hinzugefügt: Get-TimeZone und Set-TimeZone. Das Local Accounts -Modul ermöglicht das Hinzufügen/Entfernen lokaler Benutzerkonten.[90] Eine Vorschau für PowerShell 5.1 wurde für Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 und Windows Server 2012 R2 am 16. Juli 2016 veröffentlicht.[91] und wurde am 19. Januar 2017 veröffentlicht.[92]

PowerShell 5.1 ist die erste Version, die in zwei Ausgaben von "Desktop" und "Core" erhältlich ist. Die "Desktop" -Edition ist die Fortsetzung der traditionellen Windows PowerShell, die auf dem .NET -Framework -Stack ausgeführt wird. Die "Core" -Edition läuft auf .NET Core und wird mit Windows Server 2016 Nano Server gebündelt. Als Gegenleistung für einen kleineren Fußabdruck fehlt dieser einige Funktionen wie die CMDLets zum Verwalten von Zwischenablagen oder zum Verbinden eines Computers zu einer Domäne, der WMI Version 1 CMDLets, Ereignisprotokoll -CMDLets und Profile.[23] Dies war die endgültige Version von PowerShell, die ausschließlich für Windows hergestellt wurde.

Powershell Core 6

Powershell Core 6.0 wurde erstmals am 18. August 2016 angekündigt, als Microsoft PowerShell Core und seine Entscheidung, das Produkt zu machen plattformübergreifendunabhängig von Windows, kostenlos und Open Source.[5] Es erreichte Allgemeine Verfügbarkeit am 10. Januar 2018 für Windows, Mac OS und Linux.[93] Es hat einen eigenen Support -Lebenszyklus und hält sich an die Microsoft Lifecycle -Richtlinie, die mit Windows 10 eingeführt wird: Nur die neueste Version von PowerShell Core wird unterstützt. Microsoft erwartet, alle sechs Monate eine kleine Version für PowerShell Core 6.0 zu veröffentlichen.[94]

Die wichtigste Änderung dieser Version von PowerShell ist die Erweiterung auf die anderen Plattformen. Für Windows -Administratoren enthielt diese Version von PowerShell keine wichtigen neuen Funktionen. In einem Interview mit der Community am 11. Januar 2018 wurde das Powershell -Team gebeten, die zehn aufregendsten Dinge aufzulisten, die für einen Windows IT -Profi passieren würden, der von Windows Powershell 5.1 nach Powershell Core 6.0 migrieren würde. Als Reaktion darauf konnte Angel Calvo von Microsoft nur zwei nennen: plattformübergreifend und offen.[95]

Laut Microsoft ist eine der neuen Funktionen von PowerShell 6.1 "Kompatibilität mit 1900+ vorhandenen CMDlets in Windows 10 und Windows Server 2019. "[96] Dennoch finden Sie keine Details dieser CMDLets in der Vollversion des Änderungsprotokolls.[97] Microsoft bekennt später, dass diese Zahl nicht ausreicht, da PowerShell Core Windows PowerShell 5.1 nicht ersetzt und an Windows Traktion gewonnen hat.[98] Es war jedoch unter Linux beliebt.[98]

PowerShell Core 6.2 konzentriert sich hauptsächlich auf Leistungsverbesserungen, Fehlerbehebungen sowie kleinere CMDLET- und Sprachverbesserungen, die die Produktivität der Entwickler verbesserten.[99]

Powershell 7

PowerShell 7 ist der Ersatz für PowerShell Core 6.x -Produkte sowie Windows PowerShell 5.1, die zuletzt unterstützte Windows PowerShell -Version.[100][98] Der Fokus in der Entwicklung lag darauf, PowerShell 7 zu einem praktikablen Ersatz für Windows PowerShell 5.1 zu machen, d. H. Um die Kompatibilität mit Modulen mit Windows zu entsprechen, die nahezu paritäts mit Windows PowerShell haben.[101]

Zu den neuen Funktionen in PowerShell 7 gehören:[102]

  • Das -Parallel Wechseln Sie für die Foreach-Objekt CMDLET, um die parallele Verarbeitung zu verarbeiten
  • Nahe Parität mit Windows PowerShell in Bezug auf die Kompatibilität mit integrierten Windows-Modulen
  • Eine neue Fehleransicht
  • Das Erreger cmdlet
  • Pipeline -Kettenbetreiber (&& und ||), die eine bedingte Ausführung des nächsten CMDLET in der Pipeline ermöglichen
  • Das ?: Bediener für ternärer Betrieb
  • Das ?? = Bediener, der einer Variablen nur einen Wert zuweist, wenn der vorhandene Wert der Variablen ist Null
  • Das ? Bediener für Null -Koalescing
  • Plattformübergreifend Invoke-dscresource (Experimental)
  • Rückkehr der Nutzansicht cmdlet
  • Rückkehr der -Schaufenster Wechseln Sie für die Hilfe bekommen

Powershell 7.2

PowerShell 7.2 ist nach Version 7.0 die nächste langfristige Support-Version von PowerShell. Es verwendet .NETZ 6.0 und verfügt über universelle Installationsprogrammpakete für Linux. Unter Windows werden Updates an PowerShell 7.2 und später über die erhalten Microsoft Update Service; Diese Funktion fehlte von PowerShell 6.0 bis 7.1.[103]

Vergleich von CMDlets mit ähnlichen Befehlen

Die folgende Tabelle enthält eine Auswahl der CMDLets, die mit PowerShell versandt und ähnliche Befehle in anderen bekannten Befehlszeileninterpretern angibt. Viele dieser ähnlichen Befehle werden außerhalb des Boxs als Aliase in PowerShell definiert, sodass es Menschen, die mit anderen gemeinsamen Shells vertraut sind, leicht zu arbeiten.

Vergleich von PowerShell-CMDlets mit internen und externen Befehlen anderer Befehlszeileninterpreten
PowerShell (CMDLET) Powershell (Alias) Windows -Eingabeaufforderung Unix Shell Beschreibung
Get-Childitem GCI, Dir, ls[a] Dir ls Listet alle Dateien und Ordner im aktuellen oder angegebenen Ordner auf
Testverbindung[b] Klingeln Klingeln Klingeln Sendet ICMP -Echoanfragen an die angegebene Maschine von der aktuellen Maschine oder weist eine andere Maschine dazu an, dies zu tun
Treffen GC, Typ, Katze Typ Katze Ruft den Inhalt einer Datei ab
Get-Command GCM Hilfe, wo Typ, die, compgen Listet die verfügbaren Befehle auf und erhält den Befehlsweg
Hilfe bekommen Hilfe, Mann Hilfe apropos, Mann Druckt die Dokumentation eines Befehls auf der Konsole
Klarhost Cls, klar Cls klar Löscht den Bildschirm[c]
Kopie CPI, Kopie, CP Kopieren, xcopy, Robocopy CP Kopiert Dateien und Ordner an einen anderen Ort
Umzug MI, Move, MV Bewegung MV Verschiebt Dateien und Ordner an einen neuen Speicherort
Gegenstand entfernen RI, Del, ERASE, RMDIR, RD, RM del, löschen, rmdir, Rd rm, rmdir Löscht Dateien oder Ordner
Umbenennen RNI, Ren, MV Ren, umbenennen MV Benennt eine einzelne Datei, einen Ordner, einen harten Link oder einen symbolischen Link um
Stammdarstellung GL, CD, PWD CD PWD Zeigt den Arbeitspfad an (aktueller Ordner)
Pop-Location Popd Popd Popd Ändert den Arbeitspfad zum zuletzt auf den Stapel gedrängten Ort
Push-Location Pushd Pushd Pushd Speichert den Arbeitspfad auf dem Stapel
Ort festlegen SL, CD, Chdir CD, Chdir CD Ändert den Arbeitspfad
T-Shirt-Objekt T -Shirt - T -Shirt Pipes Eingabe in eine Datei oder Variable und übergeben die Eingabe entlang der Pipeline
Reportput Echo, schreiben Echo Echo Druckt Strings oder andere Objekte zum Standardausgabe
Get-Process GPS, PS Tlist,[d] Aufgabenliste[e] ps Listet alle laufenden Prozesse auf
Stoppprozess SPPS, töten töten,[d] TaskKill[e] töten[f] Stoppt einen Laufprozess
Auswahl sls Findstr finden, Grep Druckt Linien, die einem Muster entsprechen
Set-variable SV, gesetzt einstellen env, exportieren, set, setEnv Schafft oder verändert den Inhalt von a Umgebungsvariable
Invoke-WebRequest iwr, Curl, WGet[g] Locken[105] wget, Curl Ruft Inhalte von einer Webseite im Internet ab

Anmerkungen

  1. ^ ls Alias ​​fehlt in der Linux -Version von PowerShell Core.
  2. ^ Während das äußere Klingeln Befehl bleibt für PowerShell zur Verfügung, die Ausgabe von Test Connection ist ein strukturiertes Objekt Das kann programmatisch inspiziert werden.[104]
  3. ^ Clear-Host wird als vordefinierte PowerShell-Funktion implementiert.
  4. ^ a b Verfügbar in Windows NT 4, Windows 98 Resource Kit, Windows 2000 Support -Tools
  5. ^ a b Eingeführt in Windows XP Professional Edition
  6. ^ Wird auch in Unix verwendet, um einen Prozess zu senden SignalDas "Beendigung" -Signal ist lediglich das Standardwert
  7. ^ Locken und wget Aliase fehlen im Powershell -Kern, um das Aufrufen von ähnlich benannten nativen Befehlen nicht zu beeinträchtigen.

Dateiname -Erweiterungen

Verlängerung Beschreibung
.ps1 Skriptdatei[106]
.psd1 Manifestdatei des Moduls; Normalerweise wird ein Skriptmodul oder ein binäres Modul geliefert[107]
.psm1 Skriptmoduldatei[108]
.dll DLL-konform[a] Binärmoduldatei[109]
.ps1xml Format- und Typdefinitionsdatei[48][110]
.xml Xml-konform[b] Serialisierte Datendatei[111]
.psc1 Konsolendatei[112]
.pssc Sitzungskonfigurationsdatei[113]
.psrc Rollenfähigkeitsdatei[114]
  1. ^ Dynamische Link Bibliothek (DLL) ist kein nur PowerShell-Format. Es ist ein generisches Format zum Speichern kompilierter .NET MontageCode.
  2. ^ Xml ist kein PowerShell-Format. Es ist ein beliebtes Informationsaustauschformat.

Anwendungsunterstützung

Anwendung Ausführung Cmdlets Anbieter Management -GUI
Austausch server 2007 402 Ja Ja
Windows Server 2008 Ja Ja Nein
Microsoft SQL Server 2008 Ja Ja Nein
Microsoft SharePoint 2010 Ja Ja Nein
Systemcenter -Konfigurationsmanager 2012 R2 400+ Ja Nein
Systemzentrum Operations Manager 2007 74 Ja Nein
System Center Virtual Machine Manager 2007 Ja Ja Ja
System Center Data Protection Manager 2007 Ja Nein Nein
Windows compute Cluster -Server 2007 Ja Ja Nein
Microsoft Transporter Suite für Lotus Domino[115] 08.02.0012 47 Nein Nein
Microsoft Powertools für Öffnen Sie XML[116] 1.0 33 Nein Nein
IBM WebSphere MQ[117] 6.0.2.2 44 Nein Nein
IoT Core Add-Ons[118] 74 Unbekannt Unbekannt
Quest -Management -Shell für Active Directory[119] 1.7 95 Nein Nein
Befehl Special Operations Software Specops[120] 1.0 Ja Nein Ja
VMware vSphere Powercli[121] 6.5 R1 500+ Ja Ja
Internetinformationsdienste[122] 7.0 54 Ja Nein
Windows 7 Fehlerbehebung Center[123] 6.1 Ja Nein Ja
Microsoft Deployment Toolkit[124] 2010 Ja Ja Ja
NetApp PowerShell Toolkit[125][126] 4.2 2000+ Ja Ja
JAMS Scheduler - Arbeitszugriffs- und Managementsystem[127] 5.0 52 Ja Ja
UIAUTOMATION[128] 0,8 432 Nein Nein
Dell EqualLogic[129] 3.5 55 Nein Nein
Loginventory[130] 5.8 Ja Ja Ja
Sepsx[131] 0.4.1 39 Nein Nein

Alternative Implementierung

Ein Projekt namens Pasch, a Wortspiel auf dem weithin bekannten "verprügeln"Unix Shell, war ein Open Source und plattformübergreifend Neuauflagen von PowerShell über die Mono -Framework.[132] Pash wurde von Igor Moochnick erstellt, geschrieben in C# und wurde unter dem freigelassen GNU Allgemeine öffentliche Lizenz. Die Pashentwicklung wurde 2008 zum Stillstand gebracht, wurde neu gestartet GitHub in 2012,[133] und schließlich im Jahr 2016 eingestellt, als Powershell offiziell Open-Source und plattformübergreifend gemacht wurde.[134]

Siehe auch

Verweise

  1. ^ "V7.2.5 Veröffentlichung von PowerShell". Powershell/Powershell Repo. Microsoft. Abgerufen 2022-06-21 - via Github.com.
  2. ^ "V7.3.0-Präview.5 Veröffentlichung von PowerShell". Powershell/Powershell Repo. Microsoft. Abgerufen 2022-07-12 - via Github.com.
  3. ^ "PowerShell für jedes System!". 12. Juni 2017 - via Github.com.
  4. ^ Snover, Jeffrey (25. Mai 2008). "Powershell und WPF: WTF". Windows PowerShell -Blog. Microsoft.
  5. ^ a b c Bright, Peter (2016-08-18). "PowerShell ist die neueste Open -Source -Veröffentlichung von Microsoft, die zu Linux, OS X, kommt.". ARS Technica. Conde nast. Archiviert vom Original am 2020-04-09. Abgerufen 2020-05-12.
  6. ^ a b c d e "Wie Windows PowerShell funktioniert". Microsoft Developer Network. Microsoft. Abgerufen 2007-11-27.
  7. ^ Truher, Jim (Dezember 2007). "Windows PowerShell mit benutzerdefinierten Befehlen erweitern". MSDN Magazine. Microsoft. Archiviert von das Original am 6. Oktober 2008.
  8. ^ Lowe, Scott (4. Januar 2007). "Exchange 2007: Gewöhne sich an die Befehlszeile". TechRepublic. CBS interaktiv. Archiviert vom Original am 2018-11-16. Abgerufen 2020-05-12.
  9. ^ Snover, Jeffrey (2007-11-13). "SQL Server -Unterstützung für PowerShell!". Windows PowerShell -Blog (Blog -Posting). Microsoft. Archiviert von das Original Am 2007-11-15. Abgerufen 2007-11-13.
  10. ^ Dragan, Richard V. (23. April 2003). "Windows Server 2003 liefert Verbesserungen rundum". Pcmag.com. Ziff Davis. Eine herausragende Funktion hier ist, dass praktisch alle Verwaltungsdienstleistungen jetzt aus der Befehlszeile arbeiten (und die meisten über Telnet verfügbar sind).
  11. ^ Jones, Don (2020). Hülle einer Idee: Die unerzählte Geschichte von Powershell. p. 25. ISBN 978-1-9536450-3-6.
  12. ^ Jeffrey P. Snover (8. August 2002). "Monad Manifest" " (PDF). Windows PowerShell -Blog. Microsoft. Abgerufen 2. April 2021.
  13. ^ Biggar und Harbaugh (2017-09-14). "Der Mann hinter Windows PowerShell". Fortsetzung folgt (Podcast). Schwerbit. Abgerufen 2017-09-14.
  14. ^ "Windows PowerShell (Monad) ist angekommen". Windows PowerShell -Blog. Microsoft. 25. April 2006.
  15. ^ Snover, Jeffrey (15. November 2006). "Windows PowerShell & Windows Vista". Windows PowerShell -Blog (Blog -Posting). Microsoft.
  16. ^ "Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0 und Bits 4.0)". Die Unterstützung. Microsoft. 30. September 2013. Archiviert von das Original am 13. Oktober 2013.
  17. ^ Posey, Brien (6. Oktober 2009). "10 Gründe, warum Sie lernen sollten, PowerShell zu verwenden". TechRepublic. Abgerufen 2. April 2021.
  18. ^ "Was ist Pester und warum sollte es mich interessieren?". 14. Dezember 2015.
  19. ^ Snover, Jeffrey (18. August 2016). "PowerShell ist offen und ist unter Linux erhältlich". Microsoft Azure Blog. Microsoft.
  20. ^ "Powershell/Powershell". GitHub. Abgerufen 2016-08-18.
  21. ^ Hansen, Kenneth; Calvo, Angel (18. August 2016). "PowerShell auf Linux und Open Source!". Windows PowerShell -Blog. Microsoft.
  22. ^ Foley, Mary Jo (18. August 2016). "Microsoft Open Sources PowerShell; bringt es zu Linux und Mac OS X". ZDNET. CBS interaktiv.
  23. ^ a b "PowerShell auf dem Nano -Server". TECHNET. Microsoft. 20. Oktober 2016.
  24. ^ Jones, Don (2020). Hülle einer Idee: Die unerzählte Geschichte von Powershell. p. 45. ISBN 978-1-9536450-3-6.
  25. ^ Payette, Bruce (2007). Windows PowerShell in Aktion. Manning Pubs Co -Serie. Manning. p. 27. ISBN 9781932394900. Abgerufen 2016-07-22. Die Kern -PowerShell -Sprache basiert auf der POSIX 1003.2 -Grammatik für die Korn Shell.
  26. ^ Jones, Don (2020). Hülle einer Idee: Die unerzählte Geschichte von Powershell. p. 109. ISBN 978-1-9536450-3-6.
  27. ^ "About_Command_Precedence". TECHNET. Microsoft. 8. Mai 2014.
  28. ^ Wheeler, Sean (2021-09-07). "Über Parsen - Powershell". Microsoft Docs. Abgerufen 2021-12-05.{{}}: CS1 Wartung: URL-Status (Link)
  29. ^ "Windows PowerShell Extended Types System". Abgerufen 2007-11-28.
  30. ^ a b c "Windows PowerShell Cmdlets". Abgerufen 2007-11-28.
  31. ^ "Erstellen Sie Ihr erstes CMDLet". Abgerufen 2007-11-28.
  32. ^ "Get-Verb" ". TECHNET. Microsoft. 8. Mai 2014.
  33. ^ "CMDLet -Übersicht". Msdn. Microsoft. 8. Mai 2014.
  34. ^ "Hinzufügen von Parametern, die die Befehlszeileneingabe für die Verarbeitung von Vorgangszeilen hinzufügen". Abgerufen 2007-11-28.
  35. ^ "Hinzufügen von Parametern, die Pipeline -Eingabe verarbeiten". Abgerufen 2007-11-28.
  36. ^ "Windows PowerShell -Anbieter". Abgerufen 2010-10-14.
  37. ^ Yoshizawa, Tomoaki; Ramos, Durval (29. September 2012). "PowerShell 1.0 CMDlets". Technikartikel. Microsoft.
  38. ^ Yoshizawa, Tomoaki (10. Juli 2012). "PowerShell 2,0 cmdlets". Technikartikel. Microsoft.
  39. ^ Wilson, Ed (2013). "1: Übersicht über Windows PowerShell 3.0". Windows PowerShell 3.0 Schritt für Schritt. Sebastopol, Kalifornien: Microsoft Press. ISBN 978-0-7356-7000-6. OCLC 829236530. Windows PowerShell 3.0 verfügt über etwa 1.000 cmdlets unter Windows 8
  40. ^ Wilson, Ed (2015). "1: Überblick über Windows PowerShell 5.0". Windows PowerShell Schritt für Schritt (Dritter Aufl.). Redmond, Washington: Microsoft Press. ISBN 978-1-5093-0043-3. OCLC 927112976. Windows PowerShell 5.0 verfügt über etwa 1.300 cmdlets unter Windows 10
  41. ^ "Windows PowerShell -Bedienungsanleitung: Rohrleitungen und Pipeline in Windows PowerShell". TECHNET. Microsoft. Abgerufen 2011-09-27.
  42. ^ Jones, Don (2008). "Windows PowerShell - Überdenken Sie die Pipeline". Microsoft Technet. Microsoft. Abgerufen 2007-11-28.
  43. ^ "Windows PowerShell -Objektkonzepte". Archiviert von das Original am 19. August 2007. Abgerufen 2007-11-28.
  44. ^ "Wie die Formatierung und Ausgabe von Powershell wirklich funktioniert". Abgerufen 2007-11-28.
  45. ^ "Mehr - wie funktioniert PowerShell -Formatierung wirklich?". Abgerufen 2007-11-28.
  46. ^ "About_Pipelines". TECHNET. Microsoft. 8. Mai 2014.
  47. ^ "About_Objects". TECHNET. Microsoft. 8. Mai 2014.
  48. ^ a b "About_Format.ps1xml". TECHNET. Microsoft. 8. Mai 2014.
  49. ^ "Anonyme Funktionen und Codeblöcke in PowerShell". Abgerufen 2012-01-21.
  50. ^ "Einführung in die Variablen von Windows PowerShell". Abgerufen 2007-11-28.
  51. ^ "Byte -Konvertierung". Windows PowerShell -Tipp der Woche. Abgerufen 15. November 2013.
  52. ^ Ravikanth (20. Mai 2013). "Konvertieren in Größeneinheiten (KB, MB, GB, TB und PB) ohne Verwendung von PowerShell -Multiplikatoren". Powershell Magazine.
  53. ^ a b c "About_functions". Microsoft Technet. Microsoft. 17. Oktober 2013. Abgerufen 15. November 2013.
  54. ^ a b "Leichte Tests mit Windows PowerShell". Abgerufen 2007-11-28.
  55. ^ Angelopoulos, Alex; Karen, Bemowski (4. Dezember 2007). "Powershell wurde klug über intelligente Zitate". Windows it Pro. Penton Media. Abgerufen 15. November 2013.
  56. ^ "Über Sonderfiguren". PowerShell / Skripten. Microsoft. 8. Juni 2017. Abgerufen 20. Juni, 2019.
  57. ^ "Trap [Ausnahme] {" in PowerShell "}". Abgerufen 2007-11-28.
  58. ^ "Windows PowerShell -Skripte ausführen". Microsoft. Abgerufen 2007-11-28.
  59. ^ "About_signing". Microsoft Technet. Microsoft. 17. Oktober 2013. Abgerufen 15. November 2013.
  60. ^ Lee Holmes (September 2006). Windows PowerShell Schnellreferenz. O'Reilly Media.
  61. ^ Eslesar. "Windows PowerShell gewünschte Statuskonfigurationsübersicht". msdn.microsoft.com.
  62. ^ Chung, Leonard; Snover, Jeffrey; Kumaravel, Arul (14. November 2006). "Es ist ein Wrap! Windows PowerShell 1.0 veröffentlicht!". Windows PowerShell -Blog. Microsoft.
  63. ^ "PowerShell wird standardmäßig auf Windows Server 08 R2 (WS08R2) und Windows 7 (W7) installiert!". Windows PowerShell -Blog. Microsoft. 2008-10-28. Abgerufen 2011-09-27.
  64. ^ "Windows Management Framework ist da!". 2009-10-27. Abgerufen 2009-10-30.
  65. ^ "Microsoft Support Knowledge Base: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0 und Bits 4.0)". Support.microsoft.com. 2011-09-23. Abgerufen 2011-09-27.
  66. ^ "574 Gründe, warum wir in W7 und WS08R2 so stolz und optimistisch sind". Windows PowerShell -Blog. Microsoft. 2008-10-29. Abgerufen 2011-09-27.
  67. ^ Snover, Jeffrey (2008). "PowerShell: Erstellen von überschaubaren Webdiensten". Archiviert von das Original am 13. Oktober 2008. Abgerufen 19. Juli, 2015.
  68. ^ "Was ist neu in CTP of PowerShell 2.0". Abgerufen 2007-11-28.
  69. ^ "Windows PowerShell V2 Community Technology Preview 2 (CTP2) - Releaseenotes". Microsoft. Archiviert von das Original am 6. Mai 2008. Abgerufen 2008-05-05.
  70. ^ "Unterschiede zwischen PowerShell 1.0 und PowerShell 2.0". Abgerufen 2010-06-26.
  71. ^ Jones, Don (Mai 2010). "Windows PowerShell: Schreiben von CMDlets in Skript". Technet Magazine. Microsoft.
  72. ^ "GoGrid Snap-In-Verwalten von Cloud-Diensten mit PowerShell". Windows PowerShell -Blog. Microsoft. 2008-10-14. Abgerufen 2011-09-27.
  73. ^ "Emit-XML". Windows PowerShell -Blog. Microsoft. 2008-10-17. Abgerufen 2011-09-27.
  74. ^ "Block Kommentare in v2". Windows PowerShell -Blog. Microsoft. 2008-06-14. Abgerufen 2011-09-27.
  75. ^ Lee, Thomas (13. August 2012). "Powershell Version 3 ist RTM!". Unter der Treppe. Abgerufen 2012-08-13.
  76. ^ a b c "Windows Management Framework 3.0". Download-Center. Microsoft. 4. September 2012. Abgerufen 2012-11-08.
  77. ^ "Windows Management Framework 3.0 Community Technology Preview (CTP) #2 zum Download verfügbar". Windows PowerShell -Blog. Microsoft. 2. Dezember 2011.
  78. ^ "Windows Management Framework 3.0". Download-Center. Microsoft. 3. Dezember 2012.
  79. ^ Jofre, Juanpablo (14. Dezember 2016). "Windows PowerShell -Systemanforderungen". Microsoft Developer Network. Microsoft. Abgerufen 20. April, 2017.
  80. ^ Honeycutt, Jerry (2012). Woolley, Valerie (Hrsg.). Einführung in Windows 8: Ein Überblick über IT -Profis. Redmond, WA: Microsoft Press. ISBN 978-0-7356-7050-1.
  81. ^ "Windows Management Framework 4.0 ist jetzt verfügbar". Microsoft. 24. Oktober 2013. Abgerufen 4. November 2013.
  82. ^ Levy, Shay (25. Juni 2013). "Neue Funktionen in Windows PowerShell 4.0". Powershell Magazine. Abgerufen 26. Juni 2013.
  83. ^ "Die gewünschte Statuskonfiguration in Windows Server 2012 R2 PowerShell". Kanal 9. Microsoft. 3. Juni 2013. Abgerufen 26. Juni 2013.
  84. ^ Hall, Adrian (7. Juni 2013). "Gedanken von Microsoft Teched North America". Blogs: Tipps & Tricks. Splunk. Abgerufen 26. Juni 2013.
  85. ^ "Windows Management Framework (WMF) 5.0 RTM -Pakete wurden erneut veröffentlicht". Windows PowerShell -Blog. Microsoft. 24. Februar 2016.
  86. ^ "Fragen und Antworten". GitHub. Abgerufen 21. April 2015.
  87. ^ Snover, Jeffrey (2014-04-03). "Windows Management Framework V5 Preview". blogs.technet.com. Microsoft. Archiviert von das Original Am 2014-06-30. Abgerufen 2015-04-21.
  88. ^ Sagt Jaap Brasser (2. August 2016). "#PSTIP New PowerShell -Befehle in Windows 10 Jubiläums -Update".
  89. ^ "Was ist neu in Windows Server 2016 Standard Edition Teil 9 - Verwaltung und Automatisierung".
  90. ^ "Microsoft.PowerShell.LocalAccounts Modul". technet.microsoft.com.
  91. ^ "Ankündigung von Windows Management Framework (WMF) 5.1 Vorschau". 16. Juli 2016.
  92. ^ "WMF 5.1". Microsoft Download Center.
  93. ^ Aiello, Joey (11. Januar 2018). "Powershell Core 6.0: Im Allgemeinen verfügbar (GA) und unterstützt!". Powershell Team Blog. Microsoft. Archiviert Aus dem Original am 11. Juni 2018. Abgerufen 11. Juni 2018.
  94. ^ Aiello, Joey; Wheeler, Sean (10. Januar 2018). "PowerShell Core unterstützt Lebenszyklus". Microsoft Docs. Microsoft.
  95. ^ Calvo, Angel (11. Januar 2018). "Top 10 aufregendste Gründe, um zu migrieren". Powershell Ama. Microsoft.
  96. ^ Aiello, Joey (2018-09-13). "PowerShell Core 6.1 ankündigen". devblogs.microsoft.com. Microsoft. Abgerufen 2019-06-01.
  97. ^ "Powershell/Powershell". GitHub. Abgerufen 2020-06-22.
  98. ^ a b c Lee, Steve (2019-04-05). "Die nächste Veröffentlichung von PowerShell - Powershell 7". Microsoft. Abgerufen 2019-06-01.
  99. ^ Lee, Steve (2019-03-28). "Allgemeine Verfügbarkeit von PowerShell Core 6.2". devblogs.microsoft.com. Microsoft. Abgerufen 2019-06-01.
  100. ^ Mackie, Kurt (2019-05-30). "Microsoft veröffentlicht PowerShell 7 Preview". 1105 Media Inc. Abgerufen 2019-06-01.
  101. ^ Lee, Steve (2019-05-30). "PowerShell 7 Road Map". devblogs.microsoft.com. Microsoft. Abgerufen 2020-08-12.
  102. ^ PowerShell 7 Vorschau 5 | Power Shell
  103. ^ "PowerShell 7.2 ist die neue Version der Shell der nächsten Generation von Microsoft". itsfoss.net. 12. November 2021.
  104. ^ "Testverbindung". PowerShell -Dokumentationen. Microsoft. 9. August 2015.
  105. ^ Teer und Locken kommen zu Windows! - Microsoft Tech Community - 382409
  106. ^ Wheeler, Sean (2. Juni 2020). "Über Skripte". Microsoft Docs. Microsoft.
  107. ^ Wheeler, Sean; Smatlak, David; Wilson, Chase (16. Oktober 2019). "Wie man ein PowerShell -Modul schreibt" Manifest ". Dokumente. Microsoft.
  108. ^ Wheeler, Sean; Smatlak, David (22. November 2019). "So schreiben Sie ein PowerShell -Skriptmodul". Microsoft Docs. Microsoft.
  109. ^ Wheeler, Sean (13. November 2016). "Wie man ein PowerShell -Binärmodul schreibt". Microsoft Docs. Microsoft.
  110. ^ Wheeler, Sean; Jofre, Juan Pablo; Vorobev, Sergei; Nikolaev, Kirill; Coulter, David (2. Juni 2020). "Über Typen.ps1xml". Microsoft Docs. Microsoft.
  111. ^ Wheeler, Sean. "Export-clixml". Microsoft Docs. Microsoft.
  112. ^ Wheeler, Sean; Jofre, Juan Pablo; Vorobev, Sergei; Nikolaev, Kirill; Coulter, David. "Exportkonsole". Microsoft Docs. Microsoft.
  113. ^ Wheeler, Sean (2. Juni 2020). "Über Sitzungskonfigurationsdateien". Microsoft Docs. Microsoft.
  114. ^ Wheeler, Sean (2. Juni 2020). "New-PsRolecapabilityFile". Microsoft Docs. Microsoft.
  115. ^ "Microsoft Transporter Suite für Lotus Domino". Microsoft. Abgerufen 2008-03-07.
  116. ^ "Powertools für offenes XML". Abgerufen 2008-06-20.
  117. ^ "MO74: WebSphere MQ - Windows PowerShell Library". Abgerufen 2007-12-05.
  118. ^ "Befehlszeilenoptionen für IoT Core Add-Ons". Abgerufen 2020-06-13.
  119. ^ "PowerShell -Befehle für Active Directory von Quest -Software". Abgerufen 2008-07-02.
  120. ^ "Powershell -Remoting durch Gruppenpolitik". Abgerufen 2007-12-07.
  121. ^ "VMware vSphere PowerCli". Abgerufen 2014-09-09.
  122. ^ "Windows PowerShell: IIS7 PowerShell Provider Tech Preview 2". Abgerufen 2008-07-03.
  123. ^ "Ein großes Lob an das Win7 -Diagnostik -Team". Abgerufen 2009-06-15.
  124. ^ Michael, Niehaus (10. Juli 2009). "MDT 2010 Neue Feature #16: PowerShell Support". Abgerufen 2014-10-27.
  125. ^ "Ein großes Lob an NetApp für Daten Ontap PowerShell Toolkit". Abgerufen 2010-06-15.
  126. ^ "PowerShell Toolkit 4.2 Ankündigung". 23. Juni 2016. Abgerufen 2016-09-07.
  127. ^ "Heterogene Arbeitsplanung mit PowerShell". Abgerufen 2010-09-15.
  128. ^ "UIAUTomation PowerShell Extensions". Abgerufen 2012-02-16.
  129. ^ "EqualLlogic Hit-Me mit PowerShell". Abgerufen 2012-03-09.
  130. ^ DE: Loginventory
  131. ^ "Selenium PowerShell -Erweiterungen". Abgerufen 2012-08-20.
  132. ^ "Pash". SourceForge. Dice Holdings, Inc. Abgerufen 2011-09-27.
  133. ^ "Pash -Projekt". GitHub. Abgerufen 2013-04-10.
  134. ^ "Pash ist jetzt veraltet · Ausgabe #429 · Pash-Project/Pash". GitHub. Abgerufen 2019-11-26.

Weitere Lektüre

  • Finke, Douglas (2012). Windows PowerShell für Entwickler. O'Reilly Media. ISBN 978-1-4493-2270-0.
  • Holmes, Lee (2006). Windows PowerShell Schnellreferenz. O'Reilly Media. ISBN 0-596-52813-2.
  • Holmes, Lee (2007). Windows PowerShell -Kochbuch. O'Reilly Media. ISBN 978-0-596-52849-2.
  • Jones, Don; Hicks, Jeffery (2010). Windows PowerShell 2.0: TFM (3. Aufl.). Sapien -Technologien. ISBN 978-0-9821314-2-8.
  • Jones, Don (2020). Hülle einer Idee: Die unerzählte Geschichte von Powershell. Selbst veröffentlicht. ISBN 978-1-9536450-3-6.
  • Kopczynski, Tyson; Handley, Pete; Shaw, Marco (2009). Windows PowerShell entfesselt (2. Aufl.). Pearson Ausbildung. ISBN 978-0-672-32988-3.
  • Kumaravel, Arul; Weiß, Jon; Naixin Li, Michael; Happell, Scott; Xie, Guohui; Vutukuri, Krishna C. (2008). Professionelle Windows PowerShell -Programmierung: Snapins, CMDlets, Hosts und Anbieter. Wrox Press. ISBN 978-0-470-17393-0.
  • Oakley, Andy (2005). Monad (auch bekannt als Powershell). O'Reilly Media. ISBN 0-596-10009-4.
  • Watt, Andrew (2007). Professionelle Windows PowerShell. Wrox Press. ISBN 978-0-471-94693-9.
  • Wilson, Ed (2013). Windows PowerShell 3.0 Schritt für Schritt. Microsoft Press. ISBN 978-0-7356-6339-8.
  • Wilson, Ed (2014). Windows PowerShell Best Practices. Microsoft Press. ISBN 978-0-7356-6649-8.

Externe Links