เป็นไปได้ไหมที่ Task Scheduled จะทำงานเป็น NETWORK SERVICE


11

มันค่อนข้างง่ายในการตั้งค่างานให้ทำงานเป็นระบบ แต่เมื่อตั้งค่าเป็น NETWORK SERVICE จะแสดงข้อความแสดงข้อผิดพลาด "การเข้าถึงถูกปฏิเสธ"

มีวิธีใดที่จะทำให้งานนี้สำเร็จ? (ปัญหาคือฉันไม่ต้องการสร้างผู้ใช้โดเมนใหม่สำหรับงานนั้นและฉันต้องการเข้าถึงการแชร์ระยะไกลจากงานนี้)

คำตอบ:


13

ฉันถามคำถามเดียวกันนี้ โชคดีที่ RyanRies สามารถให้คำตอบที่ถูกต้องได้

ใน Windows Server 2003 คุณไม่สามารถเรียกใช้งานตามกำหนดเวลาได้NT AUTHORITY\NetworkService( บัญชีบริการเครือข่าย ) เพิ่มความสามารถนั้นด้วย Task Scheduler 2.0 ซึ่งมีอยู่ใน Windows Vista / Windows Server 2008 เท่านั้น

โบนัสแช็

  • LocalServiceบัญชีเป็นตัวในบัญชีที่มีสิทธิ์ จำกัด บนเครื่องคอมพิวเตอร์และการเข้าถึงเครือข่ายเป็นที่ไม่ระบุชื่อ คุณควรใช้บัญชีนี้เพื่อทำงานตามกำหนดเวลาของคุณ
  • บัญชีNetworkServiceเป็นบัญชีในตัวที่มีสิทธิ์ จำกัด ในคอมพิวเตอร์ท้องถิ่นและเข้าถึงเครือข่ายในฐานะเครื่อง (เช่นVADER$) คุณสามารถใช้บัญชีนี้เพื่อทำงานที่กำหนดเวลาไว้หากคุณต้องการการเข้าถึงเครือข่ายที่ผ่านการรับรองความถูกต้อง
  • บัญชี LocalSystemเป็นบัญชีในตัวที่มีสิทธิพิเศษมากมายบนเครื่องคอมพิวเตอร์ คุณไม่ควรใช้บัญชีนี้เพื่อทำงานตามกำหนดเวลา

6

คุณทำไม่ได้ มีการแนะนำการใช้งานใน Task Scheduler 2.0 ซึ่งหมายถึง Vista / 2008 +

จากเอกสารสำหรับ Schtasks.exe:

ชื่อผู้ใช้ / RU

ค่าที่ระบุบริบทผู้ใช้ภายใต้งานที่ทำงาน สำหรับบัญชีระบบค่าที่ถูกต้องคือ "", "NT AUTHORITY \ SYSTEM" หรือ "SYSTEM" สำหรับงาน Task Scheduler 2.0 "NT AUTHORITY \ LOCALSERVICE" และ "NT AUTHORITY \ NETWORKSERVICE" ก็เป็นค่าที่ถูกต้องเช่นกัน

http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx :


มันเป็นประโยชน์มากที่เอกสารที่เฉพาะพูดถึง Task Scheduler 2.0 มันกำจัดการคาดเดา
Ian Boyd

2

ฉันพยายามทำหลายวิธี แต่ตอนนี้ฉันคิดว่ามันเป็นไปไม่ได้ ผมยินดีที่จะยืนแก้ไขเกี่ยวกับเรื่องนี้ แต่ฉันพยายามทุกอย่างที่ฉันจะคิดรวมถึงการเพิ่มNETWORK SERVICEการAdministratorsปรับการทุกประเภทของการตั้งค่านโยบายรักษาความปลอดภัยท้องถิ่น ฯลฯ

เมื่อฉันเปิดใช้งานการตรวจสอบฉันได้รับสิ่งนี้:

Event Type:     Failure Audit
Event Source:   Security
Event Category: Account Logon 
Event ID:       680
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
 Logon account:  NETWORK SERVICE
 Source Workstation: RESULTANT
 Error Code: 0xC0000064

Event Type:     Failure Audit
Event Source:   Security
Event Category: Logon/Logoff 
Event ID:       529
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon Failure:
     Reason:        Unknown user name or bad password
     User Name:     NETWORK SERVICE
     Domain:        NT AUTHORITY
     Logon Type:    4
     Logon Process: Advapi  
     Authentication Package: Negotiate
     Workstation Name:       RESULTANT

0xC0000064NO_SUCH_USERถอดรหัสการ มันค่อนข้างงี่เง่าเมื่อพิจารณาว่าฉันได้เข้ามาเท่านั้นnetwork service- จะรู้ได้อย่างไรว่าบัญชีที่ล้มเหลวเกิดขึ้นได้NT AUTHORITYอย่างไร

เมื่อฉันป้อนชื่อผู้ใช้ที่ไม่ถูกต้องฉันไม่เห็นแม้แต่ความพยายามตรวจสอบสิทธิ์เลย เห็นได้ชัดว่ามีบางสิ่งที่เห็นด้วยว่าNETWORK SERVICEเป็นบัญชีจริง

หากฉันใส่รหัสผ่านสำหรับชื่อผู้ใช้ที่รู้จัก (เช่นAdministrator) ฉันจะได้รับ0xC000006A( STATUS_WRONG_PASSWORD)


ลองเพิ่มสิทธิในการLog on as a batch job NETWORK SERVICEฉันคิดว่ามันเป็นความคิดที่งี่เง่า คุณควรกัด bullet และสร้างบัญชีโดเมน ...


ขออภัยฉันพิมพ์ผิดในความคิดเห็นก่อนหน้าของฉันกับแมตต์ แต่ฉันพยายามเพิ่มมันสำหรับ "เข้าสู่ระบบเป็นงานแบทช์" และไม่มีโชค
Regent

0

ลองเพิ่ม "เข้าสู่ระบบในฐานะบริการ" ลงในบัญชีบริการเครือข่าย คำแนะนำโดยละเอียดที่นี่


Nope มันถูกระบุไว้ใน "เข้าสู่ระบบในฐานะบริการ" และการเพิ่มไปที่ "เข้าสู่ระบบในฐานะบริการ" ไม่ได้ช่วยด้วย
รีเจ้นท์

0

เพียงแค่ต้องการที่จะฟื้นกระทู้นี้มันเป็นไปได้ที่จะใช้บริการเครือข่ายสำหรับงาน! อย่างน้อยใน Server 2016 และ 2019!

เพียงเล็กน้อยแปลก ๆ หลังจากเลือกบัญชีตามปกติ ภายใต้

Run whether user is logged on or not

คุณต้องเลือก:

Do not store the password. The task will only have access to local computer resources

ส่วนที่สองควรใช้พลั่วที่เต็มไปด้วยเกลือ! นี่หมายความว่าคุณไม่มีข้อมูลประจำตัวแต่ถ้าคุณเรียกใช้บางสิ่งที่ไม่ต้องการให้บัญชีมีข้อมูลประจำตัวคุณจะสามารถเข้าถึงเครือข่ายได้!

การส่งออกงานส่วนหลักจะมีลักษณะเช่นนี้

  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-20</UserId>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>

ฉันใช้มันเพื่อส่งเมลสถานะผ่าน smtp และมันติดต่อกับเซิร์ฟเวอร์ smtp ได้


-1

บริการเครือข่ายเป็นบัญชีท้องถิ่น (คอมพิวเตอร์) ดังนั้นจะไม่มีสิทธิ์ในคอมพิวเตอร์เครื่องอื่น (ที่มีการแชร์อยู่)

หากคุณต้องการเข้าถึงการแชร์เครือข่ายคุณต้องใช้บัญชีที่รู้จักในเครือข่ายดังนั้นใช้ domainaccount และบริการที่คุณต้องการเรียกใช้ต้องรองรับการกำหนดแอดเดรส UNC หากต้องการการเข้าถึงตัวอักษรของไดรฟ์เครือข่ายคุณต้องมีเซสชันผู้ใช้ที่มีไดรฟ์ที่แมปและสิ่งอื่น ๆ ที่ชาญฉลาดก็จะล้มเหลวเช่นกัน

(ฉันคิดว่าคุณรู้เรื่องนี้อยู่แล้วดูที่วันที่โพสต์ของคุณคำตอบของฉันเป็นเพียงพิเศษสำหรับคนที่จะพบโพสต์นี้ด้วยปัญหาที่คล้ายกัน)

Kees


2
คอมพิวเตอร์แต่ละเครื่องที่เข้าร่วมกับโดเมนมีบัญชีของตนเองใน Active Directory และเท่าที่ฉันเข้าใจNETWORK SERVICEเป็นนามแฝงในท้องถิ่นของบัญชีนั้นดังนั้นจึงอาจมีสิทธิ์เข้าถึงการแชร์บางส่วน
รีเจ้นท์

1
NetworkService จะมีสิทธิ์บนคอมพิวเตอร์เครื่องอื่น จากMSDN : "มีสิทธิ์ขั้นต่ำในคอมพิวเตอร์ท้องถิ่นและทำหน้าที่เป็นคอมพิวเตอร์ในเครือข่าย"
เอียนบอยด์

คำตอบนี้ไม่ถูกต้อง ตามที่ @IanBoyd ยังกล่าวอีกว่า NETWORK SERVICE มีจุดประสงค์เพื่อการเข้าถึงรายการในเครือข่าย (นั่นคือสาเหตุที่มี "เครือข่าย" ในชื่อโดยตรงกันข้ามกับบัญชี LOCAL SERVICE) ซึ่งจะเข้าถึงโดยใช้โดเมนของโดเมน DOMAIN \ COMPUTERNAME $ เช่น MAIN \ WEBSRV2 $
Nick Jones

มันไม่ใช่บัญชี (ภายในหรืออย่างอื่น) มันเป็นหลักการรักษาความปลอดภัยที่รู้จักกันดี
Falcon Momot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.