blog.icewolf.ch

Let's talk about IT!
posts - 1867, comments - 295, trackbacks - 0

My Links

Archives

Post Categories

icewolf

PowerShell

Scripting - the new way
Secret Management Modules für PowerShell

Hallo zusammen, Ich habe mich mit mal mit den PowerShell Module Microsoft.PowerShell.SecretManagement und Microsoft.PowerShell.SecretStore befasst. Zuerst müssen die Module mal installiert werden. Dazu muss die PowerShell "Als Administrator" gestartet werden.  Find-Module Microsoft.PowerShell.SecretManagement, Microsoft.PowerShell.SecretStore Install-Module Microsoft.PowerShell.SecretManagement, Microsoft.PowerShell.SecretStore -Scope AllUsers Schauen wir uns nun mal die Commandlets der beiden Module an Get-Command -Module Microsoft.PowerShell.SecretManagement Get-Command -Module Microsoft.PowerShell.SecretStore Nun Muss erst mal ein Vault (Tresor) angelet werden Get-SecretVault #File Vault Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault Get-SecretVault Wo liegen denn die Secrets? Diese Frage beantwortet folgendes Command Get-ChildItem $env:LocalAppData\Microsoft\PowerShell\secretmanagement Per Default hat der Vault ein Passwort. Natürlich kann das auch entfernt werden Get-SecretStoreConfiguration $SecureString = ConvertTo-SecureString "PasswordToTheVault" -AsPlaintext -Force Unlock-SecretStore -Password $SecureString #Remove Password from SecretStore Set-SecretStoreConfiguration -Authentication None Beim ersten Eintrag muss...

posted @ Friday, September 17, 2021 3:30 PM | Filed Under [ PowerShell ]

M365 neue Service Health und Communications API in Microsoft Graph

Hallo zusammen, Mit der Nachricht MC275573 hat Microsoft im M365 Message Center angekündigt, dass die alte Service Health und Communication API per 17.12.2021 eingestellt wird und stattdessen die API über Graph benutzt werden kann. Ich hatte mich mit der alten API https://manage.office.com bereits mal beschäftig gehabt. Office 365 Service Communications API with Powershell https://blog.icewolf.ch/archive/2018/01/11/office-365-service-communications-api-with-powershell.aspx Die Infos zur neuen Graph API von Service Health und Communications findet man hier Working with service communications API in Microsoft Graph https://docs.microsoft.com/en-us/graph/api/resources/service-communications-api-overview?view=graph-rest-1.0 Die API bietet Informationen zu Service Health (Dienststatus) Issues (Vorfälle / Hinweise) Messages (Nachrichtencenter) Wie immer braucht es dazu eine Applikation im...

posted @ Tuesday, August 24, 2021 8:48 AM | Filed Under [ PowerShell Microsoft365 ]

GitHub neues Format vom PersönlichenAccessToken

Hallo zusammen, In GitHub wurden im Frühling das Authentication Token Format geändert https://github.blog/changelog/2021-03-04-authentication-token-format-updates/  Als ich mich kürzlich mit Visual Studio Code bei Github angemeldet habe, wurde mir folgendes Mail zugestellt. Um einen Token im neuen Format zu erstellen geht man folgendermassen vor. Anschliessend muss man sich nochmals anmelden Nun kann man bestimmen, wie lange der Access Token gültig sein soll. Ich habe Custom ausgewählt und das Datum auf das Ende des Jahres festgelegt. Der Personal Access Token wird nur einmal angezeigt. Stellt also sicher, dass ihr den Kopiert und an einem sicheren Ort wie einem Passwort Manager aufbewahrt. Klonen vom Repository geht wie gewohnt git clone <repository.git> git clone https://github.com/BohrenAn/GitHub_PowerShellScripts.git Anschliessend...

posted @ Monday, August 23, 2021 8:05 AM | Filed Under [ PowerShell ]

Powershell v7.1.4 released

Hallo zusammen, Seit gestern ist die PowerShell 7.1.14 verfügbar. Ich habe die mal heruntergeladen und installiert. Hier habe ich zusätzlich "Enable PowerShell remoting" aktiviert. Nach der Installation wird natürlich die PowerShell 7 gestartet und eine Verbindung mit Exchange Online getestet. Funktioniert alles wunderbar. Grüsse Andres Bohren

posted @ Friday, August 13, 2021 7:56 AM | Filed Under [ PowerShell ]

Installation des AzPreview PowerShell Moduls

Hallo zusammen, Diesen Monat ist eine neue Version vom AzPreview PowerShell Modul veröffentlicht worden https://www.powershellgallery.com/packages/AzPreview/6.2.1 Ich habe schon ein paar AZ PowerShell Module installiert Get-Module az.* -ListAvailable Nun suchen wir das AzPreview PowerShell Modul in der PowerShell Gallery Find-Module AzPreview Find-Module AzPreview | fl Mit dem folgenden Befehl werden die AZ.* PowerShell Module installiert. Install-Module -Name AzPreview Das dauert sehr lange... Einfach abwarten bis man wieder den Command Prompt sieht. Ich lasse mir mal die Anzahl der Module anzeigen. Get-Module az.* -ListAvailable | measure Get-Module az.* -ListAvailable Ich verbinde mich mit Azure Connect-AzAccount Und lasse mir dann die virtuellen Maschinen anzeigen Get-AzVM Grüsse Andres Bohren

posted @ Saturday, July 31, 2021 8:53 AM | Filed Under [ PowerShell Azure ]

Zahlenrätsel mit PowerShell lösen

Hallo zusammen, Ich bin per Zufall auf folgendes Zahlenrätsel gestossen. Und habe Beschlossen, das mit PowerShell zu lösen. Abu Ali al-Hasan ibn al-Hasan ibn al-Haitham (965–1041) war ein Mathematiker, Astronom und Physiker ersten Ranges. In seiner Schrift "Über die Lösung einer Zahlenfrage+ findet man folgendes Rätsel: Als ein Schäfer nach der Grösse seiner Herde gefragt wird, antwortet er: "Es sind weniger als 500 Schafe. Teile ich die Anzahl meiner Schafe durch 2, 3, 4, 5 oder 6, so bleibt jedes Mal ein Schaf übrig. Teile ich meine Herde jedoch durch 7, so geht die Rechnung glatt auf." Wie gross ist die Herde? Nun lösen...

posted @ Saturday, July 17, 2021 10:56 AM | Filed Under [ PowerShell Fun ]

Microsoft Graph API benutzt EWS Schnittstelle im Hintergrund

Hallo zusammen, Küzrlich habe ich einen Artikel veröffentlicht, bei dem ich übers GraphAPI Mails versendet habe https://blog.icewolf.ch/archive/2021/07/07/graph-api-send-mail-with-powershell.aspx Dabei habe ich komische Fehlermeldungen erhalten. Mit der PowerShell gabs einfach einen HTTP 401 Unauthorized Status. Erst im Graph Explorer sieht man etwas mehr {     "error": {         "code": "ErrorAccessDenied",         "message": "Access to OData is disabled.",         "innerError": {             "date": "2021-07-16T16:06:01",             "request-id": "30d5d686-af1a-4da2-b022-f554b985e8bf",             "client-request-id": "87e12b56-d6fa-aa31-2e89-fd507125738a"         }     } } Die Permissions sind schon gegeben, daran kann es also nicht liegen. Wie sich nun herausgestellt hat, benutzt die Graph API für den Zugriff auf Exchange (Mail / Kalender / Contacts) im Hintergrund die EWS Schnittstelle. Ich hatte vor einiger Zeit mit der EwsApplicationAccessPolicy rumgespielt und...

posted @ Friday, July 16, 2021 11:34 PM | Filed Under [ Exchange PowerShell ]

Die Microsoft.Graph PowerShell Module ausprobiert

Hallo zusammen, Da das Azure AD PowerShell Modul wohl längerfristig nicht weiterentwickelt wird, habe ich mir mal die neue Alternative dazu angeschaut. Microsoft Lays Out Future for Azure AD PowerShell Module https://office365itpros.com/2021/06/03/microsoft-lays-out-future-azure-ad-powershell-module/ Get started with the Microsoft Graph PowerShell SDK https://docs.microsoft.com/en-us/graph/powershell/get-started Get-Module Microsoft.Graph -ListAvailable Find-Module Microsoft.Graph Install-Module Microsoft.Graph Get-Module Microsoft.Graph -ListAvailable Wie viel da zur Verfügung steht, sieht man anhand von folgendem command Get-Command -Module Microsoft.Graph.* | Measure Es gibt fast für alles ein PowerShell Modul Get-Module -Name Microsoft.Graph.* -ListAvailable Verbinden kann ich mich ganz einfach mit Connect-MgGraph Die Vorhandenen Endpoints kann ich mir mit folgendem Befehl anzeigen lassen Get-MgEnvironment Man kann sich auch über einen spezifischen Scope verbinden Connect-MgGraph -Scope Directory.Read.All Get-MgContext Und über ein Zertifikat kann man...

posted @ Tuesday, July 13, 2021 7:56 AM | Filed Under [ PowerShell ]

Graph API Send Mail with PowerShell

Hallo zusammen, Mit den Informationen kann man nun mit dem MSAL.PS Modul ein Token von Azure AD Import-Module MSAL.PS $TenantId = "icewolfch.onmicrosoft.com" $AppID = "c1a5903b-cd73-48fe-ac1f-e71bde968412" #DelegatedMail $Scope = "https://graph.microsoft.com/.default"  $Token = Get-MsalToken -ClientId $AppID -TenantId $tenantID -Scope $Scope -Interactive Aus der Token Variable hole ich mir den AccessToken, lasse mir den AccessToken anzeigen und kopiere ihn mit dem "clip" Befehl in die Zwischenablage $AccessToken = $Token.AccessToken $AccessToken $AccessToken | clip Nachdem die Untenstehende PowerShell Funktion geladen ist, analysiere ich den JWT AccessToken Parse-JWTtoken $AccessToken ############################################################################### # Parse JWT Token # https://www.michev.info/Blog/Post/2140/decode-jwt-access-and-id-tokens-via-powershell ############################################################################### function Parse-JWTtoken {       [cmdletbinding()]     param([Parameter(Mandatory=$true)][string]$token)       #Validate as per https://tools.ietf.org/html/rfc7519     #Access and ID tokens are fine, Refresh tokens will not work     if (!$token.Contains(".") -or !$token.StartsWith("eyJ")) {...

posted @ Wednesday, July 7, 2021 12:51 AM | Filed Under [ PowerShell Microsoft365 ]

Show SMTP Certificate of Remote Server with PowerShell

Hallo zusammen, Vor einiger Zeit habe ich gebloggt, wie man ein Zertifikat von einem Server mit Openssl prüfen kann. Nun habe ich etwas ähnliches mit PowerShell realisiert. Dafür habe ich mir grosse Teile des Codes von Glen Scales geliehen https://github.com/gscales/Powershell-Scripts/blob/master/TLS-SMTPMod.ps1 ############################################################################### # Connect to SMTP Server, check for STARTTLS and then get the Certificate # 29.06.2021 V1.0 Andres Bohren - Initial Version ############################################################################### <# .SYNOPSIS    .DESCRIPTION     Connect to SMTP Server, check for STARTTLS and then get the Certificate .PARAMETER ServerName     The Servername of the SMTP Server .PARAMETER Port     The Port of the SMTP Server (25 / 587) .PARAMETER Sendingdomain     The Sendingdomain used in the EHLO .PARAMETER CertificateFilePath     Optional a Path...

posted @ Tuesday, June 29, 2021 8:12 AM | Filed Under [ Exchange PowerShell ]

Full PowerShell Archive

Powered by:
Powered By Subtext Powered By ASP.NET