{"id":72966,"date":"2020-03-06T08:42:03","date_gmt":"2020-03-06T05:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti"},"modified":"2020-03-06T08:42:03","modified_gmt":"2020-03-06T05:42:03","slug":"chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","title":{"rendered":"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Historisch gesehen sind die Befehlszeilenhilfsprogramme in Unix-Systemen besser entwickelt als in Windows. Mit der Einf\u00fchrung neuer L\u00f6sungen hat sich die Situation jedoch ge\u00e4ndert.<\/i><\/p>\n<p>Windows PowerShell erm\u00f6glicht es Systemadministratoren, die meisten Routineaufgaben zu automatisieren. Mit ihr k\u00f6nnen Einstellungen ge\u00e4ndert, Dienste gestoppt und gestartet sowie die Wartung der meisten installierten Anwendungen durchgef\u00fchrt werden. Es w\u00e4re falsch, das blaue Fenster als einen weiteren Befehlsinterpreter zu betrachten. Dieser Ansatz spiegelt nicht die Essenz der von Microsoft vorgeschlagenen Innovationen wider. Tats\u00e4chlich sind die M\u00f6glichkeiten von Windows PowerShell viel umfangreicher: In einer kurzen Artikelreihe werden wir versuchen herauszufinden, wie sich die Microsoft-L\u00f6sung von den uns vertrauten Mitteln unterscheidet.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\"><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/57911997d520dd5eeef9d87ddcecb125.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Hauptmerkmale\u00a0<\/h2>\n<p>\nWindows PowerShell ist in erster Linie eine Kommandozeile mit einer Skriptsprache, die urspr\u00fcnglich auf der .NET Framework-Plattform entwickelt wurde und sp\u00e4ter auf .NET Core umgestellt wurde. Im Gegensatz zu Shells, die Textdaten empfangen und zur\u00fcckgeben, arbeitet Windows PowerShell mit .NET-Klassen, die Eigenschaften und Methoden haben. PowerShell erm\u00f6glicht es, gew\u00f6hnliche Befehle auszuf\u00fchren und bietet zudem Zugriff auf COM-, WMI- und ADSI-Objekte. Verschiedene Speicherorte wie das Dateisystem oder die Windows-Registrierung werden verwendet, auf die so genannte Anbieter (providers) zugreifen. Es ist auch erw\u00e4hnenswert, dass es m\u00f6glich ist, ausf\u00fchrbare Komponenten von PowerShell in andere Anwendungen einzubetten, um verschiedene Operationen durchf\u00fchren zu k\u00f6nnen, auch \u00fcber eine grafische Benutzeroberfl\u00e4che. Entsprechend k\u00f6nnen viele Windows-Anwendungen \u00fcber PowerShell auf ihre Verwaltungsoberfl\u00e4chen zugreifen.\u00a0<\/p>\n<p>Windows PowerShell erm\u00f6glicht:<\/p>\n<ul>\n<li>Einstellungen des Betriebssystems zu \u00e4ndern;<\/li>\n<li>Dienste und Prozesse zu verwalten;<\/li>\n<li>Rollen und Komponenten des Servers zu konfigurieren;<\/li>\n<li>Software zu installieren;<\/li>\n<li>Installierte Software \u00fcber spezielle Schnittstellen zu verwalten;<\/li>\n<li>Ausf\u00fchrbare Komponenten in Drittanbieterprogramme einzubetten;<\/li>\n<li>Skripte zur Automatisierung von Verwaltungsaufgaben zu erstellen;<\/li>\n<li>Mit dem Dateisystem, der Windows-Registrierung, dem Zertifikatspeicher usw. zu arbeiten.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Shell und Entwicklungsumgebung<\/h2>\n<p>\nWindows PowerShell gibt es in zwei Ausf\u00fchrungen: Neben dem Konsolenemulator mit der Befehlszeile gibt es eine integrierte Skriptumgebung (Integrated Scripting Environment \u2013 ISE). Um auf die Befehlszeilenschnittstelle zuzugreifen, gen\u00fcgt es, das entsprechende Symbol im Windows-Men\u00fc auszuw\u00e4hlen oder powershell.exe aus dem Men\u00fc \u201eAusf\u00fchren\u201c zu starten. Auf dem Bildschirm erscheint ein blaues Fenster, das sich in den M\u00f6glichkeiten deutlich von dem veralteten cmd.exe unterscheidet. Dort gibt es die Autovervollst\u00e4ndigung und andere Funktionen, die Unix-Systembenutzern vertraut sind.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/2b2d6fa0a82530ddedc7c106160a883e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Um mit der Shell zu arbeiten, sollten einige Tastenkombinationen gemerkt werden:<\/p>\n<ul>\n<li>Die Aufw\u00e4rts- und Abw\u00e4rtspfeile scrollen durch die Historie zum Wiederholen zuvor eingegebener Befehle;<\/li>\n<li>Rechter Pfeil am Ende der Zeile gibt den vorherigen Befehl Zeichen f\u00fcr Zeichen wieder ein;<\/li>\n<li>Ctrl+Home l\u00f6scht den eingegebenen Text von der Cursorposition bis zum Anfang der Zeile;<\/li>\n<li>Ctrl+End l\u00f6scht den Text vom Cursor bis zum Ende der Zeile.<\/li>\n<\/ul>\n<p>\nF7 zeigt ein Fenster mit eingegebenen Befehlen an und erm\u00f6glicht die Auswahl eines davon. In der Konsole funktioniert auch die Textauswahl mit der Maus, Copy-Paste, Cursorpositionierung, L\u00f6schen, Backspace \u2013 alles wie wir es m\u00f6gen.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/217b3584c4ffbbfaea8f4fcd97512505.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWindows PowerShell ISE ist eine vollst\u00e4ndige Entwicklungsumgebung mit einem Code-Editor, der Tabs und Syntax-Highlighting unterst\u00fctzt, einem Befehlsentwurf, einem integrierten Debugger und anderen Programmiertools. Wenn Sie im Entwicklungsumgebungseditor nach dem Befehlssymbol einen Bindestrich eingeben, erhalten Sie im Dropdown-Men\u00fc alle verf\u00fcgbaren Parameter mit der Angabe des Typs. PowerShell ISE kann entweder \u00fcber ein Symbol im Systemmen\u00fc oder \u00fcber die ausf\u00fchrbare Datei powershell_ise.exe gestartet werden.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/f80df64ede3d89759757c87709d62155.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Cmdlets\u00a0<\/h2>\n<p>\nIn Windows PowerShell gibt es die sogenannten Cmdlets. Dies sind spezialisierte .NET-Klassen, die eine Vielzahl von Funktionen enthalten. Sie sind nach dem Prinzip \"Handlung-Objekt\" benannt (oder \"Verb-Nomen\", wenn Ihnen das besser gef\u00e4llt), und die durch einen Bindestrich getrennte Kombination erinnert an das Pr\u00e4dikat und das Subjekt in S\u00e4tzen nat\u00fcrlicher Sprachen. Zum Beispiel bedeutet Get-Help w\u00f6rtlich \"Holen-Sie Hilfe\" oder im Kontext von PowerShell: \"Zeigen-Sie Hilfe\". Im Grunde ist dies das Pendant zum Befehl man in Unix-Systemen, und die Handb\u00fccher in PowerShell sollten genau so angefordert werden, anstatt Cmdlets mit der Option \u2014help oder \\\/? aufzurufen. Vergessen Sie auch nicht die Online-Dokumentation zu PowerShell: Bei Microsoft ist sie ziemlich ausf\u00fchrlich.<\/p>\n<p>Neben Get werden in den Cmdlets auch andere Verben (und nicht nur Verben, streng genommen) zur Bezeichnung von Aktionen verwendet. In der folgenden Liste f\u00fchren wir einige Beispiele an:<\/p>\n<p><code>Hinzuf\u00fcgen<\/code> \u2014 hinzuf\u00fcgen;<br \/>\n<code>Clear<\/code> \u2014 bereinigen;<br \/>\n<code>Aktivieren<\/code> \u2014 aktivieren;<br \/>\n<code>Disable<\/code> \u2014 deaktivieren;<br \/>\n<code>Neu<\/code> \u2014 erstellen;<br \/>\n<code>Remove<\/code> \u2014 entfernen;<br \/>\n<code>Set<\/code> \u2014 festlegen;<br \/>\n<code>Start<\/code> \u2014 starten;<br \/>\n<code>Stop<\/code> \u2014 anhalten;<br \/>\n<code>Export<\/code> \u2014 exportieren;<br \/>\n<code>Importieren<\/code> \u2014 importieren.<\/p>\n<p>Es gibt System-, Benutzer- und optionale Cmdlets: Sie geben alle ein Objekt oder ein Array von Objekten zur\u00fcck. Sie sind nicht case-sensitiv, d.h. aus Sicht des Befehlsinterpreters gibt es keinen Unterschied zwischen Get-Help und get-help. Zur Trennung wird das Zeichen ';' verwendet, aber es muss nur gesetzt werden, wenn in einer Zeile mehrere Cmdlets ausgef\u00fchrt werden.\u00a0<\/p>\n<p>Die Cmdlets von Windows PowerShell werden in Module (z.B. NetTCPIP, Hyper-V usw.) gruppiert, und es gibt ein Cmdlet Get-Command zur Suche nach einem Objekt und einer Aktion. Die Hilfe daf\u00fcr kann so angezeigt werden:<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/394c5af2fa8183b22403848f07756118.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Standardm\u00e4\u00dfig zeigt der Befehl eine kurze Hilfe an, aber es k\u00f6nnen bei Bedarf Parameter (Argumente) an die Cmdlets \u00fcbergeben werden. Damit kann man z.B. eine detaillierte (Parameter -Detailed) oder vollst\u00e4ndige (Parameter -Full) Hilfe erhalten sowie Beispiele auf den Bildschirm ausgeben (Parameter -Examples):<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command -Examples<\/code><\/pre>\n<p>\nDie Hilfe in Windows PowerShell wird mit dem Cmdlet Update-Help aktualisiert. Wenn die Befehlszeile zu lang wird, k\u00f6nnen die Argumente des Cmdlets auf die n\u00e4chste Zeile verschoben werden, indem man das Steuerzeichen '`' eingibt und Enter dr\u00fcckt \u2014 es ist nicht m\u00f6glich, den Befehl einfach auf einer Zeile zu beenden und auf der n\u00e4chsten fortzusetzen.<\/p>\n<p>Hier sind einige Beispiele f\u00fcr g\u00e4ngige Cmdlets:\u00a0<\/p>\n<p><code>Get-Process<\/code> \u2014 zeigt die im System laufenden Prozesse an;<br \/>\n<code>Get-Service<\/code> \u2014 zeigt Dienste und deren Status an;<br \/>\n<code>Get-Content<\/code> \u2014 gibt den Inhalt einer Datei aus.<\/p>\n<p>F\u00fcr h\u00e4ufig verwendete Cmdlets und externe Tools gibt es in Windows PowerShell kurze Synonyme \u2014 Aliase (von engl. Alias). Zum Beispiel, dir \u2014 Alias f\u00fcr Get-ChildItem. Aus der Liste der Synonyme gibt es auch Analogien zu Befehlen aus Unix-Systemen (ls, ps usw.), und das Cmdlet Get-Help wird mit dem Befehl help aufgerufen. Die vollst\u00e4ndige Liste der Synonyme kann mit dem Cmdlet Get-Alias angezeigt werden:<\/p>\n<p><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/94f8cf9fd6c346e5b250d994ef1f7661.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Skripte, Funktionen, Module und die Sprache PowerShell<\/h2>\n<p>\nWindows PowerShell-Skripte werden als gew\u00f6hnliche Textdateien mit der Erweiterung .ps1 gespeichert. Sie k\u00f6nnen nicht durch Doppelklick gestartet werden: Sie m\u00fcssen mit der rechten Maustaste das Kontextmen\u00fc aufrufen und den Punkt \u201eIn PowerShell ausf\u00fchren\u201c ausw\u00e4hlen. Aus der Konsole m\u00fcssen Sie entweder den vollst\u00e4ndigen Pfad zum Skript angeben oder in das entsprechende Verzeichnis wechseln und den Dateinamen eingeben. Das Ausf\u00fchren von Skripten ist zudem durch die Systemrichtlinien eingeschr\u00e4nkt, und zur \u00dcberpr\u00fcfung der aktuellen Einstellungen kann das Cmdlet Get-ExecutionPolicy verwendet werden, das einen der folgenden Werte zur\u00fcckgibt: <\/p>\n<p><code>Restricted<\/code> \u2014 das Ausf\u00fchren von Skripten ist verboten (Standard);<br \/>\n<code>AllSigned<\/code> \u2014 nur das Ausf\u00fchren von signierten Skripten, die von einem vertrauensw\u00fcrdigen Entwickler stammen, ist erlaubt;<br \/>\n<code>RemoteSigned<\/code> \u2014 das Ausf\u00fchren von signierten und eigenen Skripten ist erlaubt;<br \/>\n<code>Unrestricted<\/code> \u2014 das Ausf\u00fchren beliebiger Skripte ist erlaubt.<\/p>\n<p>Der Administrator hat zwei Handlungsoptionen. Die sicherste besteht darin, die Skripte zu signieren, aber das ist ein ziemlich komplexer Prozess \u2013 wir werden uns in den folgenden Artikeln damit befassen. Jetzt gehen wir den einfacheren Weg und \u00e4ndern die Richtlinie:<\/p>\n<pre><code class=\"powershell\">Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/139949e0da3470b866d4b54f3e2a0498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPowerShell muss daf\u00fcr mit Administratorrechten gestartet werden, obwohl die Richtlinie auch f\u00fcr den aktuellen Benutzer ge\u00e4ndert werden kann, wenn ein spezieller Parameter verwendet wird.<\/p>\n<p>Skripte werden in einer objektorientierten Programmiersprache geschrieben, deren Befehle nach dem gleichen Prinzip benannt sind wie die zuvor behandelten Cmdlets: \u201eAktion-Objekt\u201c (\u201eVerb-Nomen\u201c). Ihr Hauptzweck ist die Automatisierung von Administrationsaufgaben, jedoch handelt es sich um eine voll funktionsf\u00e4hige interpretierte Sprache, die alle erforderlichen Konstrukte enth\u00e4lt: bedingte Anweisungen, Schleifen, Variablen, Arrays, Objekte, Fehlerbehandlung usw. Zum Schreiben von Skripten kann jeder Texteditor verwendet werden, aber am bequemsten ist es, Windows PowerShell ISE zu starten.<\/p>\n<p>Im Skript k\u00f6nnen Parameter \u00fcbergeben, als erforderlich gekennzeichnet und Standardwerte festgelegt werden. Dar\u00fcber hinaus erm\u00f6glicht Windows PowerShell die Erstellung von Funktionen, die ebenso wie Cmdlets aufgerufen werden k\u00f6nnen: daf\u00fcr wird die Konstruktion Function und die geschweiften Klammern verwendet. Skripte mit Funktionen werden als Module bezeichnet und haben die Erweiterung .psm1. Module sollten in Verzeichnissen gespeichert werden, die in den Umgebungsvariablen von PowerShell definiert sind. Diese k\u00f6nnen mit dem folgenden Befehl angezeigt werden:<\/p>\n<pre><code class=\"powershell\">Get-ChildItem Env:PSModulePath | Format-Table -AutoSize<\/code><\/pre>\n<p><\/p>\n<h2>F\u00f6rderb\u00e4nder<\/h2>\n<p>\nIm letzten Beispiel haben wir eine Struktur verwendet, die den Benutzern von Unix-Shells vertraut ist. In Windows PowerShell erm\u00f6glicht das Pipe-Zeichen ebenfalls die Weitergabe der Ausgabe eines Befehls als Eingabe f\u00fcr einen anderen, aber es gibt einen wesentlichen Unterschied in der Implementierung der Pipeline: Hier geht es nicht mehr um eine Zeicheneingabe oder irgendeinen Text. Eingebaute Cmdlets oder benutzerdefinierte Funktionen geben Objekte oder Objektarrays zur\u00fcck und k\u00f6nnen auch diese als Eingabe nehmen. Wie im Bourne-Shell und seinen zahlreichen Nachfolgern vereinfacht PowerShell mithilfe der Pipeline die Ausf\u00fchrung komplexer Aufgaben.<\/p>\n<p>Ein einfaches Beispiel f\u00fcr eine Pipeline sieht so aus:<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/0bb6e0e00d97d23fa2384d40c7419d71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZun\u00e4chst wird das Cmdlet Get-Service ausgef\u00fchrt, und dann werden alle damit erhaltenen Dienste f\u00fcr die Sortierung nach dem Status an das Cmdlet Sort-Object \u00fcbergeben. In welches Argument das Ergebnis des vorherigen Abschnitts der Pipeline \u00fcbergeben wird, h\u00e4ngt von seinem Typ ab \u2014 in der Regel ist dies InputObject. Dieses Thema wird ausf\u00fchrlicher in einem Artikel zur Programmiersprache PowerShell behandelt werden.\u00a0<\/p>\n<p>Wenn gew\u00fcnscht, kann die Kette fortgesetzt werden, und das Ergebnis von Sort-Object kann an ein weiteres Cmdlet \u00fcbergeben werden (die Ausf\u00fchrung erfolgt von links nach rechts). \u00dcbrigens steht Windows-Benutzern auch die allen Unix-Nutzern vertraute Struktur f\u00fcr die seitenweise Ausgabe zur Verf\u00fcgung:\u00a0<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status | more<\/code><\/pre>\n<p><\/p>\n<h2>Aufgaben im Hintergrund ausf\u00fchren\u00a0<\/h2>\n<p>\nEs kommt h\u00e4ufig vor, dass eine bestimmte Befehlsausf\u00fchrung im Hintergrund gestartet werden muss, um nicht auf das Ergebnis in der Shell-Sitzung zu warten. In Windows PowerShell gibt es daf\u00fcr mehrere Cmdlets:<\/p>\n<p><code>Start-Job<\/code> \u2014 zum Starten einer Hintergrundaufgabe;<br \/>\n<code>Stop-Job<\/code> \u2014 zum Stoppen einer Hintergrundaufgabe;<br \/>\n<code>Get-Job<\/code> \u2014 um die Liste der Hintergrundaufgaben zu sehen;<br \/>\n<code>Receive-Job<\/code> \u2014 um das Ergebnis der Ausf\u00fchrung einer Hintergrundaufgabe anzusehen;<br \/>\n<code>Remove-Job<\/code> \u2014 zum L\u00f6schen einer Hintergrundaufgabe;<br \/>\n<code>Wait-Job<\/code> \u2014 um eine Hintergrundaufgabe wieder in die Konsole zu bringen.<\/p>\n<p>Um eine Hintergrundaufgabe zu starten, verwenden wir das Cmdlet Start-Job und geben in geschweiften Klammern den Befehl oder die Befehle an:<\/p>\n<pre><code class=\"powershell\">Start-Job {Get-Service}<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/0a75c1f4af75e5aec66df909ca4adb70.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMit Hintergrundaufgaben in Windows PowerShell kann man manipulieren, indem man ihre Namen kennt. Zun\u00e4chst lernen wir, sie anzuzeigen:<\/p>\n<pre><code class=\"powershell\">Get-Job<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/664dba26ddcfb54bef79717c86f3c8ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJetzt zeigen wir das Ergebnis der Arbeit der Aufgabe Job1 an:<\/p>\n<pre><code class=\"powershell\">Receive-Job Job1 | more<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/02d930327929af463cf506f9d90357e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAlles ist ziemlich einfach.<\/p>\n<h2>Ausf\u00fchren von Befehlen \u00fcber Remote-Zugriff<\/h2>\n<p>\nWindows PowerShell erm\u00f6glicht die Ausf\u00fchrung von Befehlen und Skripten nicht nur auf lokalen, sondern auch auf entfernten Computern und sogar auf einer ganzen Gruppe von Maschinen. Daf\u00fcr gibt es mehrere M\u00f6glichkeiten:<\/p>\n<ul>\n<li>Viele Cmdlets haben ein Parameter <code>-ComputerName<\/code>, aber auf diese Weise ist es beispielsweise nicht m\u00f6glich, eine Pipeline zu erstellen;<\/li>\n<li>Das Cmdlet <code>Enter-PSSession<\/code> erm\u00f6glicht die Erstellung einer interaktiven Sitzung auf einem entfernten Computer;\u00a0<\/li>\n<li>Mit dem Cmdlet <code>Invoke-Command<\/code> kann man Befehle oder Skripte auf einem oder mehreren entfernten Computern ausf\u00fchren.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Versionen von PowerShell<\/h2>\n<p>\nSeit der ersten Ver\u00f6ffentlichung im Jahr 2006 hat sich PowerShell erheblich weiterentwickelt. Das Tool ist f\u00fcr viele Systeme verf\u00fcgbar, die auf verschiedenen Hardwareplattformen (x86, x86-64, Itanium, ARM) laufen: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008\/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012\/2012 R2, Windows 10, Windows Server 2016, GNU\/Linux und OS X. Die letzte Version 6.2 wurde am 10. Januar 2018 ver\u00f6ffentlicht. Skripte, die f\u00fcr fr\u00fchere Versionen geschrieben wurden, werden mit hoher Wahrscheinlichkeit auch in sp\u00e4teren Versionen funktionieren, jedoch k\u00f6nnen bei der R\u00fcckw\u00e4rtskompatibilit\u00e4t Probleme auftreten, da PowerShell im Laufe der Jahre viele neue Cmdlets hinzugef\u00fcgt hat. Die Version der auf dem Computer installierten Shell kann mit der Eigenschaft PSVersion der eingebauten Variablen $PSVersionTable ermittelt werden:<\/p>\n<pre><code class=\"powershell\">$PSVersionTable.PSVersion<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/c2d422d1489f88ef8631ee82cc2f60c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMan kann auch das Cmdlet verwenden:<\/p>\n<pre><code class=\"powershell\">Get-Variable -Name PSVersionTable \u2013ValueOnly<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/5cffcfe260243235e8f91a6c543191f7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDas gleiche erfolgt auch mit dem Cmdlet Get-Host. Tats\u00e4chlich gibt es viele M\u00f6glichkeiten, aber um diese zu nutzen, muss man die Programmiersprache PowerShell lernen, was wir im <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/490924\/\"><b>n\u00e4chsten Artikel<\/b><\/a><\/noindex>.\u00a0<\/p>\n<h2>Ergebnisse\u00a0<\/h2>\n<p>\nMicrosoft hat es geschafft, eine wirklich leistungsstarke Shell mit einer benutzerfreundlichen integrierten Entwicklungsumgebung f\u00fcr Skripte zu schaffen. Im Gegensatz zu den uns vertrauten Werkzeugen aus der Unix-Welt zeichnet sie sich durch eine tiefe Integration mit den Betriebssystemen der Windows-Familie sowie mit der Software f\u00fcr diese und der .NET Core-Plattform aus. PowerShell kann als objektorientierte Shell bezeichnet werden, da Cmdlets und benutzerdefinierte Funktionen Objekte oder Objektarrays zur\u00fcckgeben und diese als Eingabe erhalten k\u00f6nnen. Wir denken, dass alle Serveradministratoren unter Windows dieses Tool beherrschen sollten: Die Zeiten, in denen sie ohne die Befehlszeile auskamen, sind vorbei. Eine fortschrittliche Konsolenshell ist insbesondere auf <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/servercore#order\">unseren kosteng\u00fcnstigen VPS, die unter Windows Server Core laufen, besonders notwendig.<\/a><\/noindex>, aber das ist schon eine ganz andere Geschichte.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Was ist Windows PowerShell und wozu wird es verwendet? Teil 1: Hauptfunktionen\" src=\"\/wp-content\/uploads\/2020\/03\/0683e52726ae6d7def7206e5974a74b2.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte einloggen<\/a><\/noindex>.<\/p>\n<h2 class=\"default-block__polling-title\">Welche Themen sollten in den n\u00e4chsten Artikeln der Reihe zuerst angesprochen werden?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">53,2%<\/strong>Programmierung in PowerShell123<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">42,4%<\/strong>Funktionen und Module in PowerShell98<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">22,1%<\/strong>Wie unterschreibt man eigene Skripte?51<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">12,1%<\/strong>Arbeiten mit Repositories \u00fcber Provider (providers)28<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">57,6%<\/strong>Automatisierung der Computeradministration mit PowerShell133<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">30,7%<\/strong>Verwaltung von Software und Integration ausf\u00fchrbarer PowerShell-Komponenten in Drittprodukte71<\/p>\n<\/li>\n<\/ul>\n<p>    231 Nutzer haben abgestimmt. 37 Nutzer haben sich enthalten.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u0421 \u0435\u0435 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0438\u043d\u0435\u0435 \u043e\u043a\u043e\u0448\u043a\u043e \u043a\u0430\u043a \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Was ist Windows PowerShell und wof\u00fcr wird es verwendet? Teil 1: Grundfunktionen | ProHoster","description":"Historisch gesehen sind Befehlszeilen-Utilities in Unix-Systemen besser entwickelt als in Windows, aber mit dem Erscheinen neuer L\u00f6sungen hat sich die Situation ge\u00e4ndert. Windows PowerShell erm\u00f6glicht Systemadministratoren.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-06T05:42:03+00:00","article:modified_time":"2020-03-06T05:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72966","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:42:52","updated":"2026-08-11 12:50:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/72966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=72966"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/72966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/72967"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=72966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=72966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=72966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}