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"
}

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

 

Filtrera bort under OU

Om man bara vill ha användare från 1 specifikt OU och inte eventuella under OU så kan man använda DistinguishedName för att filtera bor under OU.

Exempelvis för att sortera bort användare som ligger i ett OU som heter disabled.

Get-ADUser -SearchBase "OU=Users,OU=Root,DC=Contoso,DC=com" -Filter * | where {"$_.distinguishedname" -notmatch "OU=Disabled"} | select name,dist*

Rensa Event logs

Rensa standardloggar (Application,HardvareEvents,Internet Explorer,Key Management Service, Security, System, Windows Powershell)
clear-eventlog -logname (get-eventlog -list).log

Rensa alla loggar
wevtutil el | Foreach-Object {wevtutil cl "$_"}