====== Powershell ====== ^Thema^Seite^Comment^ |Libreoffice-Dokumente drucken|[[LibreOfficeDokumenteDrucken|Link]]|Die Syntax, um aus der Powershell heraus ein Libre-Office-Dokument an einen angegebenen Drucker zu schicken. Wenn man einen PDF-Drucker installiert hat, der alles eingehende als Dokument an einen Standardpfad ablegt (z.B. Foxit PDF Reader), kann man LibreOffice-Dokumente automatisch als PDF konvertieren.| |Logdatei filtern|[[LogDateiFiltern|Link]]|Dieses kleine Script durchsucht die Dateien in einem anzugebenden Pfad nach einem Schlüsselwort und speichert diese dann in einem Ausgabepfad in gleichlautende Dateien.| |Auf Existenz eines Shares prüfen|[[SharePrüfen|Link]]|Funktion, die per WMI überprüft, ob ein Freigabepfad exisitiert oder nicht| |desktop.ini im Home löschen|[[DesktopIniLoeschen|Link]]|Einzeiler, der alle Desktop.Ini-Files im Home-Bereich eines Unternehmens löscht, damit der Win7-Anzeige-Bug (Eigene Dokumente) bereinigt wird.| |Berechtigungen eines Ordners ausgeben|[[BerechtigungenOrdner|Link]]|Gibt die Berechtigungen eines Ordners in Form einer CSV-Datei aus| |Select-Abfrage in einem Array aus Objects|[[SelectArrayObjects|Link]]|Bei vielen Get-Cmdlets erhält man ein Array aus Objekten. Mithilfe des ?-Statements kann man dieses gezielt nach interessanten Objekten filtern.| |Confirm-Parameter|[[Confirm|Link]]|Erläuterungen zum Confirm-Parameter| |Berechtigungen Ordner ändern|[[BerechtigungenOrdnerAendern|Link]]|Funktion, die die Berechtigungen an einen definierten Ordner in definierter Weise abändert| |Besitzer eines Ordners ändern|[[BesitzerOrdnerAendern|Link]]|Funktion, die den Besitzer an einen definierten Ordner in definierter Weise abändert| |Konstanten|[[Konstanten|Link]]|Konstanten in Powershell| |Berechtigungen Home-Share korrigieren|[[BerechtigungenHomeShare|Link]]|Dieses Script setzt vorraus, dass ein Home-Share mit sämtlichen Unterordnern auf einen neuen Server transferiert wurde und dabei aus welchen Gründen auch immer die Berechtigungen neu ermittelt werden müssen. Anschließend schreibt das Script bei eindeutigen Zuordnungen den neuen Benutzer sowohl bei seinen Berechtigungen, als auch bei der Besitzerschaft fest ein.| |Powershellpraxis Berechtigungen|[[http://www.powershellpraxis.de/index.php/berechtigungen|Link]]| | |WIM-Klassen|[[http://blogs.technet.com/b/heyscriptingguy/archive/2015/04/16/look-at-schema-of-wmi-class-with-powershell.aspx?utm_source=twitterfeed&utm_medium=twitter|Link]]| | |Berechtigungen filtern|[[BerechtigungenPS|Link]]|Kleines Script, dass alle Ordner sucht, in denen "Jeder" berechtigt ist und in einem zweiten Script wird die Vererbung aufgebrochen und "Jeder" entfernt| |Hostheader bei https setzen|[[https://matic-tec.de/blog/19-tutorials/24-tutorial-mehrere-https-websites-mit-einem-multidomain-zertifikat-im-iis-betreiben|Link]]|Setzen des Host-Headereintrags für IIS-Webseiten, da dies über die grafische Verwaltungskonsole nicht immer funktioniert| |Powershell-Comandlets selber schreiben (C#)|[[http://www.powershellmagazine.com/2014/03/18/writing-a-powershell-module-in-c-part-1-the-basics/|Link]]| | |Powershell-Comandlets selber schreibne (PS)|[[http://www.heise.de/ix/artikel/Eigenbau-506804.html|Link]]| | |Powershell wie C64 aussehen lassen|[[http://blog.greenbrain.de/2013/10/the-retro-powershell-looking-good-in-8.html|Link]]|Auch sinnvoll:\\ $host.ui.RawUI.WindowTitle = "Fenstertitel"\\ $HOST.UI.RawUI.BackgroundColor = „Black“| |Powershell-Profile|[[https://technet.microsoft.com/de-de/magazine/2008.10.windowspowershell.aspx|Link]]| | |SQL-Abfragen|[[SQLAbfragenPowershell|Link]]|Beispielscript einer SQL-Abfrage in Powershell mithilfe von .NET| |Datei in WebDav-Ordner kopieren|[[PSCopyToWebDav|Link]]|Kleine Powershell-Funktion, dass einen Connect und einen Verschiebevorgang auf eine WebDav-Ressource zeigt| |Powershell-Version ermitteln|[[PowershellVersion|Link]]|Version der eingesetzten Powershell ermitteln| |Escape-Zeichen|[[Escape|Link]]|Kurze Zusammenfassung von Escape-Zeichen in Powershell| |Parameter|[[https://technet.microsoft.com/en-us/en-en/magazine/jj554301.aspx|Link]]|Sehr gute Zusammenfassung der Parameterfunktionen für das Schreiben eigener Cmdlets| |ACL AccessRule entfernen|[[AccessRuleEntfernen|Link]]|Eine selbst geschriebene Funktion zum entfernen einer einzelnen AccessRule in einer ACL (AD-Objekt). Das Ergebnis kann anschließend mit Set-Acl auf das Objekt zurück geschrieben werden.| |Patch Notes|[[https://msdn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-with-powershell|Link]]|Whats new in Powershell 5.0| |Arrays|[[https://www.windowspro.de/script/arrays-powershell-anlegen-aendern-auslesen-sortieren-loeschen|Link]]|Arrays in Powershell| |Strings|[[https://www.windowspro.de/script/strings-powershell-ersetzen-vergleichen-zusammenfuegen-split-substring|Link]]|Strings in Powershell| |Größen aller Unterordner ermitteln|[[UnterordnerGroesse|Link]]|Kleines Powershellscript, dass eine Liste aller Unterordner erstellt und den Speicherverbrauch ermittelt| |Externes Kommando ausführen|[[externCommandPS|Link]]|Ein kleines Beispielscript bzgl. ffmpeg.exe, das zeigt, wie man in Powershell automatisiert externe Programme für gleichartige Aufgaben verwenden kann| |Powershell im Script erweiterte Rechte anfordern|[[powershell_mit_erweiterten_rechten_im_script_starten|Link]]|Kleines Script, dass eine erweiterte Powershell eröffnet um dort privilegierte Prozesse auszuführen. (Die Technik dahinter habe ich noch nicht ganz verstanden)| |Nur Fileowner berechtigen|[[OwnerRechte|Link]]|Powershell-Funktion zum Entfernen aller ACE-Einträge einer ACL außer den Einträgen des Owners| |Assembly nutzen|[[AssemblyImport|Link]]|Man kann mit Powershell auch .NET-Assemblies nutzen| |Alle Unterordner komprimieren|[[Unterordnerkomprimieren|Link]]| | |Zertifikate zur Codesignatur ermitteln|[[PSCodeSig|Link]]|Einzeiler, der alle Zertifikate anzeigt, die sich zum signieren von Code eignen| |Dynamische Objekte|[[dynamicobjects|Link]]|Kurze Einführung in das Erzeugen von dynamischen Objekten in Powershell| |Switch-Anweisung|[[switch|Link]]|Syntax Switch-Anweisung| |Grundgerüst Funktion|[[function|Link]]|Grundgerüst für Powershellfunktionen| |Letzten Fehler anzeigen|[[LetztenFehlerAnzeigen|Link]]|Zeigt die letzte Fehlermeldung an| |Whatif|[[WhatIfInPowershell|Link]]|Implementieren der WhatIf-Funktionalität in Scripten und Funktionen| |passing through Verbose|[[https://stackoverflow.com/questions/20961063/passing-through-verbose-status-to-module-cmdlets|Link]]|Passing through -Verbose status to module cmdlets| |Modules Persistent|[[http://tomtalks.uk/2013/06/powershell-add-a-persistent-module-path-to-envpsmodulepath/|Link]]|PowerShell Add a Persistent Module Path to $env:PSModulePath| |Join-Object|[[JoinObject|Link]]|Funktion, um Join-Operationen zwischen zwei typfremden Objektlisten durchzuführen| |Script in Script|[[ScriptInScript|Link]]|Beispielscripte, wie man vollautomatisiert Powershellscripte in Scripte ausführen kann| |Script debuggen|[[ScriptDebug|Link]]|Hinweise zum nachvollziehen, was ein Script alles macht| |Kommentare|[[Kommentare|Link]]|Kommentare| |Array Duplikate entfernen|[[DuplikateEntfernen|Link]]| | |Array Elemente entfernen|[[ArrayElementeEntfernen|Link]]|Elemente aus einem Array entfernen, ohne den lästigen Overhead, mit jedem Durchlauf ein neues Array zu erzeugen (inkl. entspr. Overhead)| |Dokumentieren|[[http://kevinpelgrims.com/blog/2010/05/10/add-help-to-your-own-powershell-scripts/|Link]]|Einleitung, wie man Scripte dokumentiert, damit Get-Help korrekt funktioniert| |Datentypen|[[Datentypen|Link]]|Powershell-eigene Datentypen, die man bei der Parameterübergabe als Voraussetzung angeben kann| |Eigene Klassen|[[eigeneKlassen|Link]]|Seit Powershell VErsion 5.0 kann man direkt der Umgebung eigene Klassen definieren| |ValueFromPipeline|[[ValueFromPipeline|Link]]|Beispiel einer Funktion, die eine Liste von Objekten sowohl per Pipeline entgegen nehmen kann, als auch als Übergabeparameter| |Verbose|[[Verbose|Link]]|Verbose-Parameter| |SecureString-Beispiele|[[SecureString|Link]]|Beispiele zu SecureStrings zum besseren Gesamtverständnis| |ScheduledJob|[[ScheduledJob]]|Hinweise zum Umsetzen von ScheduledJobs in Powershell| |Int.TryParse|[[TryParse|Link]]|Int.TryParse in der Powershell anwenden| |Environment Variable|[[EnvironmentPowershell|Link]]|Auf Umgebungsvariablen zugreifen| |Powershell 7.1 Preview 6|[[https://devblogs.microsoft.com/powershell/powershell-7-1-preview-6/|Link]]|Informationen über Powershell 7.1 Release-Candidate 6, inkl. Infos über Debugging in Jobs, Splatting, Built-In Pager für Get-Help und -maskinput für Read-Host|