POWERSHELL

Visual Studio Code and Version Control - Part 3

Andres Bohren
Hallo zusammen, Im letzten Artikel haben wir uns mit den Grundlagen von GIT vertraut gemacht. Visual Studio Code and Version Control - Part 2 http://blog.icewolf.ch/archive/2020/07/04/visual-studio-code-and-version-control-part-2.aspx Nun folgt die praktische Anwendung im VS Code Ein paar Tips hierzu gibt's auch hier: Using Version Control in VS Code https://code.visualstudio.com/docs/editor/versioncontrol Mit Ctrl + Shift + P kommt man in die Command Palette. Dort gibt man folgendes ein: Git: Clone Ich habe mir schon vor einiger Zeit ein GitHub Konto angelegt und dort ein Repository angelegt.

Check for pending reboot with PowerShell

Andres Bohren
Hallo zusammen, Nachdem ich mich beim Exchange Update wieder mal durch den Wizard geklickt hatte und dann darauf hingewiesen wurde, dass noch ein Pending Reboot offen ist. Habe ich gedacht, das könnte man auch rasch vorher checken. Die folgende Tabelle habe ich im Internet gefunden. Daraus habe ich dann rasch ein PowerShell Script gebastelt. How to Check for a Pending Reboot in the Registry (Windows) https://adamtheautomator.com/pending-reboot-registry-windows/ KEY VALUE CONDITION HKLM:\SOFTWARE\Microsoft\Updates UpdateExeVolatile Value is anything other than 0 HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations value exists HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations2 value exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired NA key exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending NA Any GUID subkeys exist HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting NA key exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce DVDRebootSignal value exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending NA key exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootInProgress NA key exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackagesPending NA key exists HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts NA key exists HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon JoinDomain value exists HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon AvoidSpnSet value exists HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName ComputerName Value ComputerName in HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName is different Daraus habe ich dann folgende PowerShell Script gemacht:

Powershell store password with encryption key

Andres Bohren
Hallo zusammen, Sicher steht der eine oder andere auch vor der Herausforderung, Credentials in Scripten zu verwenden. Dabei sollten die ja nicht gerade im Cleartext in den Scripten sichtbar sein. Mit folgendem Vorgehen, werden die Passwörter mit einem AES Key Encrypted und gespeichert. AES Encryption Key anlegen $Key = New-Object Byte[] 32 [Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($Key) $Key | out-file E:\Scripting\aes.key Passwort mit dem Encryption Key speichern (get-credential).Password | ConvertFrom-SecureString -key (get-content E:\Scripting\aes.key) | set-content "

Get SamAccountName from Azure Active Directory by PowerShell

Andres Bohren
Hallo zusammen, Für ein Projekt musste ich aus dem Azure Active Directory den SamAccountName auslesen. Das Problem ist nur, dass dieses Property nicht so einfach über die PowerShell Module abgefragt werden kann. Hier das Beispiel vom MSOnline Modul Get-MsolUser -UserPrincipalName a.bohren@icewolf.ch | fl Auch beim PowerShell Modul AzureAD gibt es dieses Property nicht. Get-AzureADUser -SearchString "a.bohren@icewolf.ch" | fl Man kann dies jedoch über den Graph Explorer, sprich über das Graph API abfragen.

PowerShell 7.0.1 Released

Andres Bohren
Hallo zusammen, Gestern wurde Die PowerShell v7.0.1 released. https://github.com/PowerShell/PowerShell/releases Grüsse Andres Bohren

VMware PowerCLI

Andres Bohren
Hallo zusammen, Ich habe mir heute mal kurz das VMware PowerCLI Module angeschaut. Für die Installation von PowerShell Modulen muss die PowerShell als Administrator gestartet sein. Install-Module VMware.PowerCLI Nun kann die PowerShell wieder normal gestartet werden. Laden des PowerShell Moduls und Verbindung zum vCenter Server Appliance (VCSA) herstellen. Die Verbindung schlägt wegen des SelfSigned Zertifikats jedoch noch fehl. Import-Module VMware.PowerCLI Connect-VIServer -Server VCSA.corp.icewolf.ch Die Zertifikatswarnung kann mit folgendem Befehl übersteuert werden.

Scheduled Task mit Powershell anlegen

Andres Bohren
Hallo zusammen, Ich wollte schon länger mal wissen, ob man nicht einen Scheduled Task mit PowerShell einrichten kann. Und natürlich ist die Antwort: Ja klar, das geht :) Hier der Code dazu - die Befehle unten sind direkt zu Microsoft Docs verlinkt. $action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile C:\Scripts\ZIPandDeleteIISLog.ps1' $trigger = New-ScheduledTaskTrigger -Daily -At 1am Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ZIPandDeleteIISLog" -Description "Daily ZIPandDeleteIISLog" -RunLevel "Highest" Die PowerShell muss "

Microsoft Graph REST API - Outlook Calendar with Powershell

Andres Bohren
Hallo zusammen, Ich habe ja in der Vergangenheit viele Dinge über PowerShell und die Exchange Webservices Management API gemacht. Mit der Abschaltung von Basic Authentication wird das aber immer schwieriger. Früher gab es ja noch die Outlook REST API. Aber selbst die Outlook REST API V2.0 wird anscheinend nicht mehr weiterentwickelt. https://developer.microsoft.com/en-us/office/blogs/migrating-from-outlook-rest-api-v1-0-to-microsoft-graph/ Version 1.0 of the Outlook REST API was launched in 2015 to provide API access to mail, calendar, contacts, and other data from Exchange Online, with support for Basic Authentication.

Powershell 7.0 GA

Andres Bohren
Hallo zusammen, Irgendwie ist habe ich verpasst, dass die PowerShell 7.0 am 04 März 2020 von Microsoft als Generally Available (GA) verkündet wurde. Höchste Zeit also, sich die neue Shell mal zu installieren und zu testen. Announcing PowerShell 7.0 https://devblogs.microsoft.com/powershell/announcing-powershell-7-0/ Download v7.0.0 Release of PowerShell https://github.com/PowerShell/PowerShell/releases/tag/v7.0.0 Grüsse Andres Bohren

EWS Managed API: Export Attachments from specific Folder

Andres Bohren
Hallo zusammen, Ich hatte schon lange vor, diesen Blog Artikel zu schreiben. Nun ist mir der Codeschnipsel wieder in die Hände gekommen und ich habe beschlossen, das endlich zu veröffentlichen. Ich hatte einen Fall, bei dem ich die *.jpg Attachments von Mails aus einem bestimmten Ordner exportieren wollte. Für das Script nutze ich PowerShell und das EWS Managed API Microsoft Exchange Web Services Managed API 2.2 https://www.microsoft.com/en-us/download/details.aspx?id=42951 Ausserdem wird die Exchange ApplicationImpersonation Rolle genutzt.