blog.icewolf.ch

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

My Links

Archives

Post Categories

icewolf

Powershell

Scripting - the new way
ExchangeOnlineManagement 2.0.4 PowerShell Module now supported with PowerShell 7

Hallo zusammen, Ich habe gestern die PowerShell Version 7.1.2 installiert. Es wurde ja angekündigt, dass das ExchangeOnlineManagement (V2) PowerShell Modul irgendwann die PowerShell 7 unterstützen soll. Wie man sieht, ist der Versuch fehlgeschlagen. Für die Installation eines neuen Moduls muss die PowerShell als Administrator gestartet werden. Ich mache das immer so: cmd (als Administrator starten) Start PowerShell -NoProfile -NoLogo Abfragen des installierten Moduls Get-Module ExchangeOnlineManagement -ListAvailable Abfragen der PowerShell Gallery nach dem neusten Modul https://www.powershellgallery.com/packages/ExchangeOnlineManagement/2.0.4 Find-Module ExchangeOnlineManagement -AllowPrerelease Deinstallieren des alten PowerShell Moduls Uninstall-Module ExchangeOnlineManagement Installieren des aktuellsten Moduls Install-Module ExchangeOnlineManagement So nun versuchen wir das nochmals mit dem neuen PowerShell Modul Beim Login hat sich etwas geändert. Anstatt in einem Popup muss das...

posted @ Friday, February 19, 2021 1:44 PM | Filed Under [ Exchange Powershell ]

Powershell v7.1.2 released

Hallo zusammen, Es gibt eine neue Version von PowerShell 7 https://github.com/PowerShell/powershell/releases Grüsse Andres Bohren

posted @ Thursday, February 18, 2021 11:27 PM | Filed Under [ Powershell ]

Exchange Managed API and OAuth Authentication

Hallo zusammen, In der Vergangenheit habe ich einige Scrips für Exchange Web Services (EWS) geschrieben. Da die Deaktivierung von Basic Auth immer näher rückt (auch wenn das jetzt wieder ein bisschen zurückgestellt wurde), macht es Sinn, mich mit der OAuth Authentifizierung von EWS zu beschäftigen. Authenticate an EWS application by using OAuth https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth In Azure AD habe ich eine Applikation erstellt, welche keine Rechte besitzt. Um die EWS Impersonation zu setzen, muss man das Manifest bearbeiten und zwar den Parameter "requiredResourceAccess" Es muss folgendes dort eingefügt werden "requiredResourceAccess": [  {  "resourceAppId": "00000002-0000-0ff1-ce00-000000000000",  "resourceAccess": [   {    "id": "dc890d15-9560-4a4c-9b7f-a736ec74ec40",    "type": "Role"   }   ]  } ], Das bewirkt, dass das "full_access_as_app" als Application Permission vergeben wird. Dann muss man noch den...

posted @ Saturday, February 6, 2021 11:01 AM | Filed Under [ Exchange Powershell O365 ]

Limit Microsoft Graph Access to specific Exchange Mailboxes

Hallo zusammen, Letztes Jahr habe ich einen Artikel geschrieben, wie man mit einer Application im AzureAD über die ClientID und einem ClientSecret via GraphAPI auf die Outlook Kalender zugreifen kann. Schaut man sich die Permissions an, so kann man mit diesem Account auf alle Kalender der Exchange Organisation zugreifen. Eine Art von "Application Impersonation" Recht für Kalender. Dieses unbeschränkte Recht lässt sich durch das Exchange Cmdlet "New-ApplicationAccessPolicy" einsch New-ApplicationAccessPolicy https://docs.microsoft.com/en-us/powershell/module/exchange/new-applicationaccesspolicy?view=exchange-ps Dazu wird eine Mailenabled Security Group benötigt. Für Exchange sollte es eine Universal Group vom Typ Security sein, welche Mail Enabled ist, also eine Emailadresse besitzt. Die Gruppe hat zwei Mitglieder a.bohren@icewolf.ch und postmaster@icewolf.ch Bisschen schade, dass eine...

posted @ Saturday, February 6, 2021 12:12 AM | Filed Under [ Exchange Powershell O365 ]

Improve Microsoft Documentation with GitHub (example New-CsOnlineAudioFile)

Hallo zusammen, Viele wissen gar nicht, dass man mithelfen kann die Microsoft Dokumentation unter https://docs.microsoft.com. Bei folgendem Beispiel  habe ich das gemacht: New-CsOnlineAudioFile https://docs.microsoft.com/en-us/powershell/module/skype/new-csonlineaudiofile?view=skype-ps Klickt man auf den Feedback for "This page" Knopf, kommt man auf GitHub und kann ein Issue eröffnen (benötigt ein kostenloses GitHub Konto). In diesem Fall habe ich mal nachgefragt, was denn der Unterschied zwischen New-CsOnlineAudioFile und Import-CsOnlineAudioFile. https://github.com/MicrosoftDocs/office-docs-powershell/issues/7196 Ich glaube ich habe es mittlerweile verstanden: New-CsOnlineAudioFile erstellt ein AudioFile Objekt, welches dann beim Import-CsOnlineAudioFile verwendet werden kann. #Create AudioFile Object $content = Get-Content "E:\Temp\CallQueueDemo02.mp3" -Encoding byte -ReadCount 0 $AudioFile = New-CsOnlineAudioFile -FileName "CallQueueDemo02.mp3" -Content $content $AudioFile Die Eigenschaften des $AudioFile Objekts kann man mit Get-Member anschauen $AudioFile | Get-Member Man...

posted @ Friday, February 5, 2021 11:38 PM | Filed Under [ Powershell Teams ]

Create Teams Auto Attendant and Call Queue with Powershell

Hallo zusammen, Vor zwei Wochen habe ich einen Blog Artikel über Teams Auto Attendnant und Call Queue geschrieben. Seither habe ich nebenbei daran gearbeitet, das ganze auch per PowerShell anzulegen. Ich bin ja ein grosser Fan von PowerShell und Automatisierung. Erstmal muss man sich mit dem Teams Modul mit Skype for Business Online verbinden ###################################################################### # Connect to SkypeForBusiness Online (Teams Module) ###################################################################### Import-Module MicrosoftTeams $sfbSession = New-CsOnlineSession -OverrideAdminDomain icewolfch.onmicrosoft.com Import-PSSession $sfbSession Resource Accounts Es müssen Resource Accounts für den Autoattendant und Call Queue angelegt ###################################################################### # Create Resource Account ###################################################################### #ApplicationID #Auto Attendant: ce933385-9390-45d1-9512-c8d228074e07 #Call Queue: 11cd3e2e-fccb-42ad-ad00-878b93575e07   New-CsOnlineApplicationInstance https://docs.microsoft.com/en-us/powershell/module/skype/new-csonlineapplicationinstance?view=skype-ps   New-CsOnlineApplicationInstance -UserPrincipalName CallQueueDemo02@icewolf.ch -DisplayName "CallQueueDemo02" -ApplicationId "11cd3e2e-fccb-42ad-ad00-878b93575e07"   New-CsOnlineApplicationInstance -UserPrincipalName AutoattendantDemo02@icewolf.ch -DisplayName "AutoattendantDemo02@icewolf.ch" -ApplicationId "ce933385-9390-45d1-9512-c8d228074e07" Um den Resource Accounts...

posted @ Saturday, January 30, 2021 10:38 AM | Filed Under [ Powershell Teams ]

Request Let's Encrypt Certificate with PowerShell

Hallo zusammen, In diesem Blog Artikel zeige ich euch, wie man ein SSL/TLS Zertifikat mit PowerShell von Let's Encrypt bereitstellt. Es braucht einen ACME Client. Für Windows stehen da mehrere Optionen zur Verfügung. Ich habe mich für eines der zwei PowerShell Module entschieden. Find-Module Posh-ACME Mit folgenden Befehlen wird das PowerShell Modul installiert und die cmdlets vom Modul angezeigt. Install-Module Posh-ACME Import-Module Posh-ACME Get-Command -Module Posh-ACME Es muss ein Account mit der Emailadresse angelegt werden. New-PAAccount -Contact a.bohren@icewolf.ch -AcceptTOS -KeyLenght 4096 Nun kann ein Zertifikat angefordert werden. Die Validierung erfolgt über einen DNS TXT Record. New-PACertificate edge.serveralive.ch -AcceptTOS -Contact "a.bohren@icewolf.ch" -DnsSleep 15 Den TXT Record habe ich in meiner DNS Zone in...

posted @ Sunday, January 24, 2021 7:51 AM | Filed Under [ Security Powershell ]

Windows Management Framework 5.1 for Windows Server 2012R2

Hallo zusammen, In meinem LAB habe ich einen Windows Server 2012 R2. Damit die PowerShell Module über die PowerShell Gallery installiert werden können, muss das Windows Management Framework 5.1 installiert werden. Wie man sieht ist auf dem Server PowerShell 4.0 installiert. Get-Host Nun wird das Windows Management Framework 5.1 (WMF 5.1) heruntergeladen. https://www.microsoft.com/en-us/download/details.aspx?id=54616 Nun kann das WMF installiert werden. Die Installation erfordert einen Neustart. Nach dem Neustart sieht man, dass die PowerShell 5.1 installiert wurde. Natürlich müsst ihr dafür sorgen, dass die TLS1.2 Settings für DotNet und PowerShell gesetzt sind. Wie das geht ist in folgendem Blog Artikel beschrieben http://blog.icewolf.ch/archive/2020/12/03/admins-setzt-endlich-die-tls-1-2-eintrage-fur-dotnetpowershell.aspx Nun kann man prüfen ob man mit dem...

posted @ Thursday, January 21, 2021 9:49 PM | Filed Under [ Exchange Powershell System Management ]

Export AAD Connect config and read it with PowerShell

Hallo zusammen, In diesem Blog Artikel erkläre ich euch, wie man die Konfiguration von Azure Active Directory Connect exportiert und mit PowerShell die XML Files durchsucht und die Konfiguration anzeigt. Als erstes muss auf dem AAD Connect Server die Konfiguration exportiert werden Import-Module ADSync Get-ADSyncServerConfiguration -Path C:\Install\AADicewolf\ Im Verzeichnis werden drei weitere Ordner angelegt "Connectors", "GlobalSettings" und "SynchronizationRules". In den Connectors gibt es zwei. Einen für Azure AD und den anderen für Active Directory. In den Global Settings gibt es nur ein XML In den Synchronization Rules gibt es ganz viele XML Files Schauen wir uns mal die Connectoren an. Wie man sieht, handelt es sich um den...

posted @ Monday, January 18, 2021 9:38 PM | Filed Under [ Powershell Azure ]

PowerShell 7.1.1 released

Hallo zusammen, Vor zwei Tagen wurde die neuste Version von PowerShell 7 mit der Version 7.1.1 veröffentlicht. v7.1.1 Release of PowerShell https://github.com/PowerShell/PowerShell/releases/tag/v7.1.1 Hier die Screenshots der Installation Grüsse Andres Bohren

posted @ Saturday, January 16, 2021 9:51 AM | Filed Under [ Powershell ]

Full Powershell Archive

Powered by:
Powered By Subtext Powered By ASP.NET