Die Ausführungsdauer von PowerShell Code messen

Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts....

2024-03-12 · 4 Minuten · Andreas Dieckmann

PowerShell Profile erklärt (mit Beispielen)

Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht: Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird: Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Letztendlich ist ein PowerShell Profil einfach ein PowerShell Skript, was automatisch ausgeführt wird, wenn ihr die PowerShell startet....

2024-03-05 · 9 Minuten · Andreas Dieckmann

PowerShell: Zugriff auf Umgebungsvariablen

Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Umgebungsvariable per $Env:-Variable auslesen Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt. 1 $Env:username Dadurch wird der Username des aktuell angemeldeten Users ausgegeben. Das funktioniert übrigens plattformübergreifend, also auch zum Beispiel unter Linux....

2024-02-28 · 3 Minuten · Andreas Dieckmann

PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Admin-Rechte per Requires Anweisung erfordern 1 #Requires -RunAsAdministrator Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden....

2024-02-20 · 4 Minuten · Andreas Dieckmann

PowerShell: Übersetzte Security Identifier Namen herausfinden

Security Identifiers sind dazu da, um bestimmte Security Prinzipale oder Gruppen unter Windows zu identifizieren. Leider sind die dazugehörigen Namen lokalisiert, also sind zum Beispiel in einem deutschsprachigen System anders als in einem englischsprachigen System. Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt....

2024-01-17 · 2 Minuten · Andreas Dieckmann

Die unterschiedlichen Klammern in der PowerShell

Wann ist welche Klammer die Richtige in der PowerShell? # Verschiedene Klammern in der PowerShell () {} [] Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen. Runde Klammern ( ) Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw....

2023-11-28 · 9 Minuten · Andreas Dieckmann

PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. Gleichzeitig ist das auch ein zweischneidiges Schwert: Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug. Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen....

2023-05-20 · 6 Minuten · Andreas Dieckmann

Exchange Online per Azure Automation steuern im Jahr 2024

Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

2023-01-09 · 4 Minuten · Andreas Dieckmann

Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter....

2022-06-13 · 2 Minuten · Andreas Dieckmann

Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden. Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center....

2021-02-25 · 2 Minuten · Andreas Dieckmann