Erstmal eins Vorweg , und ja ich muss mir das auch merken
Im Hybrid Exchange Mode müssen alle Befehle gegen den lokalen Exchange ausgeführt werden !
Auch hier ist das
WhatIf auf
true gesetzt d.h. hier wird nur getestet aber nicht ausgeführt. Ist man sich sicher kann man das
true auf
false ändern.
<# Mailcontact #>
$NewMailContactParameter = @{
Name = 'demo-contact'
Alias = 'demo-contact'
DisplayName = 'demo-contact'
OrganizationalUnit = 'OU=dev_mailobjects,OU=dev,DC=example,DC=box'
ExternalEmailAddress = 'demo-contact@service.example.box'
WhatIf = $true
}
New-MailContact @NewMailContactParameter
testen ob alles funktioniert hat kann man das mit dem Befehl
Get-Recipient demo-contact@service.example.box
Name RecipientType
---- -------------
demo-contact MailContact
Größere ISO Dateien oder sonstige Files downloaden mit der Powershell. Als Beispiel zeige ich hier mal die Debain DVD.
# Download mit Bits
$BitsDownloadParamter = @{
Source = 'https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-10.4.0-amd64-DVD-2.iso'
Description = 'Download-Debian10-DVD-2'
DisplayName = 'Download-Debian10-DVD-2'
Destination = 'C:\Users\chris\Downloads\Test_Download\'
TransferType = 'Download'
Priority = 'Low'
}
Start-BitsTransfer @BitsDownloadParamter
Den Status des Downloads kann man sich dann mit diesem Befehl anzeigen lassen.
# Anzeigen des Status
Get-BitsTransfer | select DisplayName,FileList,BytesTotal,BytesTransferred | Where-Object -FilterScript { $_.DisplayName -eq 'Download-Debian10-DVD-2' }
Quelle :
https://docs.microsoft.com/en-us/powershell/module/bitstransfer/start-bitstransfer?view=win10-ps
https://docs.microsoft.com/en-us/powershell/module/bitstransfer/get-bitstransfer?view=win10-ps
Thx to Josh for the Hint
Zuerst muss die
Verbindung zu MSOL stehen.
Dann kann man mit dem folgenden Befehl alle Lizenzen abfragen.
Connect-MsolService
Get-MsolAccountSku | select SkuPartNumber,ActiveUnits,ConsumedUnits
Eine Übersicht aller User und den verwendeten Lizenzen kann man hiermit abfragen.
$AllUsers = Get-MsolUser | select UserPrincipalName, FirstName, LastName, DisplayName, Office -ExpandProperty Licenses
$AllUsers = $AllUsers | Where-Object -FilterScript {
# remove guests
$_.UserPrincipalName -notlike '*#EXT*'
}
$AllUsers | ft -Property UserPrincipalName,AccountSkuId -GroupBy UserPrincipalName
da ich mir immer wieder in der ManPage das zusammen Suche schreib ich jetzt einfach mal einen Eintrag hier.
Man kann relativ schnell mit ffmpeg ein Video scheiden, ich selbst schneide meine Screencast damit und bin recht zufrieden. Ein Keyframe genaus scheiden ist damit aber leider nicht möglich, ist immer ein wenig Bastelei. Jedoch entfällt das üblich neu kodieren des Videos das z.B. bei OpenShot fällig wird.
ffmpeg -ss 15 -i recorded-stream.mkv -to 01:55:21 -c copy configure-atp-on-office365.mkv
Auszug aus der Manpage
-ss position (input/output)
-i input_file
-to position (input/output)
-c [:stream_specifier] codec (input/output,per-stream)
soll heißen hier wird der codec des audio stream und des video stream kopiert.
Erstmal eins Vorweg , und ja ich muss mir das auch merken
Im Hybrid Exchange Mode müssen alle Befehle gegen den lokalen Exchange ausgeführt werden !
Wenn man nun eine neue Shared Mailbox haben möchte kann man das mit diesem snippet in der Exchange Shell machen. Auch hier ist das
WhatIf auf
true gesetzt d.h. hier wird nur getestet aber nicht ausgeführt. Ist man sich sicher kann man das
true auf
false ändern.
$NewRemMailPara = @{
Name = 'NAME_DER_SHARED_MAILBOX'
OnPremisesOrganizationalUnit = 'OU_IM_LOKALEN_AD'
DisplayName = 'DISPLAYNAME_DER_SHARED_MAILBOX'
UserPrincipalName = 'UPN_DER_MAILBOX'
RemoteRoutingAddress = 'REMOTE_ROUTING_ADDRESS (normalerweise NAME@TENANT.mail.onmicrosoft.com'
Alias = 'ALIAS_DER_SHARED_MAILBOX'
PrimarySmtpAddress = 'PRIMÄRE_EMAIL_ADRESSE'
WhatIf = $true
}
New-RemoteMailbox -Shared @NewRemMailPara
hier ein Beispiel
$NewRemMailPara = @{
Name = 'TEST Team'
OnPremisesOrganizationalUnit = 'OU=dev_mailobjects,OU=dev,DC=example,DC=box'
DisplayName = 'TEST Team'
UserPrincipalName = 'test_team@DOMAIN'
RemoteRoutingAddress = 'test_team@TENANT.mail.onmicrosoft.com'
Alias = 'TEST_Team'
PrimarySmtpAddress = 'test_team@DOMAIN'
WhatIf = $true
}
New-RemoteMailbox -Shared @NewRemMailPara
Auf dem selben Weg kann man Räume und Resourcen anlegen hierzu muss nur der Parameter Shared getauscht werden. Mögliche Werte sind
-Room
-Equipment
oder ein User Postfach
Quelle :
https://docs.microsoft.com/en-us/powershell/module/exchange/new-remotemailbox?view=exchange-ps
Sollte man mal in die Verlegenheit kommen einen lokalen AD User mit einem MSOL User verbinden zu müssen ist dieser Schnipsel recht hilfreich. Er setzt im MSOL Kontext die ImmutableID was die Zuordnung lokal zu cloud User ermöglicht auch wird der online User umbenannt das der UPN gleich zu dem lokalem AD User ist. Die Vorraussetzungen sind natürlich ein voller Zugriff auf das lokale AD und eine vorherige
Anmeldung an Microsoft 365.
$OldUPN = 'UPN_ON_OFFICE365'
$UPN = 'UPN_LOKALES_AD'
$ID = [convert]::ToBase64String((Get-ADUser -filter {UserPrincipalName -eq $UPN}).objectGUid.ToByteArray())
Set-MsolUserPrincipalName -NewUserPrincipalName $UPN -UserPrincipalName $OldUPN -ImmutableId $ID