Score:0

สิทธิ์ของบัญชีบริการสำหรับ Task Scheduler อ่าน

ธง cn

ฉันมีสคริปต์ PowerShell ที่ฉันเขียนขึ้นเพื่อเปรียบเทียบงานตามกำหนดการระหว่างสองโหนดของคลัสเตอร์เซิร์ฟเวอร์แอปพลิเคชันของเรา มันใช้รหัสนี้เพื่อสอบถามงานจากเซิร์ฟเวอร์ที่กำหนด...

ฟังก์ชัน getTasks ($ เซิร์ฟเวอร์) {
    ส่งคืน Get-ScheduledTask -CimSession $server | 
        Where-Object TaskPath -like '*YourFolder*' | 
        สำหรับแต่ละวัตถุ {
            [pscustomobject]@{ 
                เซิร์ฟเวอร์ = $เซิร์ฟเวอร์
                เส้นทาง = $_.TaskPath
                ชื่อ = $_.ชื่องาน
                ปิดใช้งาน = ($_.State -eq 'ปิดใช้งาน')
                คำสั่ง = $_.Actions.Execute
                อาร์กิวเมนต์ = $_.Actions.Arguments
                ช่วงเวลา = $_.Triggers.RepetitionInterval
                HashId = "$($_.Actions.Execute)|$($_.Actions.Arguments)"
                HashFull = "$($_.TaskPath)|$($_.TaskName)|$($_.Actions.Execute)|$($_.Actions.Arguments)|$(($_.State -eq 'ปิดการใช้งาน '))"
            }
        }
}

มันทำงานได้อย่างสมบูรณ์แบบเมื่อทำงานภายใต้บัญชีผู้ดูแลโดเมนของฉัน

อย่างไรก็ตาม เมื่อฉันพยายามเรียกใช้งานภายใต้บัญชีบริการของเราเป็นงานตามกำหนดเวลา มันได้รับข้อผิดพลาดนี้เมื่อพยายามสอบถามงานที่กำหนดเวลาไว้บนโหนดอื่น ...

Get-ScheduledTask : SERVER.domain.local: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ CIM การเข้าถึงถูกปฏิเสธ.
ที่ F:\Applications\TaskSchedulerNodeCompare\compare-nodes.ps1:9 char:12
+ ส่งคืน Get-ScheduledTask -CimSession $server |
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (MSFT_ScheduledTask:String) [Get-ScheduledTask], CimJobException
    + FullyQualifiedErrorId : CimJob_BrokenCimSession, Get-ScheduledTask

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

ฉันพยายามแล้ว หมายเลขโซลูชั่น 3 ที่นี่, ที่ เสียง เหมือนจะเป็น...

1. ในฐานะผู้ดูแลเซิร์ฟเวอร์ ให้ไปที่ Server Manager -> Tools -> Computer Management ทางด้านซ้ายให้ขยาย "บริการและแอปพลิเคชัน" และคลิกขวาที่ "การควบคุม WMI" ไปที่ "คุณสมบัติ"
2. ในหน้าต่างที่เพิ่งเปิดใหม่ คลิกที่แท็บ Security
3. ขยาย Root tree จากนั้นคลิกที่โหนด CIMV2 แล้วคลิกปุ่ม ความปลอดภัย
4. ในหน้าต่างที่เพิ่งเปิดใหม่ให้คลิกปุ่ม ขั้นสูง
5. ในหน้าต่างที่เพิ่งเปิดใหม่ ให้คลิกปุ่ม เพิ่ม ใต้แท็บการอนุญาต
6. ในหน้าต่างที่เพิ่งเปิดใหม่ ให้คลิกที่ âselect a master" จากนั้นค้นหาผู้ใช้ที่คุณประสบปัญหา  
7. ในใช้กับ ให้เลือก âเนมสเปซนี้และเนมสเปซย่อย"
8. สำหรับการอนุญาต ตรวจสอบที่ âExecute Methods, âEnable Accounts" and âRemote Enable"
9. คลิกยอมรับในกล่องโต้ตอบที่เปิดอยู่ทั้งหมด
10. เริ่มบริการ WMI ใหม่ ในฐานะผู้ดูแลเซิร์ฟเวอร์ ให้ไปที่ Server Manager -> Tools -> Computer Management ทางด้านซ้ายให้ขยาย "บริการและแอปพลิเคชัน" และคลิกที่ "บริการ" ไปที่ "Windows Management Instrumentation" แล้วคลิกขวา จากนั้นเลือก "รีสตาร์ท"
11. ลองคำสั่งอีกครั้ง คำแนะนำข้างต้นได้รับการดัดแปลงจากการโพสต์ StackOverflow นี้

แต่แม้จะทำตามขั้นตอนทั้งหมดแล้วก็ยังใช้งานไม่ได้

ฉันจะอนุญาตให้บัญชีบริการของเราค้นหา (อ่านอย่างเดียว) งานที่จัดกำหนดการจากเซิร์ฟเวอร์ของเราโดยคำนึงถึงความปลอดภัยให้มากที่สุดได้อย่างไร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา