Home WindowsExchange Server Найти почтовые ящики у которых нет переадресации Exchange и добавить ExtensionAttribute пользователю

Найти почтовые ящики у которых нет переадресации Exchange и добавить ExtensionAttribute пользователю

by admin
1,K views
Exchange logo

Поиск почтовых ящиков без переадресации

# Запрос всех почтовых ящиков в домене 123.ch
$Mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {
    ($_.PrimarySmtpAddress.Domain -eq "123.ch") -and ($_.ForwardingAddress -eq $null)
}

# Вывод информации о найденных почтовых ящиках
$Output = @()

foreach ($Mailbox in $Mailboxes) {
    $OutputLine = @{
        "Display Name" = $Mailbox.DisplayName
        "Primary SMTP Address" = $Mailbox.PrimarySmtpAddress
    }

    $Output += New-Object PSObject -Property $OutputLine
}

# Вывод информации в горизонтальном виде
$Output | Format-Table -AutoSize | Out-String -Width 200

Поиск почтовых ящиков без переадресации и добавление атрибута 1 со значением

# Запрос всех почтовых ящиков в домене 123.ch
$Mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {
    ($_.PrimarySmtpAddress.Domain -eq "123.ch") -and ($_.ForwardingAddress -eq $null)
}

# Добавление атрибута ExtensionAttribute1
$Output = @()

foreach ($Mailbox in $Mailboxes) {
    $ExtensionAttribute1Value = "CH"
    
    # Получение адресов из атрибута ProxyAddresses
    $ProxyAddresses = $Mailbox.ProxyAddresses | Where-Object { $_ -match "^SMTP:" }

    # Установка значения ExtensionAttribute1
    Set-ADUser -Identity $Mailbox.DistinguishedName -Replace @{ExtensionAttribute1 = $ExtensionAttribute1Value}

    $OutputLine = @{
        "Display Name" = $Mailbox.DisplayName
        "Primary SMTP Address" = $Mailbox.PrimarySmtpAddress
        "ExtensionAttribute1" = $ExtensionAttribute1Value
    }

    $Output += New-Object PSObject -Property $OutputLine
}

# Вывод информации в горизонтальном виде
$Output | Format-Table -AutoSize | Out-String -Width 200

Найти все почтовые ящкики с переадресацией и установить им атрибут

# Запрос всех почтовых ящиков в домене inspectorate.ch у которых включена переадресация
$Mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object {
    ($_.PrimarySmtpAddress.Domain -eq "inspectorate.ch") -and ($_.ForwardingAddress -ne $null)
}

# Добавление атрибута ExtensionAttribute5
$Output = @()

foreach ($Mailbox in $Mailboxes) {
    $ExtensionAttribute5Value = "FW"
    
    # Получение адресов из атрибута ProxyAddresses
    $ProxyAddresses = $Mailbox.ProxyAddresses | Where-Object { $_ -match "^SMTP:" }

    # Установка значения ExtensionAttribute5
    Set-ADUser -Identity $Mailbox.DistinguishedName -Replace @{ExtensionAttribute5 = $ExtensionAttribute5Value}

    $OutputLine = @{
        "Display Name" = $Mailbox.DisplayName
        "Primary SMTP Address" = $Mailbox.PrimarySmtpAddress
        "ExtensionAttribute5" = $ExtensionAttribute5Value
    }

    $Output += New-Object PSObject -Property $OutputLine
}

# Вывод информации в горизонтальном виде
$Output | Format-Table -AutoSize | Out-String -Width 200

Статьи из этой категории

Leave a Comment