Friday, May 25, 2018

DL-members-export script


Get-ADGroupMember -Identity "GroupName" | Get-ADUser -Properties Displayname,Emailaddress,Title |Select samAccountName,Displayname,EmailAddress,Title

Get-DistributionGroup DLname@domain.com | select Displayname, Primarysmtpaddress |Export-CSV c:\DLMembersList.csv

Get-DistributionGroup -Identity DLNAME | Get-DistributionGroupMember |Select Displayname, primarysmtpaddress,name |Export-CSV c:\Members.csv

import-csv C:\user.csv | foreach-object {Get-Mailbox -Identity $_.name | select Displayname, Primarysmtpaddress |Export-CSV c:\UserEmail.csv

 Get-ADGroupMember -Identity  "GroupName" | select Samaccountname,Displayname,name

Get-ADGroupMember -Identity "GroupName" |Select samAccountName,Name,@{Name="DisplayName";Expression={(Get-ADUser $_.distinguishedName Properties Displayname).Displayname}},@{Name="Title";Expression={(Get-ADUser $_.distinguishedName -Properties Title).title}}

Get-Mailbox -Identity  MailboxName | select Displayname, Primarysmtpaddress

Get-ADGroupMember -Identity "GroupName" | Get-ADUser -Properties Displayname,Title |Select samAccountName,Name,Displayname,Primarysmtpaddress,Title


Get Message tracking


Import-csv c:\slist.csv | foreach-object {Get-MessageTrackingLog -server $_.Name -Sender "sendername@domain.com"  -start "12/12/2016 01:00AM" -End "06/12/2016 2:00PM" |Select-Object Recipients, Sender, Timestamp, MessageSubject, MessageId, EventId } | Export-CSV c:\tracklog.csv

Import-csv c:\slist.csv | foreach-object {Get-MessageTrackingLog -server $_.Name -Recipients:sendername@domain.com  -start "06/24/2015 01:00AM" -End "06/26/2015 12:00PM" |Select-Object Recipients, Sender, Timestamp, MessageSubject,EventID} | Export-CSV c:\tracklog.csv

Import-csv c:\slist.csv | foreach-object {Get-MessageTrackingLog -server $_.Name -Recipients:cris.tuft@lpl.com -Sender "Sendername@domain.com" -start "20/10/2015 01:00AM" -End "15/09/2015 23:50PM" | Select-Object Recipients, Sender, Timestamp, MessageSubject} | Export-CSV c:\dispute.csv

Import-csv c:\slist.csv | foreach-object {Get-MessageTrackingLog -server $_.Name -Sender "username@domain.com" -start "10/20/2015 01:00AM" -End "10/20/2015 23:50PM" -MessageSubject “Grade Report Fall 2017” | Select-Object Recipients, Sender, Timestamp, MessageSubject} | Export-CSV c:\tracklog.csv

Get-MessageTrace  -Sender "email@domain.com" -Recipients:email@domain.edu -start “12/12/2017 12:00 AM” -EventID Receive | Select ServerHostName,Timestamp,Recipients

Get-MessageTrace -RecipientAddress <user’s address> -StartDate 11/07/2017 -EndDate 11/14/2017 | Format-list -Property Received,SenderAddress,Status,MessageTraceId

Get-MessageTrace -Sender "email@domain.edu"  -MessageSubject “Grade Report Fall 2017”  -start “01/11/2018 12:00 AM” -End “01/11/2018 11:59 PM”| Get-MessageTraceDetail

Get-MessageTrace StartDate 01/11/2018 -EndDate 01/11/2018 -PageSize 10000 | Where {$_.Subject -like "*Grade Report Fall 201*"} | ft -Wrap

Get-MessageTrace -Sender "email@domain.edu" -start “01/11/2018 8:00 AM” -End “01/11/2018 11:59 PM” |Where {$_.Subject -like "*Grade Report Fall*"} | Format-list -Property Received,SenderAddress,Status,subject >>c:\Mtracklog.txt

Get-TransportServer | get-messagetrackinglog -EventID “RECEIVE” -Start “6/10/2015 2:30:00 PM” -End “6/10/2015 4:00:00 PM” -ResultSize Unlimited | Select EventId,Source,Sender,ServerHostName,{$_.recipients},MessageId,MessageSubject,ClientIp,TimeStamp | Export-Csv “D:\RepCas1\Example.Csv”

Get-TransportServer |Get-MessageTrackingLog -Start (Get-Date).Addhours(-48) `-End (Get-Date) `-EventId send `-Sender “email@domain.com”` | Select-Object Recipients,timestamp,eventid `| Where {($_.Recipients -match ‘@hotmail.com’)}

get-messagetrackinglog -Sender “email@domain.com” -EventID “SEND” -Start “4/5/2014 8:00:00 AM” -End “4/5/2014 12:00:00 PM” | Where-Object {$_.recipients -like “*gmail.com”} | Export-csv C:\export.csv

Get-MessageTrace -Sender "email@domain.edu" -start “01/09/2018 12:00 AM” -End “01/11/201
8 11:59 PM” |Where {$_.Subject -like "*Grade Report Fall*"} | Format-list -Property Received,SenderAddress,Status,subject

Thursday, May 24, 2018

Connect Powershell Session - Exchange


Get-ExecutionPolicy

Set-ExecutionPolicy RemoteSigned

Set-ADServerSettings -ViewEntireForest $true

$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchangeserver.domain.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential

Import-PSSession $Session

Get-mailbox -identity Rakesh

Server UPTime Report



Get-ExchangeServer|%{
    if(Test-Connection $_.name -Count 1 -Quiet) {
        $OS = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.name         

        $uptime = (Get-Date) - $OS.ConvertToDateTime($OS.LastBootUpTime)           

        $report += "$($_.name) has been up for {0} days, {1} hours and {2} minutes." `
        -f $uptime.Days, $uptime.Hours, $uptime.Minutes + "`r"
    }
}

Send-MailMessage -To rakesh.chaturvedi@domain.com -From ExchangeServerReport@domain.com -Subject "Exchange Server Uptime" -Body $report -SmtpServer "SMTP-Server.domain.com"