Zum Inhalt springen

Fachinformatiker - Blog

  • Einträge
    45
  • Kommentare
    159
  • Aufrufe
    132.570

Mitwirkende

Powershell - Allgemeines


Jens_Mander

5.492 Aufrufe

In diesem Beitrag soll es um die Powershell im Allgemeinen gehen und sich an Benutzer mit grundlegenden Skriptingkenntnissen wenden.

Meine Erfahrungen im Umgang und dem ein oder anderen Tool.

Ich bin ein Freund der Powershell geworden, da man mit dieser Scripting Engine viele sich wiederholende Aufgaben schnell und vor allem dann auch fehlerfrei immer wieder erledigen kann. Sei es ein Passwort nach bestimmten Kriterien automatisiert erstellen, dem AD Account hinzufügen, das Flag für "Bei der nächsten Anmeldung Passwort ändern" setzen und einen vorgefertigten Passwortbrief ausdrucken. Oder Gruppenmitgliedschaften zwischen zwei AD Accounts übertragen. Alles was über viel Klickerei zu erreichen ist, kann man durch die Powershell eleganter lösen.

Im Grunde genommen bin ich nun so weit, dass ich alles, was ich auf Dateiebene oder im Bereich AD oder Exchange mehr als zwei Mal mache, versuche in der Powershell zu lösen. Im besten Fall wiederhole ich irgendwann noch einmal die Tätigkeit, oder führe eine ähnliche aus und muss das Skript nur ein wenig anpassen, oder im schlechtesten Fall habe ich wieder ein wenig mehr Übung im Skripten und das hilft natürlich bei den kommenden Aufgaben.

 

Erstmal ein paar allgemeine Überlegungen

 

ISE - Integrated Scripting Environment oder nicht ISE (Konsole) - das ist hier die Frage

 

Es gibt für mich keinen Grund der Konsole den Vorzug zu geben.

Hier ein paar Gründe:

  • Kopieren und Einfügen
    • Dies ist in der Konsole nur mit der Maus und nicht mit Tastaturbefehlen möglich
    • Bei mehrzeiligen Befehlen werden der Prompt und der Zeilenumbruch mit kopiert
  • Ich kann durch das Kopieren und Einfügen der gleichen Zeile untereinander mit anschließenden editieren der einzelnen Zeilen mehrere ähnliche Syntax erstellen und dann einzeln testen und somit gut experimentieren
  • Wenn ich bemerke, dass eine lange gepipte Verkettung von Befehlen zu komplex wird, kann ich diese recht einfach wieder zerpflücken und in z.B. eine Funktion wandeln
  • IntelliSense
    • Autovervollständigen mit einem kleinen Fenster neben dem Cursor
    • In der Konsole nur CMDlets und Parameter mit Tab durchschaltbar
  • Einfärbung der Codeelemente erhöht die Übersichtlichkeit
    • Tippfehler werden schneller erkannt
  • Befehls Add-on Reiter
    • Ermöglicht schnellere und einfache Erstellung eines CMDlets mit den benötigten Parametern

 

Add-Ons

Ein sehr schönes CMDlet ist für die Arbeit im AD ist NTFSAccess.

https://blogs.technet.microsoft.com/heyscriptingguy/2014/11/22/weekend-scripter-use-powershell-to-get-add-and-remove-ntfs-permissions/

ist von The Scripting Guys

Bei den Downloads die man aus dem Internet lädt, müsst ihr daran denken, vor dem kopieren, ausführen etc. die Eigenschaften des Downloads aufzurufen und ganz unten im allgemeinen Reiter bei dem Punkt Sicherheit den Button "Zulassen" zu drücken.

Ein besonderes Bonbon sind die Powershell ISESteroids von Powertheshell.com

Eins vorweg, die ISESteroids sind nicht kostenlos. Preise findet ihr auf Dr. Tobias Weltners Webseite http://www.powertheshell.com/isesteroids2-2/ordering-isesteroids/

Dr. Tobias Weltner ist ein Experte aus dem Team von IT-Visions (Dr. Holger Schwichtenberg). Dr, Schwichtenberg ist durch zahlreiche Publikationen, auch rund um die Powershell, bekannt. Es lohnt sich auf jeden Fall eins seiner Bücher zur Hand zu haben, sobald man mit der Powershell anfängt zu Skripten.

Aber nun zurück zu den Steroiden.

Um diese immer beim Start zu laden, müssen diese in die Profildatei geladen werden. Diese findet ihr unter dem Userverzeichnis\Dokumente\WindowsPowershell. Hier ändere ich noch die Farbe der Fehleranzeige von dem Blau in Weiß, da dies generell besser lesbar ist. Das macht ihr mit dem Eintrag (get-host).PrivateData.errorbackgroundcolor = "White"

Oder, sofern ihr die Steroids mit start-steroids schon geladen habt über die neue Leiste aufrufen.

Profile.thumb.png.fbd298a5aa4cff37d87b3b29f3355f2e.png

Was die Steroids für mich mittlerweile unverzichtbar machen sind

  • Gaaaanz wichtig Eine Versionierung
  • Einen Simulationsmode - hier muss man nicht nach jeder ausführbaren Zeile ein -Whatif kommen
  • Die Möglichkeit aus dem Skript eine eigenständig laufende EXE zu machen
  • Der Variablen Explorer - Dieser zeigt alle verfügbaren Variablen und deren Inhalt an
  • Win Merge File Compare - Ist im Zusammenarbeit mit der Versioncontrol einfach gut um Unterschiede in den Skripten zu finden
  • PSShaper - Zeigt was in dem Skript nicht den "best practice" entspricht

 

Schon während des Skriptens erscheinen zahlreiche Hinweise, wenn man dabei ist einen Bock zu schießen und geben einem Möglichkeiten vor es zu verbessern. Diese Möglichkeiten werden dann bei Wunsch auch direkt umgesetzt,

Wenn man eine Klammer, egal welcher Art auch immer öffnet, erscheint gleich auch das entsprechende Gegenstück. Wem ging es noch nie so, dass man später die Klammern zählt und sucht ;-)

Ein paar Zeilen Code geschrieben und dann gedacht...das wäre auch eine gute Funktion. Hier ist nach dem Markieren des Codes mit einem Rechtsklick sofort alles erledigt sobald man sich für einen Namen für die Funktion entschieden hat und welche Variablen als Parameter übergeben werden sollen.

Vorher

Zeilen_Code.png.ce0fb9a7b43f4e9e9b21dbf79875c3dd.png

Nachher

Zeilen_Code_function.png.8d12c98704ab5e3c27e50c32b82e69a9.png

Durch einen weiteren Klick auf einem Knopf wird diese Funktion in ein Modul geschrieben oder einem Modul hinzugefügt.

Dies nur mal als einen kleinen Appetizer. In den kommenden Blogeinträgen kommt zu den Steroids bestimmt noch mehr.


 

0 Kommentare


Empfohlene Kommentare

Keine Kommentare vorhanden

Gast
Kommentar schreiben...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...