मैं विंडोज 2012 पर कमांड लाइन से सर्वर रिस्टार्ट कैसे कर सकता हूं?


15

मैं एक बार के सर्वर रिस्टार्ट को शेड्यूल करना चाहूंगा, उदाहरण के लिए सुबह जल्दी अपडेट इंस्टॉल करना। मैं विंडोज 2012 पर कमांड लाइन से यह कैसे कर सकता हूं?

Windows 2008 पर, मैंने atकमांड का उपयोग किया होगा ,

at 2am shutdown -r -f -c "restart"

और दोपहर के आराम को छोड़ दिया।

लेकिन विंडोज 2012 पर, इस कमांड को चलाने से मुझे पता चलता है

The AT command has been deprecated. Please use schtasks.exe instead.

तो schtasks.exe के साथ समतुल्य कमांड हो सकती है

schtasks /create /sc once /tn restart /tr "shutdown - r -f ""restart""" /st 02:00

बहुत ही भुलक्कड़ होने के अलावा, इस कमांड में एक और महत्वपूर्ण नकारात्मक पहलू है : यह आज 2am के लिए कार्य को शेड्यूल करता है- जब तक मैं इसे चलाने के लिए 1am पर नहीं जागता हूं, तब तक बहुत उपयोग नहीं करता।

Schtasks.exe के लिए मदद के अनुसार, /sdप्रारंभ दिनांक सेट करने के लिए स्विच के साथ लागू नहीं है /sc once। यहां तक ​​कि अगर मैं मिमी / डीडी / yyyy प्रारूप में कल की तारीख टाइप करना चाहता था - और मैं नहीं करता- मैं ऐसा नहीं कर सकता।

एकमात्र संभव समाधान मैंने यहां पाया है , जहां केविन ट्रेस आधी रात से पहले एक निर्धारित कार्य बनाने के लिए बैच फ़ाइल बनाने का सुझाव देता है जो कुछ मिनटों तक प्रतीक्षा करता है और फिर कमांड चलाने के लिए एक और अनुसूचित कार्य बनाता है जिसे आप वास्तव में चलाना चाहते हैं। चतुर, लेकिन कहीं भी पास के रूप में सुविधाजनक नहीं है at


@ लिजो उस लिंक में कोई भी जानकारी नहीं है कि कैसे पुनः आरंभ करें।
ल्यूक सैम्पसन

यह अनुपयोगी स्कैच के साथ एटी को बदलने के लिए सिर्फ कुल मूर्खता है। वे दोनों क्यों नहीं बना सके? झटके!
midenok

जवाबों:


13

shutdownआदेश अपने आप में एक देरी पैरामीटर है /tकि 10 वर्ष तक सेकंड के एक नंबर के लिए एक बंद विलंब। यदि आप 14 घंटे में शटडाउन शेड्यूल करना चाहते हैं, तो कहें, आप दौड़ सकते हैं

shutdown /r /t 50400

आप /dपैरामीटर के साथ एक कारण या टिप्पणी के साथ भी जोड़ सकते हैं /c; shutdown /?विवरण के लिए चलाएं ।


9

प्रलेखन के बावजूद, /SDपैरामीटर के अनुरूप होना प्रतीत होता है /SC ONCE। कार्य सफलतापूर्वक प्रदान की गई तारीख पर चलाने के लिए बनाया गया है, प्रदान किए गए समय पर। (W8 और W7 पर परीक्षण किया गया)

इसके अतिरिक्त, उपयोग के लिए पैरामीटर के रूप में XP का दस्तावेज़ीकरणschtasks.exe यह कहता है कि /SDउपयोग करते समय पैरामीटर की आवश्यकता है /SC ONCE, इसलिए मुझे लगता है कि संयोजन का उपयोग करते हुए उचित संख्या में स्क्रिप्ट हैं।

उदाहरण:

C:\Users\Mitch>schtasks /create /sc once /tn restart /tr "shutdown -r -f ""restart""" /st 23:00 /sd 2013-06-13
SUCCESS: The scheduled task "restart" has successfully been created.

C:\Users\Mitch>

यदि दस्तावेज़ के खिलाफ जाना आपके साथ अच्छी तरह से नहीं बैठता है, तो XML फ़ाइल को सीधे बनाने पर विचार करें ( स्कीमा यहां है ), जो निश्चित रूप से समर्थित है और निश्चित रूप से भविष्य की तारीख पर एक बार चलाने के लिए निर्धारित कार्य का समर्थन करता है। उचित फ़ाइल प्राप्त करने का एक आसान तरीका यह है कि इसे कार्य शेड्यूलर mmcस्नैप में बनाएं और निर्यात कमांड का उपयोग करें

उदाहरण:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2013-06-12T21:20:51.004181</Date>
    <Author>FOOBAR\Mitch</Author>
  </RegistrationInfo>
  <Triggers>
    <TimeTrigger>
      <StartBoundary>2013-06-13T22:20:29</StartBoundary>
      <Enabled>true</Enabled>
    </TimeTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>FOOBAR\Mitch</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>Your command here</Command>
    </Exec>
  </Actions>
</Task>

आयात करने का आदेश:

schtasks /CREATE /TN "Task Name" /XML filename.xml

/sdसमर्थन के बारे में टिप के लिए धन्यवाद । यह XML आयात के बारे में भी दिलचस्प है - हालांकि व्यक्तिगत रूप से मुझे प्रलेखन के खिलाफ जाने की परवाह नहीं है। तो कम से कम यह संभव है-बस इतना, जितना इसके साथ हुआ करता था उससे कहीं अधिक कठिन at
ल्यूक सैम्पसन

दिलचस्प दिलचस्प: विंडोज सर्वर 2008 पर /sdकाम नहीं करता है /sc once। इसके परिणामस्वरूपERROR: Incorrect Start Date.
ल्यूक सैम्पसन

4
हम्म ... मैंने बिना किसी समस्या के सर्वर 2008 SP2 और सर्वर 2008 R2 का परीक्षण किया। मैं ध्यान दूंगा कि दिनांक प्रारूप आपकी स्थानीय तिथि / समय प्रारूप से दूर है, और अग्रणी शून्य की आवश्यकता है। डिफ़ॉल्ट EN-us स्थापित में, यह स्वरूपण की तरह ले जाएगा /SD 06/14/2013
मिच

2

मैंने मिच के जवाब से ज्ञान को शामिल करते हुए, runat.ps1कुछ सरल विशेषताओं को दोहराने के लिए तैयार atकिया।

वाक्यविन्यास है runat (time) (command), उदाहरण के लिए

runat 2am shutdown -r -f -c "restarting the server"
runat 10:15 msg * it`'s 10:15 everyone!

यदि आप भी, पुराने दिनों के लिए उदासीन हैं, जब आपको टाइप करना नहीं था ...

schtasks /create /ru system /rl highest /sc once /tn restart /tr shutdown -r -f -c \"restarting the server\" /st 02:00 /sd 06/15/2013

... तो आप इसे इस पॉवरशेल कमांड को चलाकर स्थापित कर सकते हैं:

iex (new-object net.webclient).downloadstring('https://gist.github.com/lukesampson/5779205/raw/install.ps1');install runat https://gist.github.com/lukesampson/5778559/raw

या आप मैन्युअल रूप से यहांrunat.ps1 स्क्रिप्ट डाउनलोड कर सकते हैं


1
+1 यह एक बहुत ही उपयोगी स्क्रिप्ट है ... यह निश्चित रूप से मेरे पसंदीदा में जा रहा है।
मिच

1

मैंने इसे 2012 R2 के लिए एक स्क्रिप्ट में इस्तेमाल किया और अच्छी तरह से काम करता है; यह एक दैनिक कार्य बनाएगा जो सर्वर @ 4:30 को पुनः आरंभ करता है

schtasks /create /ru system /rl highest /sc DAILY /tn restart /tr "shutdown /r /f /c "Restarting" /st 04:30

कृपया सुनिश्चित करें कि आप इसे CMD प्रांप्ट से प्रशासनिक विशेषाधिकार के साथ चलाते हैं।

एंडी


1

निर्दिष्ट समय पर अगले दिन प्रोग्राम को कंप्यूटर को रिबूट करने के लिए बस एक और पॉवरशेल स्क्रिप्ट

$tomorrowDate = (get-date).AddDays(1).ToString("dd/mm/yyyy")

schtasks /delete /tn restart /f
schtasks /create /sc once /ru MyDomain\administrator /rp /tn restart /tr "shutdown -r -f" /st 07:13 /sd $tomorrowDate

0

मैं / f पैरामीटर के साथ schtasks कमांड का उपयोग करने का सुझाव देता हूं।

/ F का उपयोग करना, यदि समान नाम वाला कोई कार्य है, तो इसे संशोधित किया गया है।

यह स्क्रिप्टिंग के माध्यम से कार्यों को तैनात करने के लिए बहुत उपयोगी है।

शेड्यूल सर्वर पुनरारंभ का पूर्ण उदाहरण:

schtasks /create /ru system /rl highest /sc DAILY /tn Reinicio /tr "shutdown /r /f /t 0 /c "Reinicio"" /st 22:30 /F

इससे निकाला गया: http://www.sysadmit.com/2016/09/windows-programar-apagado-o-reinicio-automatico.html


0

यदि लक्ष्य केवल अपडेट स्थापित करने के बाद रिबूट करना है, तो आप अपडेट को स्थापित करने के लिए PSWindowsUpdate मॉड्यूल का उपयोग कर सकते हैं। आप इसे यहाँ से डाउनलोड कर सकते हैं । एक बार स्थापित होने के बाद, बस पॉवर्सशेल खोलें और टाइप करें

Get-WuInstall -AcceptAll -AutoReboot

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.