2 स्क्रिप्ट्स को ऑनलाइन कहीं मिला कर, मैं इसका पता लगाने में कामयाब रहा।
यह स्क्रिप्ट है जिसने काम किया।
#Accept input parameters
Param(
[Parameter(Position=0, Mandatory=$true, ValueFromPipeline=$true)]
[string] $Office365Username,
[Parameter(Position=1, Mandatory=$true, ValueFromPipeline=$true)]
[string] $Office365Password
)
$OutputFile = "DetailedMessageStats.csv"
Write-Host "Connecting to Office 365 as $Office365Username..."
#Connect to Office 365
$SecurePassword = $Office365Password | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Office365Username, $SecurePassword
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.outlook.com/powershell/" -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $session -AllowClobber
Write-Host "Collecting Recipients..."
#Collect all recipients from Office 365
$Recipients = Get-Recipient -ResultSize Unlimited | select PrimarySMTPAddress
$MailTraffic = @{}
foreach($Recipient in $Recipients)
{
$MailTraffic[$Recipient.PrimarySMTPAddress.ToLower()] = @{}
}
$Recipients = $null
#Collect Message Tracking Logs (These are broken into "pages" in Office 365 so we need to collect them all with a loop)
$Messages = $null
$Page = 1
do
{
Write-Host "Collecting Message Tracking - Page $Page..."
$CurrMessages = Get-MessageTrace -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -PageSize 5000 -Page $Page| Select Received,*Address,*IP,Subject,Status,Size
if ($CurrMessages -ne $null)
{
$CurrMessages | Export-Csv C:\FILE-$PAGE.csv -NoTypeInformation
}
$Page++
$Messages += $CurrMessages
}
until ($CurrMessages -eq $null)
Remove-PSSession $session
a complete overview of all messages send from and to a specific domain
तुम्हें पता है, सामान की तरह है कि आम तौर पर क्या आप "बादल" जाने पर छोड़ देते हैं। यदि आपको उस तरह की पूर्ण निगरानी और लॉगिंग की आवश्यकता है, तो शायद क्लाउड सेवाएँ वह नहीं हैं जो आप वास्तव में चाहते हैं।