Automapping Uitzetten via Powershell

Hier laat ik je zien hoe je automapping kan uitzetten via PowerShell

Handmatig

Hier laat ik je zien hoe je automapping kan uitzetten voor

  1. Open powershell

  2. Connect met exchange online Connect-ExchangeOnline

  3. Lijst op de gebruikers op die aanwezig zijn in de mailbox Get-MailboxPermission -Identity <mailbox username>

De entries met NT AUTHORITY\SELF mag je negeren

  1. Verwijder nu de rechten van de gebruikers op de mailbox Remove-MailboxPermission -Identity <mailbox username> -User <username> -AccessRights FullAccess -Confirm:$false

  2. Voeg nu de rechten opnieuw toe maar dan zonder automapping Add-MailboxPermission -Identity <Mailbox Username> -User <Username> -AccessRights FullAccess -AutoMapping $false

De mailbox verschijnt nu niet meer automatisch in outlook.

Script

Je kan dit ook doen aan de hand van een script. Dit maakt het makkelijker voor deze actie uit te voeren voor meerdere gebruikers.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Import functie uit file

. .\WriteTextInColor.ps1

  

# 1. inladen Exchange online module

Import-Module ExchangeOnlineManagement

  

# 2. Connect to Exchange online

Connect-ExchangeOnline

  

# 3. opvragen naam mailbox

$MailboxUSername = Read-Host -Prompt 'Enter Shared Mailbox username'

if ($MailboxUSername) {

    Write-Host "ok > $MailboxUSername"

}

else {

    Write-Warning -message "No shared mailbox username"

}

  

#4. oplijsten gebruikers met full permissions & weg filteren NT AUTHORITY

$UsersSharedMailbox = Get-MailboxPermission -Identity $MailboxUSername | Where-Object { -not ($_.User -match "NT AUTHORITY") -and ($_.IsInherited -eq $false) }

  

#5. Nakijken of er gebruikers in de mailbox aanwezig zijn en permissions verwijderen

if ($UsersSharedMailbox -eq $null) {

    Write-Warning -Message "No users to remove permissions from :("

}

else {

    Export-Csv -InputObject $UsersSharedMailbox -Path .\UsersSharedMailbox_$MailboxUSername.CSV

    Remove-MailboxPermission -Identity $MailboxUSername -User $UsersSharedMailbox.User -AccessRights FullAccess -Confirm:$false

    # Turnoff automapping

    Add-MailboxPermission -Identity $MailboxUSername -User $UsersSharedMailbox.User -AccessRights FullAccess -AutoMapping $false

    # melding automapping oke & andere kleur

    WriteTextInColor -Text "AutoMapping off" -Color green

}

Functie color:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function WriteTextInColor {

    param (

        $Color,

        $Text

    )

    #sla begin kleur op

    $BeginColor = $host.UI.RawUI.ForegroundColor

    #stel nieuwe kleur in

    $host.UI.RawUI.ForegroundColor = $Color

    #print text

    Write-Host $Text

    #Reset kleurtje

    $host.UI.RawUI.ForegroundColor = $BeginColor

}

bron

GitHub