Rättigheter hemkatalog för redirected folders.

NTFS rättigheter:

    • CREATOR OWNER – Full Control (Apply onto: Subfolders and Files Only)
    • System – Full Control (Apply onto: This Folder, Subfolders and Files)
    • Domain Admins – Full Control (Apply onto: This Folder, Subfolders and Files)
    • Everyone – Create Folder/Append Data (Apply onto: This Folder Only)
    • Everyone – List Folder/Read Data (Apply onto: This Folder Only)
    • Everyone – Read Attributes (Apply onto: This Folder Only)
    • Everyone – Traverse Folder/Execute File (Apply onto: This Folder Only)

Share permission Everyone Full Control.

Uppgradera distgrupper Exchange

Hitta gamla grupper (Exchange 2003)
Get-DistributionGroup | ?{$_.ExchangeVersion -like "0.0 (6.5.6500.0)"}| select-object name,*version
Exchange 2007
Get-DistributionGroup | ?{$_.ExchangeVersion -like "0.1 (8.0.535.0)"}| select-object name,*version
Exportera ut lista till CSV
Get-DistributionGroup | ?{$_.ExchangeVersion -like "0.0 (6.5.6500.0)"}| select-object name,*version | export-csv C:\tmp\Distgrup.txt
Uppgradera grupper
Get-DistributionGroup | ?{$_.ExchangeVersion -like "0.0 (6.5.6500.0)"}| Set-DistributionGroup
Du får nedanstående varning men om du skriver A så uppgraderas alla grupper i ett svep.
Confirm
To save changes on object "Backup Exec Admin Team", the object must be upgraded to the current Exchange version. After the upgrade, this object cannot be managed by an earlier version of the Exchange Management Tools. Do you want to continue to upgrade and save the object?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"):

Exportera Global Adresslista

$filter = (Get-GlobalAddressList 'Default Global Adresslista').RecipientFilter

Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Firstname,Lastname,Name,PrimarySmtpAddress | Export-CSV c:\temp\GAL.csv -NoTypeInformation

Mailaktivera kontakt..

# Script to Create mailuser
# Input username (Samaccountname)
# malo78001
# After running use start-onlinecoexistancesync if O365
param ([string] $SAM)
$User = get-user $sam
$email = $User.Userprincipalname
enable-mailuser $SAM -Externalemailaddress $email -alias $SAM | set-mailuser -emailaddresspolicy $false
# Remove secondary smtp if set by policy.
set-mailuser $sam -EmailAddresses @{remove="$sam@kalle.se"}

UPN och Windowsemailaddress

Hitta användare vars upn inte matchar Windowsemailaddress.

$users = Get-user -OrganizationalUnit contoso.com/ou1/ou2/users/elev -resultsize unlimited| ?{$_.Userprincipalname -notmatch $_.Windowsemailaddress} | select-object Userprincipalname,Windowsemailaddress | Export-Csv C:\Temp\NoMatchUpnMail.csv

Ändra Windowsemailaddress till samma som UPN.

$users = Get-user -OrganizationalUnit contoso.com/ou1/uo2/users/elev -resultsize unlimited| ?{$_.Userprincipalname -notmatch $_.Windowsemailaddress}
foreach ($user in $users)
{
$email = $user.Windowsemailaddress
$upn = $user.Userprincipalname
Set-User -Identity $user.Userprincipalname -Windowsemailaddress $upn
}

Om användaren är aktiverad för emailaddresspolicy så sätts Windowsemailaddress automatiskt till primär smtpadress.

Söka i messagetrackinglogs..

Söka viss avsändare mellan viss tid
get-messagetrackinglog -Sender "just.me@contoso.com" -Start "2014-02-16 10:22:00" -End "2014-02-16 18:32:00" | Select-Object Eventid,Source,Sender,Recipients,MessageSubject | ft
Söka viss avsändare mellan viss tid och ett speciellt EventID
get-messagetrackinglog -Sender "just.me@contoso.com" -Start "2014-02-16 10:22:00" -End "2014-02-16 18:32:00" | where {$_.Eventid -like "duplicate*"}
Söka mellan viss tid, speciellt EventID och Ämne som börjar på Fax. Filtera resultatet så att Tid, EventID, Avsändare och MessageID visas.
get-messagetrackinglog -Start "2014-02-16 00:01:00" -End "2014-02-17 23:59:00" -resultsize unlimited | where {$_.Eventid -like "duplicate*" -and $_.Messagesubject -like "Fax*" } | select-object Time*,EventId,Sender,Messageid

Söka efter meddelanden som har omdirigerats av en transportregel efter viss tid.

Get-MessageTrackingLog -Recipients xxx@yyy.com -Start "10/01/2020 13:00:00" | select TimeStamp,Messagesubject,Sender,Recipients,EventID,RecipientStatus | Where {$_.EventID -eq "Fail"} | Out-GridView

Ta bort sekundär epostadress

# Använd set-adserversettings för att begränsa sökningen om det behövs
# Set-AdServerSettings -RecipientViewRoot "Contoso.com/ou1"

# Beroende på vilken typ av objekt du vill ändra på ex. mailuser, mailbox osv

$Mailboxes = get-mailuser

$Mailboxes | foreach{
for ($i=0;$i -lt $_.EmailAddresses.Count; $i++)
{
$address = $_.EmailAddresses[$i]
if ($address.IsPrimaryAddress -eq $false -and $address.SmtpAddress -like "*contoso.com" )
{
Write-host($address.AddressString.ToString() | out-file c:\temp\addressesRemovedadresses.txt -append )
$_.EmailAddresses.RemoveAt($i)
}
}

# Beroende på vilket objekt du vill ändra på ska vara samma som $Mailboxes
Set-Mailuser -Identity $_.Identity -EmailAddresses $_.EmailAddresses
}

Ta bort användares hemsida i AD

Get-ADUser -properties homepage -Filter {homepage -like "*"} -SearchBase "ou=users,ou=ou2,ou=ou1,dc=corp,dc=contoso,dc=com" | Set-ADUser -HomePage $null

Ta bort domän Office 365

För att kunna ta bort en domän från Office 365 så får den inte användas i användarnamn eller e-postadresser. För att hitta dom användare som använder domänen kan man köra:

Get-MsolUser -DomainName fqdn

Detta listar dom användare som använder domänen. Dom användare som har domänen som upnsuffix i sitt inloggningsnamn byter man med:

Set-MsolUserPrincipalName -UserPrincipalName old.upn -NewUserPrincipalName new.upn

Om det är många så får man köra ett script.

För att få en lista på object som använder domänen så kan man skriva:

get-recipient | where {$_.EmailAddresses -match “contoso.com”} | fl Name, RecipientType, EmailAddresses

I listan som skapas ovan är det object av typerna UserMailbox, MailUniversalDistributionGroup, MailUniversalSecurityGroup och DynamicDistributionGroup som är intressanta.

För att hitta dom användare som har domänen i sina proxyadresser skriver man:

get-mailbox -resultsize unlimited| where {$_.EmailAddresses -match “contoso.com”} | fl Name, RecipientType, EmailAddresses

Vill man ta reda på hur många det är så kan man skriva:

(get-mailbox -resultsize unlimited| where {$_.EmailAddresses -match “utb.lessebo.se”}).count

Om det är användare som är syncade med lokalt AD så måste man göra ändringen i det lokala AD:et. Nedanstående script kan användas för detta:

$Mailboxes = get-mailuser -resultsize unlimited | where {$.EmailAddresses -match “contoso.com”}
$Mailboxes | foreach{
    for ($i=0;$i -lt $.EmailAddresses.Count; $i++)
    {
        $address = $.EmailAddresses[$i]
        if ($address.IsPrimaryAddress -eq $false -and $address.SmtpAddress -like “*contoso.com” )
        {
            Write-host($address.AddressString.ToString() | out-file c:\temp\addressesRemovedO365.txt -append )
            $.EmailAddresses.RemoveAt($i)
        }
    }
    Set-Mailbox -Identity $.Identity -EmailAddresses $.EmailAddresses
    }

Om det är icke syncade användare så kan nedanstående script användas:

param ([string] $CSVPath)
$CSVUsers = (Import-csv -delimiter “;” $CSVPath)
ForEach ( $CSVUser in $CSVUsers )
{set-mailbox $($CSVUser.UserPrincipalName) -EmailAddresses @{Remove=”$($CSVUser.proxyaddress)”}}

Scriptet använder en csv fil som innehåller 2 kolumner en med UserPrincipalName och en med proxyaddress. Proxyaddress är den adress som du vill ta bort.

Samma förfarande kan användas på grupperna.

Domänen tar man sedan bort med Remove-MsolDomain -DomainName fqdn