Exportera ut PST från textfil

Enkelt script för att exportera ut PST från en lista på mailboxar, filen behöver ha mailbox som kolumnamn. Ändra Server till rätt värde innan.

Import-Csv .\Rest_Archive.txt | foreach {
$MBX = get-mailbox -identity $_.mailbox
#---Testing----
# Write-Host $MBX.alias
# Write-Host "\\pdtexchange\pst\$($MBX.alias).pst" 
# New-MailboxExportRequest -Mailbox $_.mailbox -FilePath "\\server\pst\$($MBX.alias).pst" -WhatIf 
#---End testing---

New-MailboxExportRequest -Mailbox $_.mailbox -FilePath "\\server\pst\$($MBX.alias).pst"
}

Error: “does not have a valid ExchangeGuid property and cannot be migrated”

Problem vid crossforest migration

Kör get-mailbox <mailbox> | select exchangeguid i sourceforest.

Kopiera värdet för Exchangeguid till target med:

Get-MailUser jorbus | Set-MailUser -ExchangeGuid <Exchangeguid>

För samma problem med migrering till Office365 se:

https://support.microsoft.com/en-us/help/2956029/migrationpermanentexception-cannot-find-a-recipient-that-has-mailbox-g

Skicka anonyma mail Send-MailMessage

$anonUsername = "anonymous"
$anonPassword = ConvertTo-SecureString -String "anonymous" -AsPlainText -Force
$anonCredentials = New-Object System.Management.Automation.PSCredential($anonUsername,$anonPassword)

Send-MailMessage -to "nisse@contoso.com" -from "noreply@contoso.com" -subject "Email test from..." -credential $anonCredentials -SmtpServer mail.contoso.com -Attachments "C:\temp\path.txt"

TLS Receiveconnector

Hitta receiveconnectorer med TLS certifikat

get-receiveconnector -server $env:COMPUTERNAME | where {$_.TlsCertificatename -ne $null} | select Name,TLS*

Lista alla certifikat

Get-ExchangeCertificate | ft Thumbprint,Services,Subject,Notafter -AutoSize

Byta cert på connector

$tlscert = Get-ExchangeCertificate -Thumbprint <Thumbprint>
$tlscertname = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"
get-receiveconnector -server $env:COMPUTERNAME | where {$_.TlsCertificatename -ne $null} | Set-ReceiveConnector -TlsCertificateName $TLSCertName

Aktivera cert för tjänster

Enable-ExchangeCertificate -Thumbprint <Thumbprint> -Services IIS,SMTP

 

Ändra recipientfilter Dynamiska distgrupper.

Exportera ut dom grupper som ska ändras med exempelvis:

Get-DynamicDistributionGroup | select Name,Recipientfilter | export-csv c:\temp\distgroup_before_change.csv -Encoding utf8 -NoTypeInformation

Öppna filen i Notepad++ och ta bort dom grupper som inte ska ändras. Ändra filter på dom grupper som ska ändras. Spara filen som distgroup_change.csv (utf8).

Verifiera först så att det fungerar med.

Import-Csv .\distgroup_change.csv | ForEach-Object { set-DynamicDistributionGroup -identity $_.name -RecipientFilter $_.recipientfilter -whatif }

Om allt ser ok ut, ta bort whatif och genomför ändringen.

Efter ändringen så tar du ut en likadan fil som när du startade med:

Get-DynamicDistributionGroup | select Name,Recipientfilter | export-csv c:\temp\distgroup_after_change.csv -Encoding utf8 -NoTypeInformation

Du kan även kolla gruppmedlemskap före och efter med:

foreach ($group in (Get-DynamicDistributionGroup)) {Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | ft @{Expression={$_.displayname};Label=($group).name} | Out-File "c:\<path>.txt" -Append}

 

Blockera .NET 4.7.2

Blockera

reg add "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\WU" /v BlockNetFramework472 /t REG_DWORD /d 1 /f

Ta bort blockering

reg delete "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\WU" /v BlockNetFramework472 /f

Ovanstående körs från eleverad prompt

Script för att plocka ut mailboxlog Exchange

<# Export eventlog for a mailbox.
Parameters are username (mandatory) and enddate default today.
Exhange keep eventlogs for 7 days by default. 
#>
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true,
ValueFromPipeline = $false)]
[Alias('User')]
[string]$UserName,

[Parameter(Mandatory=$False)]
[string]$EndDate = (Get-Date)
)
$db = (get-mailbox $UserName).database 
$mb=(get-mailbox $UserName).exchangeguid 
Get-DatabaseEvent $db -MailboxGuid $mb -resultsize unlimited | ? {$_.documentid -ne 0 -and $_.CreateTime -ge $EndDate} | export-csv c:\temp\EventHistory$username.csv -NoTypeInformation -Encoding UTF8

Rapport mailboxpermissions

För att lista alla mailboxar och rättigheter:

Get-Mailbox -Resultsize unlimited | Get-MailboxPermission | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv C:\temp\Mailboxpermission.csv –NoTypeInformation -encoding utf8

För att lista alla delade mailboxar och rättigheter:

Get-Mailbox -RecipientTypeDetails SharedMailbox | Get-MailboxPermission | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv C:\temp\shared_mailboxpermission.csv –NoTypeInformation -encoding utf8