कार्य शेड्यूलर और पावरहेल का उपयोग कर एक्सचेंज मेल बॉक्स निर्यात को स्वचालित करना

मैं बैक अप के वैकल्पिक माध्यम के रूप में एमएस एक्सचेंज v14.1 (218.15 का निर्माण) में उपयोगकर्ता मेल बॉक्स से नियमित रूप से पीएसटी फ़ाइलों को निर्यात करने की कोशिश कर रहा हूं। मैं विंडोज एसबीएस 2011 पर चल रहा हूं।

मेरे पास एक पावरहेल स्क्रिप्ट है जो इस तरह दिखती है ...

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
. $env:ExchangeInstallPath\bin\RemoteExchange.ps1
Connect-ExchangeServer -auto

$lastweek = (get-date).AddDays(-7)
$date1 = $lastweek.ToString("dd/MM/yyyy")
$date2 = (get-date).ToString("dd.MM.yyyy")
$path = "\\master\PSTFiles\"+$date2+"\"
New-Item -Path $path -type directory | Out-Null

New-MailboxExportRequest -ContentFilter "Received -gt'$date1'" -ExcludeFolders "#DeletedItems#" -Mailbox myusername -FilePath $path"myusername.pst"

मैं फिर इस स्क्रिप्ट को टास्क शेड्यूलर का उपयोग करके इस तरह सेट अप के साथ कॉल करता हूं ...

Start Program: C:\windows\system32\windowspowershell\v1.0\powershell.exe
Arguments: .\my-exchange-export-script.ps1
Start in: C:\BackupScript

जिसे किसी डोमेन उपयोगकर्ता खाते का उपयोग करके चलाने के लिए सेट किया गया है, चाहे लॉग इन है या नहीं और उच्चतम विशेषाधिकार सेट के साथ चलाएं। इस उपयोगकर्ता खाते में सर्वर पर डोमेन व्यवस्थापक अनुमतियां हैं और आरबीएसी के तहत एक्सचेंज "आयात/निर्यात" भूमिका है।

इसके अतिरिक्त मैंने इस उपयोगकर्ता खाते के लिए "सेट-एक्जिक्यूशन पॉलिसी अप्रतिबंधित-बल" भी किया है और निराशा में मैंने सर्वर के लिए यूएसी सेटिंग्स भी बंद कर दी हैं।

स्क्रिप्ट ठीक चलती है अगर मैं इसे सही क्लिक करता हूं और "पावरहेल के साथ चलाता हूं" हालांकि जब कार्य शेड्यूलर द्वारा ट्रिगर किया जाता है तब शुरू होता है लेकिन केवल नई निर्देशिका बनाने के लिए ही मिलता है, और फिर कुछ भी नहीं करता है।

क्या किसी के पास कोई उपयोगी सुझाव है कि मेरा अनुरोध क्या रोक सकता है और मैं इसे काम करने के लिए क्या कर सकता हूं?

चियर्स फिल

0
आपको उस स्नैपिन को लोड करने की आवश्यकता नहीं है। बस एक एक्सचेंज सत्र से कनेक्ट करें, और उस सत्र पर इंगित अपने निर्यात अनुरोध पर Invoke-Command का उपयोग करें।
जोड़ा लेखक mjolinor, स्रोत

1 उत्तर

ठीक है, मैंने इसे ठीक कर दिया है, लेकिन मुझे यकीन नहीं है कि मैंने जो काम किया है, उसमें से कौन सा काम किया है।

मैंने उपयोगकर्ता खाते में सुरक्षा अनुमति "WSS_ADMIN_WGP" जोड़ दी है क्योंकि प्रशासक की भूमिका थी।

मैंने एक्सचेंज 2010 एसपी 3 में अपग्रेड कर दिया है और मेरे उपयोगकर्ता खाते को हर एक्सचेंज भूमिका जो मुझे मिल सकती है।

मैंने स्क्रिप्ट को कॉल करने में एक मध्यवर्ती कदम जोड़ा है, इसलिए अब शेड्यूलड टैस्क इस तरह दिखता है ...

Start Program: C:\windows\system32\windowspowershell\v1.0\powershell.exe
Arguments: .\run-as-admin-script.ps1
Start in: C:\BackupScript

फिर "रन-ए-एडमिन-स्क्रिप्ट.पीएस 1" इस तरह दिखता है (इसके लिए यूएसी को बंद करना आवश्यक है )

Start-Process "$psHome\powershell.exe" -verb runas -ArgumentList "-file C:\BackupScript\exchange-export-script-incremental.ps1"

और "एक्सचेंज-निर्यात-स्क्रिप्ट-incremental.ps1" अब ऐसा लगता है ...

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
. $env:ExchangeInstallPath\bin\RemoteExchange.ps1
Connect-ExchangeServer -auto

$lastweek = (get-date).AddDays(-7)
$tomorrow = (get-date).AddDays(+1)
$date2 = (get-date).ToString("dd.MM.yyyy")
$path = "\\master\PSTFiles\"+$date2+"\"

New-Item -Path $path -type directory | Out-Null

New-MailboxExportRequest -ContentFilter {(Received -gt $lastweek) -and (Received -lt $tomorrow)} -Mailbox myusername -FilePath $path"myusername.pst" 

और यह सफलतापूर्वक चलता है!

संभावना है कि मैंने जो कदम उठाए हैं और मैंने जो अनुमतियां सेट की हैं, वे कार्य के लिए अनावश्यक हैं लेकिन मुझे उन्हें खत्म करने के लिए परेशान नहीं किया जा सकता है

उम्मीद है कि यह किसी और के लिए उपयोगी है।

0
जोड़ा