2010-01-04 14 views
9

क्या कोई मुझे बता सकता है कि स्थानीय सिस्टम या स्थानीय सेवा के रूप में चलने वाली शक्तियों का उपयोग करके शेड्यूल किए गए कार्य को कैसे बनाया जाए?पावरहेल - स्थानीय सिस्टम/सेवा के रूप में चलाने के लिए अनुसूचित कार्य बनाएं

आईटास्कफोल्डर को कॉल को छोड़कर सबकुछ बढ़िया काम करता है। रजिस्ट्रार टास्कडिनेशन()।

यदि मैं $ null में गुजरता हूं, या कॉल बम से अमान्य उपयोगकर्ता नाम या पासवर्ड कहता हूं। किसी भी विचार "

$ Rootfolder.RegisterTaskDefinition (" टेस्ट ", $ Taskdef, 6," स्थानीय सेवा "," ", 3)

उत्तर

2

मुझे लगता है कि आप" NT अधिकार \ LocalService "के रूप में उपयोग करने की आवश्यकता होगी उपयोगकर्ता नाम

दया,

दान

5

यह कोड स्निपेट एक काम का समय निर्धारित करने PowerShellPack के कार्य शेड्यूलर मॉड्यूल का उपयोग करेगा तुरंत प्रणाली के रूप में चलाने के लिए:।

New-Task | 
    ForEach-Object { 
     $_.Principal.Id = "NTAuthority\SYSTEM" 
     $_.Principal.RunLevel = 1 
     $_ 
    } | 
    Add-TaskAction -Script { 
     "SystemTask" > C:\myTest.txt 
    } | 
    Add-TaskTrigger -OnRegistration | 
    Register-ScheduledTask SystemTask 
+0

धन्यवाद मीडिया। मैं कल इसे देख लूंगा। – devlife

3

जो लोग Windows 8 या Windows Server 2012 पर PowerShell 3.0 उपयोग कर सकते हैं के लिए, नई cmdlets आप एक सरल तरीके से यह कर जब cmdlet Register-ScheduledTask साथ और तर्क -User "System"

के रूप में अपने निर्धारित कार्य को पंजीकृत करने देगा

यहाँ के साथ पी एस पूरी तरह से बनाया गया एक निर्धारित कार्य होता है, इसका उद्देश्य एक सेवा मेरी सेवा को पुनः आरंभ करने, प्रणाली खाते का उपयोग कर रहा है, प्रणाली के बाद 3 मिनट शुरू हो गया है:

$taskname = "Restart My Service" 
$taskdescription = "Restart My Service after startup" 
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' ` 
    -Argument '-NoProfile -WindowStyle Hidden -command "& Restart-Service -displayname \"My Service\""' 
$trigger = New-ScheduledTaskTrigger -AtStartup -RandomDelay (New-TimeSpan -minutes 3) 
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Minutes 2) -RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 1) 
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskname -Description $taskdescription -Settings $settings -User "System" 

एनबी: आपको उस स्क्रिप्ट के लिए व्यवस्थापक के रूप में पावरहेल चलाने की आवश्यकता होगी।

+0

मुझे बस मिलता है: रजिस्टर-शेड्यूल्ड टास्क: एक्सेस अस्वीकार कर दी गई है। लाइन पर: 7 चार: 1 + रजिस्टर-ScheduledTask कार्रवाई के $ कार्रवाई -Trigger $ ट्रिगर -TaskName $ taskname -de ... + ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ + श्रेणीइंफो: अनुमति दी गई: (PS_ScheduledTask: रूट/माइक्रोसॉफ्ट/... S_ScheduledTask) [रजिस्टर-अनुसूचित कार्य], सीमएक्सप्शन + पूर्ण रूप से योग्यता त्रुटि: HRESULT 0x80070005, रजिस्टर-अनुसूचित कार्य –

+1

कोई बात नहीं .... आपको Powerhell कमांड प्रॉम्प्ट व्यवस्थापक के रूप में चलाना होगा। –

+0

@ColinMackay मैंने स्क्रिप्ट को व्यवस्थापक के रूप में चलाने के बारे में एक नोटा नोट नोट जोड़ने के लिए अपना उत्तर अपडेट किया। हैप्पी है कि यह आपकी मदद के लिए धन्यवाद और आपकी टिप्पणी के लिए धन्यवाद – Djidiouf

संबंधित मुद्दे