Analysera nätverkstrafik

För att analysera nätverkstrafik utan att installera program på servrar så kan man använda Netsh.

Skriv: 
netsh trace start tracefile=<filenameandpath> capture=yes maxsize=200 filemode=circular overwrite=yes report=no
När tracen är klar skriver du:
netsh trace stop

Filen som skapas för du sedan över till din dator där du har Netmon installerat.

För att visa filen behöver du välja Windows som aktiv profil.

Detta gör du under Options/Parser Profiles.

Söka efter inloggningar i säkerhetsloggen

För att hitta inloggningar från Administrator på lokal dator.

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624 and TimeCreated[timediff(@SystemTime) <= 86400000]] and EventData[Data[@Name='TargetUserName']='Administrator']]"

För mer info kör | select *

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624 and TimeCreated[timediff(@SystemTime) <= 86400000]] and EventData[Data[@Name='TargetUserName']='Administrator']]" | select *

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}

 

Powershell söka i loggar

Sök smtploggar efter “User Name:” och skicka till fil utan filsökvägen.

Select-String -Path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\*.log" -Pattern "User Name:" |Foreach {$_.Line} > C:\Temp\AuthFailedUsers.txt

Sök i smtploggar efter “User Name” och visa raden över och under.

Select-String -Path "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive\*.log" -Pattern "User Name:" -Context 2