Wer möchte nicht, dass sie ein Zauberer sind und ein paar Worte sagen, damit magische Dinge geschehen? Wir können Ihnen nicht zeigen, wie man ein Zauberer ist, aber wir können Ihnen zeigen, wie man ein bisschen Computermagie macht.
Wenn Sie einen Windows-Computer mit Windows 7 haben, haben Sie PowerShell. Wenn Sie einen Computer mit Windows 7 haben, aktualisieren Sie ihn aus Sicherheitsgründen.
Dieser Artikel richtet sich jedoch nicht nur an Windows-Benutzer. Die neueste Version von PowerShell ist kostenlos und kann auf Mac- und Linux-Computern installiert und verwendet werden.
Das ist wichtig, da das, was Sie über PowerShell lernen, jetzt auf fast jedem Computer verwendet werden kann. Wer weiß? Sie könnten diese Fähigkeit auf die nächste Stufe heben und eine Karriere in der Informationstechnologie antreten.
Was ist PowerShell?
Die Hightech-Antwort von Microsoft lautet: … Speziell für Systemadministratoren entwickelte Befehlszeilen-Shell. “Klingt einschüchternd. Aber es ist nicht. Kümmerst du dich um deinen Computer? Ja, dann sind Sie der Systemadministrator in Ihrem Haus.
Sagen Sie Ihrem Computer, wie er mit Klicks und Tastenanschlägen umgehen soll? Ja, stellen Sie sich die Befehlszeilen-Shell als ein weiteres Fenster vor, in das Sie Dinge eingeben, um Ihrem Computer mitzuteilen, was zu tun ist. Sie können dies tun.
In_content_1 all: [300x250] / dfp: [640x360]->PowerShell ist wie eine Programmiersprache, jedoch nicht so kryptisch wie die meisten anderen. Es liest sich wirklich sehr ähnlich wie normales Englisch, was Microsoft anstrebte, damit es von Nicht-Programmierern aufgegriffen werden konnte.
Auf diese Weise können Sie einige Befehlszeilen, sogenannte Skripte, schreiben, damit das Windows-Betriebssystem etwas tut, was Sie möchten. Anschließend können Sie diese Zeilen in einer Datei speichern und mit einem Klick ausführen oder die regelmäßige Ausführung planen.
Was können Sie mit PowerShell tun?
Der Hauptpunkt von PowerShell soll in der Lage sein, Aufgaben zu automatisieren, damit Sie nicht Ihre Zeit damit verschwenden müssen, alltägliche Dinge wiederholt zu erledigen. Für einen professionellen Systemadministrator kann dies so etwas wie das Erstellen neuer Benutzer, das Generieren von Kennwörtern für diese Benutzer und das Senden einer E-Mail mit den Details an den neuen Supervisor sein.
Dieser Vorgang kann manuell mit Klicks und Eingabe 5 Minuten bis zu einer Stunde oder länger dauern. Mit den richtigen Skripten muss der Systemadministrator möglicherweise nicht einmal einen Teil davon ausführen.
Sie möchten jedoch wissen, was Sie mit PowerShell zu Hause tun können. So ziemlich alles, was Sie nicht immer wieder gerne machen. Verwenden Sie diese Option, um Speicherplatz auf Ihrer Festplatte freizugeben, indem Sie nicht benötigte temporäre Dateien und Protokolldateien löschen.
Setzen Sie eine Ausgangssperre auf den Computer Ihres Kindes. Benennen Sie eine Reihe von Dateien um oder organisieren Sie sie. Das ist das Schöne an PowerShell. Fast alles, was Sie auf Ihrem Computer tun können, können Sie ein PowerShell-Skript erstellen, um es mit einem Klick oder nach einem Zeitplan zu automatisieren und auszuführen.
Wie verwende ich PowerShell?
Die einfachste Möglichkeit, mit PowerShell zu arbeiten, ist die integrierte PowerShell-Skriptumgebung (ISE). Sie können es finden, indem Sie auf Start klicken und powershell isein die Suchleiste von Windows 10 eingeben. Sie sollten es wie folgt sehen.
Wenn wir es zum ersten Mal verwenden, werden wir es als Administrator ausführen. Dazu müssen Sie zunächst Administratorrechte auf Ihrem Computer haben. Klicken Sie in Ihrem Startmenümit der rechten Maustaste auf PowerShell ISEund klicken Sie dann auf Als Administrator ausführen.
Möglicherweise erhalten Sie eine
Nun sehen Sie sich die PowerShell-IDE an. Der obere Bereich des Fensters (1)ist der Skriptbereich. Hier schreiben Sie Ihr Skript. Der untere Bereich des Fensters (2)ist der Konsolenbereich. Wenn Sie Ihr Skript testen, wird die Ausgabe in diesem Bereich angezeigt.
Hier werden auch Fehlermeldungen angezeigt, die Ihnen helfen, Ihre Skripts zu reparieren und zu verbessern. Der Bereich auf der rechten Seite des Fensters (3)ist das Befehls-Add-On. Stellen Sie sich das als Wörterbuch aller PowerShell-Befehle vor, die Ihnen zur Verfügung stehen.
PowerShell wird so geliefert, dass kein anderes Skript als das ausgeführt wird, das bereits Teil von Windows ist. Sie müssen es ändern, damit Sie Ihre eigenen Skripts ausführen können.
Kopieren Sie im Skriptfenster Folgendes, und fügen Sie es ein:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Das
Eine Analogie würde Ihrem Kind sagen, es solle sein Zimmer aufräumen. Kurz und bündig. Wenn Ihr Kind mit der Reinigung von Räumen vertraut ist, wird es sein Bett machen, seine Wäsche in den Korb legen, sein Spielzeug und seine Bücher beiseite legen und vielleicht sogar den Boden staubsaugen. Sie wissen, dass das Cmdlet Clean-YourRoom all das bedeutet.
Oben im Fenster wird eine grüne Pfeilspitze angezeigt. Klicken Sie darauf, um den Befehl auszuführen.
Die - Der ExecutionPolicy-Teilteilt Set-ExecutionPolicymit, welche Richtlinie festgelegt werden soll. Es ist ein Parameter. Es heißt: "Ich möchte, dass Sie innerhalb dieser Richtlinien arbeiten und dies konkret tun. Es weist es an, die spezifische Richtlinie von RemoteSigned zu verwenden.
Die RemoteSigned-Richtlinie besagt, dass PowerShell kein Skript ausführen darf, das aus dem Internet heruntergeladen wurde, es sei denn, es wurde von einem vertrauenswürdigen Herausgeber signiert.
Auf Umwegen wird PowerShell mitgeteilt, dass die Ausführung von lokal erstellten Skripten in Ordnung ist, da diese nicht von einem vertrauenswürdigen Remote-Publisher signiert werden müssen. Jetzt kann Ihr PowerShell-Skript jedes Skript ausführen, das Sie auf Ihrem Computer geschrieben haben.
Sehen wir uns ein Skript zum Löschen temporärer Dateien an. Es ist nicht so leistungsfähig oder gründlich wie CCleaner, aber CCleaner bringt seine eigenen Probleme mit sich.
Verwenden Sie PowerShell, um Speicherplatz auf Ihrer Festplatte zu schaffen
Wir werden dieses Skript aufschlüsseln. Zeile für Zeile, damit Sie sehen können, wie es funktioniert. Am Ende wird das Skript vollständig angezeigt, sodass Sie es kopieren und einfügen können, wenn Sie möchten.
$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"
Alles, vor dem ein Dollarzeichen steht, ist ein Variablenname . Stellen Sie es sich wie eine Brieftasche vor, in die Sie wertvolle Dinge stecken können. Die Brieftasche erinnert an das Dollarzeichen. Wertsachen klingen wie variabel. Wir erstellen eine Brieftasche oder Variable mit dem Namen $ TempFileLocation. Das Gleichheitszeichen teilt PowerShell mit, was in diese Variable eingefügt werden soll.
In diesem Fall wird der Speicherort der temporären Windows-Dateien angegeben: C: \ Users \ username \ AppData \ Lokale \ Temp \ *. Wir tun dies aus zwei Gründen. Es ist ein Ort, an dem Dateien immer sicher gelöscht werden können, und wir werden ihn verwenden, um PowerShell mitzuteilen, wo Dateien gelöscht werden müssen.
Wenn dort Benutzername steht, tauschen Sie ihn für Ihren Benutzer aus Name. Dies ist der Benutzername, mit dem Sie sich bei Ihrem Computer anmelden. Das Sternchen (*) am Ende ist ein Platzhalter. Was es darstellt, ist alles im Ordner Temp, da alles im Ordner Temp temporär ist und wir es löschen möchten.
Die doppelten Anführungszeichen um den Speicherort sind ebenfalls wichtig. Thattells PowerShell gibt an, dass es sich um eine Zeichenfolge handelt. Stellen Sie sich eine Zeichenfolge als eine Folge von Buchstaben und Zeichen vor. Wenn es sich um gewöhnliche Zahlen handeln würde, würden wir die Anführungszeichen nicht verwenden.
$TempFile = Get-ChildItem $TempFileLocation -Recurse
Wir erstellen eine andere Variable. Dieses Mal verwenden wir einen Befehl, um etwas zu finden, das in die Variable $ TempFileeingefügt werden kann.
Get-ChildItem
Noch etwas Bei Cmdlets wie Get-ChildItemist zu beachten, dass sie vollständig lesbar sind. Sehen Sie, wie das erste Wort ein Verb ist? Cmdlets beginnen alle mit Aktionswörtern, sodass Sie sofort wissen, was sie tun. ChildItem besteht aus zwei Substantiven.
Im zweiten Teil des Cmdlets erfahren Sie immer, auf welche PowerShell die Aktion angewendet wird. ChildItem bezeichnet alle untergeordneten Elemente eines übergeordneten Speicherorts. Dies entspricht dem Sprichwort, dass alle Dateien in einem Ordner abgerufen werden, wobei Dateien die untergeordneten und der Ordner die übergeordneten Dateien sind.
Wovon erhält das Cmdlet die untergeordneten Elemente? Alles in der Variablen $ TempFileLocation. PowerShell wechselt zu dem Speicherort, den wir zuvor in $ TempFileLocation eingegeben haben, und ruft alle dort vorhandenen untergeordneten Elemente ab. Dann werden sie in die Variable $ TempFileeingefügt.
Was ist nun mit dem -Recurse-Teil? Das bedeutet, dass Get-ChildItemalles an diesem Ort durchgehen soll. Holen Sie sich die Dateien nicht einfach sofort in den übergeordneten Ordner. Wenn sich in diesem Ordner Ordner befinden, holen Sie sich auch alle ihre Kinder und ihre Kinder und so weiter. Wir werden sie alle bekommen.
$TempFileCount = ($TempFile).count
Ja, wir erstellen eine dritte Variable mit dem Namen $ TempFileCountund fügen dieser Variablen eine Zahl hinzu. Wo ist die Nummer? Nun, ($ TempFile) .countwird uns diese Nummer geben. Sie haben wahrscheinlich herausgefunden, dass der .count-Teil alle Dateien zählt, die wir gerade in $ TempFile gespeichert haben.
Warum haben wir das gemacht? Vor allem, weil es schön ist zu wissen, wie viele nutzlose Dateien wir mit dem Rest des Skripts bereinigen, damit wir erkennen können, wie effektiv es war.
if($TempFileCount -eq 0)
Jetzt legen wir fest eine bedingte Aussage aufstellen. Sie können sehen, dass Sie gefragt werden, ob. Wenn was? Wenn das Ding in Klammern wahr oder falsch ist. Die Klammern sind wichtig, ansonsten weiß das If nicht, was es vergleichen soll. Hier wird gefragt, ob die Zahl, die wir in $ TempFileCountgespeichert haben, gleich Null ist.
Das -eqist die Abkürzung für Equals. Es ist eine Art Vergleichsoperator. Es ist, als würden Sie Ihren Kindern sagen: „Wenn Ihr Zimmer sauber ist, großartig, werden wir etwas tun…“ Diese Aussage besagt, dass, wenn die in $ TempFileCount gespeicherte Zahl gleich Null ist, das Nächste getan wird.
{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}
Das passiert, wenn $ TempFileCountNull ist. Die geschweiften Klammern sind wichtig. Sie weisen PowerShell an, nur das zu tun, was sich in ihnen befindet, wenn $ TempFileCount gleich Null ist.
Es wird auf den Host oder den Bildschirm geschrieben: "Es befinden sich keine Dateien im Ordner C: \ Users \ Benutzername \ Appdata \ Local \ Temp \ *". Der Parameter am Ende - ForegroundColorweist PowerShell an, den Text grün zu machen. Das erleichtert nur die Unterscheidung von einer Fehlermeldung, die normalerweise rot ist.
Else
Sie wissen, was sonst noch bedeutet. Dies ist der Teil der Überprüfung, ob Ihr Kind sein Zimmer sauber gemacht hat. Dies geschieht, wenn $ TempFileCountnicht Null ist.
{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}
Hiermit wird der aktuelle Speicherort in $ TempFile. Die vertikale Linie danach wird als Pipe bezeichnet. Es funktioniert wie eine echte Pipe, da PowerShell den Inhalt von $ TempFile in das Cmdlet leitet, als würde Wasser in eine Waschmaschine geleitet. Dann macht das Cmdlet Remove-Itemdas, was es sagt. Es entfernt alles, was sich an diesem Ort befindet.
Der Parameter -WhatIfist zu diesem Zeitpunkt sehr wichtig. Es weist PowerShell an, den Befehl auszuführen, ihn jedoch nur auszuprobieren und nichts zu entfernen. Zeigen Sie uns einfach, was passieren würde, wenn wir das wirklich tun würden.
Hiermit können Sie Befehle testen, ohne etwas an Ihrem Computer zu ändern. Lassen Sie das -WhatIf dort, bis Sie sicher sind, dass das Skript das tut, was Sie möchten, und sonst nichts. Dann löschen Sie das einfach aus und das Skript erledigt seine Arbeit.
Der Parameter -Confirm: $ falseverhindert, dass das Skript fragt, ob Sie die Datei wirklich löschen möchten. Sie wissen, was -Recursebewirkt. -Forcebedeutet, dass Sie das Objekt löschen, egal was passiert. -WarningActionist auf SilentlyContinueeingestellt.
Dadurch wird verhindert, dass das Skript Sie vor dem Löschvorgang warnt. -ErrorActionist auf SilentlyContinueeingestellt, damit Sie bei Fehlern einfach weiterarbeiten können.
Die letzte Zeile.
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}
Genau wie bei Write-Hostwird der folgende Satz ausgegeben, damit wir wissen, was passiert ist . Es zeigt an, wie viele Dateien aus dem gerade verarbeiteten Ordner gelöscht wurden, und wird grün angezeigt, um das Auffinden zu vereinfachen.
Schauen wir uns das Skript insgesamt an:
$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count
if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}
Sie können dies kopieren und in Ihre PowerShell ISE einfügen und als delete-TemporaryFiles.ps1speichern. Sie können sich auch an die Namenskonvention von Cmdlets halten, sobald Sie sie verstanden haben.
Wenn der Code aus irgendeinem Grund nicht für Sie funktioniert, können Sie auch Laden Sie das PowerShell-Skript herunter, die wir erstellt haben, und lass es einfach laufen. Entpacken Sie es einfach zuerst, um die Skriptdatei anzuzeigen.
Wenn Sie dieses Skript ausführen möchten, klicken Sie einfach mit der rechten Maustaste darauf und wählen Sie Mit PowerShell ausführen. Eine PowerShell-Konsole wird für ein oder zwei Sekunden angezeigt, während Ihr Skript seine Aufgabe ausführt, und verschwindet dann, wenn keine Fehler vorliegen.
Wo kann ich mehr über PowerShell erfahren?
Das scheint viel zu sein! Für Ihr erstes PowerShell-Skript ist es ein gutes Stück. Wenn Sie es bis hierher geschafft haben, begrüßen Sie sich. Sie haben heute viel gelernt, aber jetzt möchten Sie mehr lernen. Das ist großartig!
Im Internet finden Sie zahlreiche Ressourcen, um mehr über PowerShell zu erfahren. Ein guter Anfang ist unser Artikel "Erstellen Sie eine Liste der Startprogramme über die Befehlszeile oder PowerShell ". Dann sehen Sie sich diese anderen Ressourcen an: