Add-ADGroupMember -Identity 'New Group' -Members (Get-ADGroupMember -Identity 'Old Group' -Recursive)
Tag Archives: Powershell
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 "$_"}
Problem att ansluta Outlook vid migrering från Exchange 2010 till 2013 eller 2016.
Beror på att Exchange proxy håller kvar sessionen.
Lösningen är att köra:
Restart-WebAppPool MSExchangeAutodiscoverAppPool
Från eleverad Powershell.
https://support.microsoft.com/en-us/kb/3097392