PowerShell – 12 – Active Directory / Group Policy cmdlets aktivieren

Um die Active Directory cmdlets nutzen zu können, müssen diese erst aktiviert werden. Ein einfaches Einfügen im Modules-Verzeichnis (C:\Windows\System32\WindowsPowerShell\v1.0\Modules) reicht hier leider nicht aus. Die cmdlets können nicht geladen werden und somit auch nicht genutzt. Die Wege die cmdlets freizuschalten sind auf den beiden Systemen leicht unterschiedlich, dennoch sehr einfach. Zuerst möchte ich den Weg weiterlesen…

PowerShell – Games 01 – Galgenraten / Hangman

Nachdem ich es seit längerem nicht mehr geschafft habe meine bereits angefangenen Artikel zu veröffentlichen (dies leider aus Zeitgründen), hier mal etwas Neues aus der Kategorie ‚Spiele unter PowerShell‘. Um zu zeigen das mit PowerShell auch mehr als nur einfache Abfragen gegen das AD generiert werden können, habe ich hier ein Galgenraten, nicht grafischer Art, weiterlesen…

PowerShell – 08 – Ein Schedule Task anlegen

Es ist wesentlich unkomplizierter einen Schedule Task für PowerShell Scripte einzurichten als für ein VB Script. (vgl. zu meinem Beitrag Ad-hoc Netzwerk unter Windows 8 erstellen, Netzwerk automatisch starten). In die Computerverwaltung (compmgmt.msc) unter Systemsteuerung\Verwaltung\Computerverwaltung gibt es den Punkt Aufgabenplanung (Schedule Task). Dort mit einem Rechtsklick auf „Aufgabe erstellen“ klicken, nicht auf „einfache Aufgabe erstellen…“, weiterlesen…

PowerShell – 07.1 – Get-Credential

Die cmdlet Get-Credential eignet sich hervorragend um eine Benutzerauthentifizierung durchzuführen. Das eingegebene Passwort wird als Secure String hinterlegt und kann somit nicht ohne Weiteres als Klartext ausgeben werden. Versucht man das Passwort als String auszugeben wird lediglich „System.Security.SecureString“ angezeigt.  Um Benutzername und Passwort in einem Script verwenden zu können muss der Input natürlich in eine weiterlesen…

PowerShell – 07 – E-Mail versenden mit/ohne Dateianhang, Authentifizierung

Es gibt die verschiedensten Wege um E-Mails über PowerShell zu versenden. Eine Variante ist, man baut sich die E-Mail samt benötigten Informationen selbst zusammen oder man nutzt die cmdlet Send-MailMessage. Die cmdlet gibt es seit PowerShell 2.0. Die Vorteile liegen auf der Hand, alle benötigten Informationen, wie SMTP-Server, E-Mail-Adresse, ect. werden über Parameter angefügt und weiterlesen…

PowerShell – 06 – Passwort setzen oder ändern mittels QuestAD

Von Quest gibt es ein sehr gutes Modul für PowerShell. Das Modul umfasst über 80 cmdlets. Mit  diesem cmdlets lassen sich viele Operationen in PowerShell sehr einfach abhandeln u.a. auch das setzen eines Passwortes. Die Quest CMDLETS gibt es unter „Free downloads“ zum Download. Genauer gesagt benötigt man das Quest One ActiveRoles Management Shell for weiterlesen…

PowerShell – 05.1 – Messagebox, Inputbox

In PowerShell ist es ebenso wie in VBS möglich eine Input-Box zu generieren. Diese ermöglicht dem Benutzer eine Eingabe von Werten. Das Ganze wird durch Read-Host in PowerShell realisiert, dabei wird die Eingabe in eine Variable gespeichert. Write-Host gibt einen String in der Commandline aus. Es ist auch möglich den Input mittels dem Parameter -assecurestring weiterlesen…

PowerShell – 05 – MessageBox

Natürlich ist es auch in PowerShell möglich eine Messagebox aufzurufen. Wie gewohnt können Titel, Inhalt, Buttons sowie Messageboxicons ausgewählt  und angezeigt werden. Messageboxen eigenen sich zu einem um in einem Script Eingaben eines Benutzer zu realisieren oder auch als praktische Information, dass ein Script durchgelaufen ist. Der Aufruf der Messagebox erfolgt mittels [System.Windows.Forms.MessageBox]::Show(„Nachricht“,“Titel“,0). Der erste weiterlesen…

PowerShell – 04 – Textdatei auslesen, bearbeiten, anlegen, befüllen

In PowerShell ist es sehr einfach mit Boardmitteln Dateien im *.txt, *.csv oder sonst einem Format zu erstellen. Um die Datei in einem Script zu laden wird lediglich der Befehl Get-Content benötigt. Anschließend kann der Inhalt spielend in einer Foreach Schleife behandelt werden. Ebenso ist es sehr einfach in eine Datei zuschreiben oder eine neue Datei weiterlesen…

PowerShell – 03.2 – Strings bearbeiten und untersuchen mit Funktionen wie Trim(), Substring(), Contains(), ToLower(), ToUpper(), StartsWith(), EndsWith()

Es gibt noch viele weitere gute Möglichkeiten um Strings bearbeiten oder untersuchen zu können. Ich möchte folgende Funktionen näher beschreiben Trim(). Dazu gehörten noch TrimStart() und TrimEnd(). Weiter geht es mit SubString(), Contains(), ToLower(), ToUpper(), StartsWith(), EndsWith(). Trim() Trim eignet sich zum Entfernen von Leerzeichen (Spaces) am Anfang und Ende eines Strings. Sieht der String weiterlesen…

PowerShell – 03.1 – Strings auf bestimmten Inhalt prüfen mit dem Parameter -match

Um heraus zu finden, ob sich ein bestimmtes Wort oder eine beliebige Zeichenkette in einem String befindet, gibt es den Parameter -match. Vergleichbar ist -match  von der Wirkungsweise mit Funktion inStr() im VBS. Enthält die zu untersuchende Zeichenkette den gesuchten Inhalt, gibt -match true aus. Somit ist -match ein boolescher Wert. dennoch ist -match nicht weiterlesen…

PowerShell – 03 – Strings zerlegen, zuschneiden, Teile ausschneiden, verbinden

Es gibt mehrere nützliche Funktionen um in PowerShell einen String zu bearbeiten. Um diese nutzen zu können, sollte man ein Grundverständnis für eine String haben. Jedes Zeichen in einem String ist mit einer numerischen Wert versehen, angefangen mit 0. Also ist ein String ein eindimensionales Array. So gibt es die Möglichkeit jedes Feld einzeln in weiterlesen…

PowerShell – 02 – Random

Es gibt die Möglichkeit unter PowerShell eine Random Zahl oder etwas anderes zufällig auszugeben. Beispielsweise kann man Zahlen von eins bis Zehn zufällig ausegben lassen oder auch Buchstaben. Das Ganze wird mittels der Funktion Random realisiert. Aufzurufen ist diese über System.Random. Seit PowerShell 3.0 ist dies jedoch erheblich einfacher geworden. Siehe dazu Get-Random. Es muss weiterlesen…

PowerShell – 01 – Tabs, Zeilenumbrüche, Char

In Vielen Scripten werden Zeilenumbrüche, Tabs oder Sonderzeichen (über Char) benötigt um gewisse Abläufe zu steuern. Um in Powershell wie in VBS diese darzustellen, gibt es mehrere  Möglichkeiten. VBS PowerShell Beschreibung vbNewLineChr(10), Chr(13) n[char]10, [Char]13[System.Environment]::NewLine Erzeugt einen Zeilenumbruch vbCrLf n[char]10, [Char]13[System.Environment]::NewLine Erzeugt ebenfalls einen Zeilenumbruch vbTab `t[char]9 Setzt einen Tab Horizontal Es gibt noch einige Funktionen weiterlesen…

PowerShell – 00 – PowerShell 3.0 einrichten

PowerShell 3.0 bringt mit der überarbeiteten ISE (Integrated Scripting Environment) viele Neuerungen und macht das Arbeiten sehr angenehm. Die ISE löst in meinen Augen andere Codeprogramme wie PowerGUI ab. Nun aber zur Installation, bzw. dem Upgrade auf Version 3.0. Um zu Prüfen welche Version aktuell auf dem System vorhanden ist öffnet man die PowerShell.exe. Es gibt weiterlesen…