النتائج 1 إلى 12 من 12

الموضوع: مناقشه في موضوع Exchange 2010

  1. #1
    عضو
    تاريخ التسجيل
    Jul 2009
    المشاركات
    27
    الدولة: Jordan
    معدل تقييم المستوى
    0

    مناقشه في موضوع Exchange 2010

    هل يوجد طريقه لمعرفه عدد الايميلات الداخله والخارجه من كل مستخدم للأكسجينج 2010

    مثلا

    user =ammar

    received =50 mail

    sent= 70 mail

    from 11/03/2012 to 12/03/2012

    ولكم جزيل الشكر

  2. #2
    عضوية جديدة
    تاريخ التسجيل
    Mar 2012
    المشاركات
    55
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    نعم اخي توجد , قم بزياره الرابط الاتي ففيه بعض التفاصيل التي من خلالها بامكانك عمل متابعه لما تريد
    https://www.simple-talk.com/sysadmin...exchange-2007/

  3. #3
    عضو
    تاريخ التسجيل
    Jan 2010
    المشاركات
    129
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    بصراحة انا عندي سكربت لكل المستخدمين لمده يوم ,, يعني بنهاية اليوم بعطيك تقرير كامل عن الكل ,, وراح احاول اعدلك عليه حتى يصبح زي ما بدك ,, لكن الان جربه ( هل تعرف كيف تستعمل السكربت بالمناسبة ؟ )


    #mjolinor #02/24/2011 #requires -version 2.0 $today = get-date $rundate = $($today.adddays(-1)).toshortdatestring() $outfile_date = ([datetime]$rundate).tostring("yyyy_MM_dd") $outfile = "email_stats_" + $outfile_date + ".csv" $dl_stat_file = "DL_stats.csv" $accepted_domains = Get-AcceptedDomain |% {$_.domainname.domain} [regex]$dom_rgx = "`(?i)(?:" + (($accepted_domains |% {"@" + [regex]::escape($_)}) -join "|") + ")$" $mbx_servers = Get-ExchangeServer |? {$_.serverrole -match "Mailbox"}|% {$_.fqdn} [regex]$mbx_rgx = "`(?i)(?:" + (($mbx_servers |% {"@" + [regex]::escape($_)}) -join "|") + ")\>$" $msgid_rgx = "^\<.+@.+\..+\>$" $hts = get-exchangeserver |? {$_.serverrole -match "hubtransport"} |% {$_.name} $exch_addrs = @{} $msgrec = @{} $bytesrec = @{} $msgrec_exch = @{} $bytesrec_exch = @{} $msgrec_smtpext = @{} $bytesrec_smtpext = @{} $total_msgsent = @{} $total_bytessent = @{} $unique_msgsent = @{} $unique_bytessent = @{} $total_msgsent_exch = @{} $total_bytessent_exch = @{} $unique_msgsent_exch = @{} $unique_bytessent_exch = @{} $total_msgsent_smtpext = @{} $total_bytessent_smtpext = @{} $unique_msgsent_smtpext=@{} $unique_bytessent_smtpext = @{} $dl = @{} $obj_table = { @" Date = $rundate User = $($address.split("@")[0]) Domain = $($address.split("@")[1]) Sent Total = $(0 + $total_msgsent[$address]) Sent MB Total = $("{0:F2}" -f $($total_bytessent[$address]/1mb)) Received Total = $(0 + $msgrec[$address]) Received MB Total = $("{0:F2}" -f $($bytesrec[$address]/1mb)) Sent Internal = $(0 + $total_msgsent_exch[$address]) Sent Internal MB = $("{0:F2}" -f $($total_bytessent_exch[$address]/1mb)) Sent External = $(0 + $total_msgsent_smtpext[$address]) Sent External MB = $("{0:F2}" -f $($total_bytessent_smtpext[$address]/1mb)) Received Internal = $(0 + $msgrec_exch[$address]) Received Internal MB = $("{0:F2}" -f $($bytesrec_exch[$address]/1mb)) Received External = $(0 + $msgrec_smtpext[$address]) Received External MB = $("{0:F2}" -f $($bytesrec_smtpext[$address]/1mb)) Sent Unique Total = $(0 + $unique_msgsent[$address]) Sent Unique MB Total = $("{0:F2}" -f $($unique_bytessent[$address]/1mb)) Sent Internal Unique = $(0 + $unique_msgsent_exch[$address]) Sent Internal Unique MB = $("{0:F2}" -f $($unique_bytessent_exch[$address]/1mb)) Sent External Unique = $(0 + $unique_msgsent_smtpext[$address]) Sent External Unique MB = $("{0:F2}" -f $($unique_bytessent_smtpext[$address]/1mb)) "@ } $props = $obj_table.ToString().Split("`n")|% {if ($_ -match "(.+)="){$matches[1].trim()}} $stat_recs = @() function time_pipeline { param ($increment = 1000) begin{$i=0;$timer = [diagnostics.stopwatch]::startnew()} process { $i++ if (!($i % $increment)){Write-host “`rProcessed $i in $($timer.elapsed.totalseconds) seconds” -nonewline} $_ } end { write-host “`rProcessed $i log records in $($timer.elapsed.totalseconds) seconds” Write-Host " Average rate: $([int]($i/$timer.elapsed.totalseconds)) log recs/sec." } } foreach ($ht in $hts){ Write-Host "`nStarted processing $ht" get-messagetrackinglog -Server $ht -Start "$rundate" -End "$rundate 11:59:59 PM" -resultsize unlimited | time_pipeline |%{ if ($_.eventid -eq "DELIVER" -and $_.source -eq "STOREDRIVER"){ if ($_.messageid -match $mbx_rgx -and $_.sender -match $dom_rgx) { $total_msgsent[$_.sender] += $_.recipientcount $total_bytessent[$_.sender] += ($_.recipientcount * $_.totalbytes) $total_msgsent_exch[$_.sender] += $_.recipientcount $total_bytessent_exch[$_.sender] += ($_.totalbytes * $_.recipientcount) foreach ($rcpt in $_.recipients){ $exch_addrs[$rcpt] ++ $msgrec[$rcpt] ++ $bytesrec[$rcpt] += $_.totalbytes $msgrec_exch[$rcpt] ++ $bytesrec_exch[$rcpt] += $_.totalbytes } } else { if ($_messageid -match $messageid_rgx){ foreach ($rcpt in $_.recipients){ $msgrec[$rcpt] ++ $bytesrec[$rcpt] += $_.totalbytes $msgrec_smtpext[$rcpt] ++ $bytesrec_smtpext[$rcpt] += $_.totalbytes } } } } if ($_.eventid -eq "RECEIVE" -and $_.source -eq "STOREDRIVER"){ $exch_addrs[$_.sender] ++ $unique_msgsent[$_.sender] ++ $unique_bytessent[$_.sender] += $_.totalbytes if ($_.recipients -match $dom_rgx){ $unique_msgsent_exch[$_.sender] ++ $unique_bytessent_exch[$_.sender] += $_.totalbytes } if ($_.recipients -notmatch $dom_rgx){ $ext_count = ($_.recipients -notmatch $dom_rgx).count $unique_msgsent_smtpext[$_.sender] ++ $unique_bytessent_smtpext[$_.sender] += $_.totalbytes $total_msgsent[$_.sender] += $ext_count $total_bytessent[$_.sender] += ($ext_count * $_.totalbytes) $total_msgsent_smtpext[$_.sender] += $ext_count $total_bytessent_smtpext[$_.sender] += ($ext_count * $_.totalbytes) } } if ($_.eventid -eq "expand"){ $dl[$_.relatedrecipientaddress] ++ } } } foreach ($address in $exch_addrs.keys){ $stat_rec = (new-object psobject -property (ConvertFrom-StringData (&$obj_table))) $stat_recs += $stat_rec | select $props } $stat_recs | export-csv $outfile -notype if (Test-Path $dl_stat_file){ $DL_stats = Import-Csv $dl_stat_file $dl_list = $dl_stats |% {$_.address} } else { $dl_list = @() $DL_stats = @() } $DL_stats |% { if ($dl[$_.address]){ if ([datetime]$_.lastused -le [datetime]$rundate){ $_.used = [int]$_.used + [int]$dl[$_.address] $_.lastused = $rundate } } } $dl.keys |% { if ($dl_list -notcontains $_){ $new_rec = "" | select Address,Used,Since,LastUsed $new_rec.address = $_ $new_rec.used = $dl[$_] $new_rec.Since = $rundate $new_rec.lastused = $rundate $dl_stats += @($new_rec) } } $dl_stats | Export-Csv $dl_stat_file -NoTypeInformation -force Write-Host "`nRun time was $(((get-date) - $today).totalseconds) seconds." Write-Host "Email stats file is $outfile" Write-Host "DL usage stats file is $dl_stat_file" #Contact information #[string](0..33|%{[char][int](46+("68655249535163665255626218535564706851627055 5358646562655775 0645570").substring(($_*2),2))})-replace " "

  4. #4
    عضوية جديدة
    تاريخ التسجيل
    Mar 2012
    المشاركات
    55
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    ايضا بوسعك استخدام Exchange Server Profile Analyzer وهي عباره عن اداة بوسعها ان تظهر لك تقارير مرتبه

    Microsoft Exchange Server Profile Analyzer (64 bit)

    https://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=10559


    Microsoft Exchange Server Profile Analyzer (32 bit)

    https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16088

  5. #5
    عضوية جديدة
    تاريخ التسجيل
    Mar 2012
    المشاركات
    55
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    اقتباس المشاركة الأصلية كتبت بواسطة oosama123 مشاهدة المشاركة
    بصراحة انا عندي سكربت لكل المستخدمين لمده يوم ,, يعني بنهاية اليوم بعطيك تقرير كامل عن الكل ,, وراح احاول اعدلك عليه حتى يصبح زي ما بدك ,, لكن الان جربه ( هل تعرف كيف تستعمل السكربت بالمناسبة ؟ )
    اقترح لو ترفق السكربت كملف لانه هنا يظهر غير مرتب

  6. #6
    عضو
    تاريخ التسجيل
    Jul 2009
    المشاركات
    27
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    مشكوررر عزيزي

    اتوقع انه السايت نافع جدا
    حيث انه لابد من استخدام سكربت لهذا الغرض

    لكن عمل سكربت غير معروف على سيرفرات الشركه مخيفه نوعا ما

  7. #7
    عضو
    تاريخ التسجيل
    Jul 2009
    المشاركات
    27
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    انا شفت هاد السكربت بس مش عارف ازا يمكن استخدامه بصراحه

    Reporting on e-mail messages sent and received yesterdayUsing PowerShell scripts it’s possible to use the message tracking logs to create reports. This example will get the messages sent and received on the previous day for a group of mailboxes in a specific database.
    # Get the start date for the tracking log search$Start = (Get-Date -Hour 00 -Minute 00 -Second 00).AddDays(-1)
    # Get the end date for the tracking log search
    $End = (Get-Date -Hour 23 -Minute 59 -Second 59).AddDays(-1)
    # Declare an array to store the results
    $Results = @()
    # Get the SEND events from the message tracking logs
    $Sent = Get-MessageTrackingLog -Server EXCHANGE01 -EventID SEND -Start $Start -End $End-resultsize unlimited
    # Get the RECEIVE events the message tracking logs
    $Received = Get-MessageTrackingLog -Server EXCHANGE01 -EventID RECEIVE -Start $Start -End $End -resultsize unlimited
    # Get the mailboxes we want to report on
    $Mailboxes = Get-Mailbox -Database "EXCHANGE01\SG1\DB1"
    # Set up the counters for the progress bar
    $Total = $Mailboxes.Count
    $Count = 1
    # Sort the mailboxes and pipe them to a For-Each loop
    $Mailboxes | Sort-Object -Property DisplayName | ForEach-Object {
    # Update the progress bar
    $PercentComplete = $Count / $Total * 100
    Write-Progress -Activity "Message Tracking Log Search" -Status "Processing mailboxes" -percentComplete $PercentComplete
    # Declare a custom object to store the data
    $Stats = "" | Select-Object Name,Sent,Received
    # Get the email address for the mailbox
    $Email = $_.WindowsEmailAddress.ToString()
    # Set the Name property of our object to the mailbox's display name
    $Stats.Name = $_.DisplayName
    # Set the Sent property to the number of messages sent
    $Stats.Sent = ($Sent | Where-Object { ($_.EventId -eq "SEND") -and ($_.Sender -eq$email) }).Count
    # Set the Received property to the number of messages received
    $Stats.Received = ($Received | Where-Object { ($_.EventId -eq "RECEIVE") -and($_.Recipients -match $email) }).Count
    # Add the statistics for this mailbox to our results array
    $Results += $Stats
    # Increment the progress bar counter
    $Count += 1
    }
    # Output the results
    $Results

    ارجو الاستفادة من خبرتك


  8. #8
    عضو
    تاريخ التسجيل
    Jul 2009
    المشاركات
    27
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    اخ اسامه هل يمكن ارفاق السكربن في ملف لأسهوله الايضاح لو سمحت

  9. #9
    عضوية جديدة
    تاريخ التسجيل
    Mar 2012
    المشاركات
    55
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    لو كان السكربت من نوع فيجول بيسك سكربت يكون استخدامه من خلال الايعاز
    CSCRIPT FileName.VBS
    وبالعاده نضع الناتج في ملف TXT لسهوله القراءه لاحقا فيكون الايعاز كاملا
    CSCRIPT FileName.VBS > C:\Result.TXT

    وفي حال كان السكربت PowerShell فيكون الايعاز كاملا كالاتي
    FileName.PL1 > C:\Result.TXT/.

    على شرط ان يكون الExecution poliy بحاله unrestricted
    وممكن تغييره من خلال الايعاز
    Set-executionpolicy unrestricted

    وطبعا بالامكان وضع السكربت في كروب بولسي في startup ويبقى شغال حسب محتويات السكربت ومواعيد اصداره التقارير لكن لو كان السكربت من نوع باور شيل فقبل ان يتم تقبله في الكروب بولسي يجب عمل Import لTemplate ال powersell في الكروب بولسي مانجر
    لكن نصيحه لاتنفذ سكربت معين ان لم تكن تعلم تماما ماذا يفعل

    لانه بامكاني مثلا بسطر واحد ان امحو كافه المدخلات في الاكتف دايركتوري
    اتمنى تكون هذه المعلومات قد افادتك
    التعديل الأخير تم بواسطة بسمك اللهم ; 11-03-2012 الساعة 12:17

  10. #10
    عضو
    تاريخ التسجيل
    Jul 2009
    المشاركات
    27
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    مشكور بسمك اللهم

  11. #11
    عضوية جديدة
    تاريخ التسجيل
    Mar 2012
    المشاركات
    55
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    على فكره السكربت الذي تم وضعه هنا في المشاركتين هو من نوع باور شيل

  12. #12
    عضو
    تاريخ التسجيل
    Jan 2010
    المشاركات
    129
    الدولة: Jordan
    معدل تقييم المستوى
    0

    رد: مناقشه في موضوع Exchange 2010

    مش عارف كيف اضيف بالمرفقات ,, عموما ,
    اخ عمار السكربت اللي وضعته ممتاز جدا ,, وراح يعطيك نتيجة ليوم امس لكل المستخدمين انا جربته وبشكل مرتب وداخل البور شيل نفسها ,,,, لكن عليك طبعا تعدل اسم السيرفر الموجود هنا هو exchnage 01 غيره الى اسم السيرفر الموجود لديك ,, وايضا غير اسم الداتا بيس لاتنسى ,,, ( ممكن تشطب الباث كامل وخلي الاسم كافي ) ,, وممكن تتحكم بالمدة زي ما بدك من الاسطر الاولى ,,
    واللي ما بعرف كيف يستخدم السكربت فقط احفظه باسم امتداد .ps1 وطبقه من البورشيل

المواضيع المتشابهه

  1. شرح sharepoint 2010 & TMG 2010 & Exchange 2010 عربى
    بواسطة menaplus في المنتدى منتدى الشهادات العام
    مشاركات: 8
    آخر مشاركة: 03-03-2013, 15:29
  2. Migration من Exchange Server 2003 إلى Exchange Server 2010 المهندس محمد ثروت الجزار
    بواسطة eng_server2003 في المنتدى منتدى الشهادات العام
    مشاركات: 2
    آخر مشاركة: 05-09-2012, 15:52
  3. افتراضي مساعدة في Upgrade Exchange 2003 to Exchange 2010
    بواسطة Maher_J في المنتدى الأرشيف
    مشاركات: 0
    آخر مشاركة: 02-04-2012, 19:54
  4. Exchange Server 2010 Ignite Workshop (Advanced Exchange Server 2010) (40 Hours)(2000
    بواسطة Marc_kamel في المنتدى منتدى الشهادات العام
    مشاركات: 0
    آخر مشاركة: 03-01-2012, 13:49
  5. شرح طريقة التحديث من Exchange 2007 الى Exchange 2010
    بواسطة daghash في المنتدى منتدى الشهادات العام
    مشاركات: 0
    آخر مشاركة: 15-11-2011, 22:27

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •