Schlagwort: Script
-
PowerShell Script um Quest-Migration-Manager Datenbank aufzuräumen
Das folgende Script löscht Einträge aus der Ressource Processing Datenbank des Quest Migration Manager, die älter als 3 Monate sind: # Bitte unter dem Namen cleanQuestDB.ps1 abspeichern, damit das u.a. Beispiel passt param( [String]$Server=“localhost“, [int]$Port=50000, [int]$Month=3, [String]$LogPath=“~\Desktop\DeletedQuestDBEntries.log“ ) Import-Module ActiveDirectory $ErrorActionPreference=“SilentlyContinue“ Get-ADObject -filter * -server „$($Server):$($Port)“ -searchbase * $Root=($Error[0] | select -expandprop Exception | select -expandprop message).split(„:“)[1].split(„,“)[-1].substring(1).trimend(„‚.“)…
-
Fehler in der Beschreibung der PowerShell von get-help about_Advanced-Funktionen
In PowerShell kann man übergebene Parameter durch die PowerShell selbst überprüfen lassen. Das ist cool! Leider hat sich in der Beschreibung zur Überprüfung von Strings (Texten) ein Fehler in about_Advanced-Funktionen eingeschlichen. Im about File steht: Param ( [parameter(Mandatory=$true)] [String[]] [ValidateRange („Sven“, „Monica“, „Christian“)] $UserName ) $UserName Richtig ist: Param…
-
Zahlenformate in Powershell konvertieren
Um Zahlenformate in Powershell zu konvertieren kann man die Funktionen ToString der Klasse System.Convert von .NET verwenden. Das geht recht einfach: $a=16 # Standardmäßig ist das erst einmal eine Dezimalzahl, also zu Basis 10 [System.Convert]::tostring($a,2) # Basis 2 macht daraus eine Binärzahl [System.Convert]::tostring($a,8) # Basis 8 macht daraus eine Oktalzahl [System.Convert]::tostring($a,16) # Basis 16 macht…
-
Mit Powershell aus dem AD Objekte abholen und nach nicht leeren Eigenschaften filtern
Es gibt viele Scriptbeispiele um mit Powershell Objekte aus dem Active-Directory abzuholen, bei denen eine bestimmte Eigenschaft ausgefüllt ist, oder nicht. Allerdings habe ich noch kein Script gefunden, dass ein Objekt abholt und dann davon alle leeren oder ausgefüllten Felder anzeigt. Das Problem liegt im Rückgabe-Wert des AD-Objekts. Dieses ist nämlich als Hash aufgehängt und läßt…
-
Powershell Variablen mit Befehlen belegen
Sie können in Powershell ganze Befehlsketten in Variablen ablegen, z. B. so: $a=get-childitem Dann wird allerdings zum Zeitpunkt der Variablendeklaration der Befehl ausgeführt und der Inhalt in der Variablen hinterlegt. Legt man also nun ein neues Verzeichnis an, ist dieses nicht in $a enthalten, da die Variable zuerst in Inhalt übergeben bekam und erst danach…
-
Powershellscripte zur Verwaltung von Hyper-V
Wenn Sie kein SCVMM (System Center Virtual Machine Manager) Ihr eigen nennen wäre es doch trotzdem ganz nett einige Dinge davon selbst über Powershell zu machen. Microsoft hat eine Powershell Script Sammlung zur Hyper-V Verwaltung bereit gestellt. Damit können Sie u. a. virtuelle Maschinen und Snapshots bzw. Checkpoints erstellen und verwalten aber auch vhd’s konvertieren…
-
Datenbankzugriffe mit der Powershell
Leider bringt Powershell keine einfachen Cmdlets für den Zugriff auf Datenbanken mit. Die einzige Möglichkeit ist über ADO.NET zuzugreifen. Vorbereitung Je nach installierten Datenbankprovider gibt es verschiedene Möglichkeiten die unterschiedlichen Datenbanken (Access,MS-SQL,MY-SQL,Oracle,ODBC, etc…) zuzugreifen. Welche Provider überhaupt auf dem Computer registriert (z.B. Access installiert) sind können Sie mit: [System.Data.Common.DBProviderFactories]::GetFactoryClasses() | select InvariantName heraus finden. Falls…
-
Powershell GUI Programmierung für Dummies Step-by-Step
Ich habe ein Weilchen überlegt, ob ich eine Modulsammlung mit einfachen Befehlen schreibe, oder lieber die GUI-Programmierung erkläre. Da es jede Menge Codebeispiele im Internet gibt um auf die Schnelle das ein oder andere grafische Element zu erstellen, habe ich mich für die Erklärung entschieden, da dies wesentlich mehr Möglichkeiten zur eigenen Anpassung bietet. Für…
-
Schnelle Powershell Befehle anhand des Beispiels grep
Hier ein Quick&Dirty Beispiel wie man schnelle Powershellscripte schreibt um die eigenen Scripte ordentlich zu tunen. Unter Powershell gibt es zwar mit select-object und where-object als auch select-string einem grep aus dem UNIX- bzw. LINUX-Bereich ähnliche Befehle, doch so wirklich Bash-Gefühle kommen dabei nicht auf. Einen ersten Turbo können Sie einschalten, wenn Sie Parameter wie…
-
Von der Eingabeaufforderung Parameter an Powershellscripte übergeben
Was passiert, wenn Sie ein Powershellscript doppelklicken? Das ist natürlich davon abhängig, welche Zusatzsoftware (z.B. PowerGui) Sie installiert haben, doch standardmäßig wird unter Windows Server 2008 R2 z. B. der Texteditor Notepad gestartet anstatt das Script auszuführen. Das ist auch noch so eine tolle Schutzmaßnahme, die das Ausführen von „bösen“ (und natürlich auch guten) Powershellscripten…