Zum Inhalt springen

Fachinformatiker - Blog

  • Einträge
    42
  • Kommentare
    143
  • Aufrufe
    68,908

Mitwirkende

Powershell - Allgemeines

Melde dich an, um diesem Inhalt zu folgen  

1,905 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.


 

Melde dich an, um diesem Inhalt zu folgen  


0 Kommentare


Empfohlene Kommentare

Keine Kommentare vorhanden

Gast
Kommentar schreiben...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  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.

  • Blogkommentare

    • Ach, der Text kommt mir doch bekannt vor 😜
    • Also ernsthaft kaputt war noch nichts, ein mittleres Problem sind VMware Vorlagen. Die erste angelegte Vorlage ist nun etwas über ein Jahr alt. Das erste was "kaputt" geht ist der arch-keyring. Pakete von damals gibt es nicht mehr und neue bekommt man unter umständen nicht weil die Signaturen nicht mehr stimmen. Etwas nervig. Dann kann man sich erstmal aktuelle Schlüssel besorgen (pacman-key --refresh-keys) und dann den neuen keyring holen (pacman -S archlinux-keyring) Updates hab ich bishe
    • Arch als Server interessiert mich. Ich nutze es seit 2011 privat als Desktop-OS und erlebe kaum einen Tag ohne mehrere Paket-Updates. Wenn man die zu lange warten lässt, geht später gern mal was kaputt.  Von gefühlt dauernden Kernel-Updates mal ganz zu schweigen. Wie sind deine / eure Erfahrungen damit bisher?
    • Richtig Budgie basiert auf Gnome. Früher war ich zwar kein Gnome Fan aber das sieht schon ganz brauchbar aus. Die Skalierung funktioniert bei dem 4K Display allerdings eher so mittel-gut. Gnome typisch kann man nur 100, 200 und 300% auswählen. 200% ist dann schon wieder zu groß, das Problem lässt sich aber mit xrandr beheben. Das kommt dann im nächsten Teil. oh-my-zsh kenn ich schon, muss mich nur mal tiefer damit beschäftigen. Kommt wohl auch beim nächsten mal, zusammen mit tmux und ranger
    • "Budgie" kenne ich noch nicht - ist das ein Ableger von Gnome? Bei meinem Arch kann ich mich momentan nicht so wirklich zwischen XFCE aus Gewohnheit und i3-gaps wegen der Geschwindigkeit (wenn man fertig eingerichtet...) entscheiden. Wenn du bereits zsh-Fan bist, würde ich noch "oh-my-zsh" empfehlen. Ŭber kleine Module kommt da noch ne ganze Menge an Helferlein für die Shell hinzu.
    • oh super, danke dir. Ja mit den hochgestellten und tiefgestellten zahlen ist das so ne Sache. Da kommt der ein oder andere Fehler gern zustande. Leider kann man das nicht bearbeiten. Also hoffe ich das die Option irgendwann dazukommen wird oder jeder hier auch die Kommentare liest  
    • Das ist natürlich richtig, aber ich bin nicht der geduldigste Mensch und Arch kannte ich halt auch schon  Dazu kommt dann noch das der Core m5-Y71 nicht gerade ein Kraftpaket ist. Aber ich merkt mir mal Gentoo für ganz viel Langeweile oder potentere Hardware vor.
    • @_n4p_: Auch eine Gentoo Stage1 Installation ist gar nicht sooo kompliziert. Man braucht halt vor allem entsprechend viel Zeit, um alles selber zu kompilieren, anstatt es viel schneller nur zu installieren. Dafür läuft das System (wenn man alles richtig macht) aber auch schneller und stabiler als so ziemlich jedes andere System.
    • Das Arch Wiki ist echt großartig. Das kann man gar nicht oft genug sagen Für Gentoo und LFS war die Motivation einfach nicht groß genug. Arch bildet einen schönen Mittelweg aus den Extremen - Ubuntu, Mint auf der einen und LFS auf der anderen Seite. Irgendwo hab ich mal gelesen Arch sei auf die richtige Art kompliziert, zumindest zum Lernen. Will man einfach ein Linux um produktiv zu arbeiten, ist Arch vermutlich nicht der richtige Anfang. Das Abenteuer geht auch noch weiter
    • Schönes Abenteuer...verleitet mich ja fast dazu auch mal wieder was zu installieren und mit Linux rumzuspielen. Arch habe ich damals mit 16 oder 17 das erste Mal installiert. Da war die Wiki glaube ich noch nicht soooo gut wie heute und musste oft in Foren nachfragen oder Yt Vids gucken. Danach (einige Jahre später) wars dann eher Manjaro oder Antergos. Gentoo würde in meiner Liste noch fehlen (und LFS)
  • Blogstatistik

    • Blogs insgesamt
      1
    • Einträge insgesamt
      38

Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

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

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung