কিভাবে একটি সম্পূর্ণ এসএমটিপি রফতানি করতে অফিসে 365 লগ ইন করুন


10

অফিস 365 এ, এসএমটিপি লগটি রফতানি করা কি সম্ভব? পাওয়ারশেল বা অন্য কোনও উপায়ে হতে পারে।

আমার লক্ষ্যটি হল কোনও নির্দিষ্ট ডোমেন থেকে এবং পাঠানো সমস্ত বার্তাগুলির একটি সম্পূর্ণ ওভারভিউ।


a complete overview of all messages send from and to a specific domain আপনি জানেন যে, "মেঘ" এ যাওয়ার সময় সাধারণত আপনি যা হালকা জিনিস ছেড়ে যান stuff আপনার যদি প্রয়োজন / এই ধরণের সম্পূর্ণ নিরীক্ষণ এবং লগিং চান, তবে মেঘ পরিষেবাগুলি আপনি যা চান তা আসলে তা নয়।
আশাহীন N00b

3
Office365 এর আরও অনেক কিছুই রয়েছে যা আপনার মনে হয় আশাহীন N00b। :-)
জেডা-এনএল

উত্তর:


12

অনলাইনে কোথাও পাওয়া 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 

দুর্দান্ত স্ক্রিপ্ট! আমার অফিস 365 এর সাথে সংযোগের জন্য আমাকে ইউআরএলটি সংশোধন করতে হয়েছিল I সংযোগটি পরিচালনা করতে এবং আপনার স্ক্রিপ্টের বাকী ফাইলগুলি পেতে আমি রিমোট পাওয়ারশেল ব্যবহার করে কানেক্ট টু এক্সচেঞ্জে তথ্য ব্যবহার করেছি
জেসন ম্যাসি

-1

সমস্ত লগ সংগ্রহ করতে আমি কয়েকটি লাইনে সামান্য পরিবর্তন করেছি

$OutputFile = "c:\temp\SMTPlog"

$CurrMessages | Export-Csv "$($OutputFile)$($Page).csv" -NoTypeInformation

3
হাই, আমি সন্দেহ করি আপনি সেই উত্তরটি যুক্ত করতে উত্তরটি সম্পাদনা করতে চেয়েছিলেন বা অন্য উত্তরের উপর কোনও মন্তব্য করতে চান, আপনি যদি উত্তর হিসাবে রেখে যেতে চান তবে আমি আপনার পরিবর্তনের সাথে পুরো স্ক্রিপ্টটি পেস্ট করার পরামর্শ দিচ্ছি এবং এটি নির্ভর করে একটি নোট রেখে যেতে চাই অন্য উত্তরে, তাই এটি একটি সম্পূর্ণ উত্তর হবে।
yagmoth555
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.