Kategorie: PowerShell

  • Windows PowerShell 3.0 update-help funktioniert nicht

    Auch in der finalen Version von PowerShell 3.0 funktioniert das CMDlet update-help nicht. Das ist nur zum Teil richtig, denn in der Englischen Version klappt es. Das liegt daran, dass die Deutschen Fassungen aktuell noch nicht veröffentlicht sind. Peter Kriegel postete kürzlich in Xing einen Workaround zu diesem Problem welches wenigstens die Hilfe in Englisch…

  • Dynamische Variablennamen in Powershell

    Wenn Sie einen Variablennamen selbst aus Varbiablen oder Textteilen zusammensetzen möchten, können Sie das mit Hilfe des Cmdlets new-variable wie folgt tun: $a=“Eins“ $b=“Zwei“ new-variable -name („Text“+$a+$b) -value 10 # Erstellt eine Variable mit dem Namen $TextEinsZwei und belegt diese mit dem Wert 10 $TextEinsZwei # Gibt den Inhalt der soeben dynamisch zusammengesetzten Variable zurück So…

  • 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…

  • Befehle von Powershell Modulen eines anderen Rechners benutzen

    Bei Windows XP und Server 2003 können Sie z. B. die Befehle aus dem Active-Directory Modul in der Powershell nicht benutzen. Es gibt jedoch eine Lösung, wie Sie die AD cmdlets (Befehle) ohne direkten Remotezugriff trotzdem in die Powershell Konsole von XP einbinden können: $cred=get-credential $session=new-pssession -computer 192.168.0.50 -cred $cred invoke-command {import-module activedirectory} -session $session import-pssession -session…

  • 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…

  • Hash Werte in Powershell

    Eine Hash „Variable“ kann einen schon zur Verzweiflung treiben. Insbesondere, wenn man versucht Sie zu sortieren. Hat man beispielsweise folgenden Hash geschaffen: $hash=@{A=1;C=3;B=2} kommt bei der Eingabe von $hash folgendes heraus: Name  Value A     1 C     3 B     2 Einen weiteren Eintragt hinzufügen ist relativ einfach: $hash+=@{D=4} Aber wie bekomme ich den nun wieder raus?…

  • Soll ich bei IIS 7.x den Usermode-, oder den Kernelmodecache aktivieren, oder beide?

    Die Antwort lautet wie üblich: Es kommt ganz darauf an! 😉 Fakten: Kernelmodecache ist schneller als Usermodecache, da ein Übergang in den Usermode immer viel Zeit kostet! Wenn ein Webserver im Normalfall ca. 550/s Anfragen schafft, so werden daraus bei aktiviertem Usermodecache ca. 650/s, bei Kernelcache 950/s. Aktiviert man bei geht er knapp über 1000/s.…

  • 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…