
ในคำแนะนำทีละขั้นตอนนี้ ฉันจะสาธิตวิธีการปรับใช้สคริปต์ PowerShell โดยใช้ SCCM การใช้ฟังก์ชัน Run Scripts ทำให้คุณสามารถปรับใช้สคริปต์ที่สำคัญบนคอมพิวเตอร์ไคลเอนต์ที่จัดการโดยเครื่องมือจัดการการกำหนดค่าได้
ตัวจัดการการกำหนดค่ามีคุณสมบัติในตัวเพื่อสร้างและเรียกใช้สคริปต์ PowerShell เครื่องมืออันทรงพลังนี้ช่วยให้สามารถสร้างสคริปต์อัตโนมัติขั้นสูงที่เข้าใจง่ายและแชร์ในวงกว้างภายในชุมชน
วัตถุประสงค์หลักของการใช้สคริปต์เหล่านี้คือเพื่อปรับปรุงการพัฒนาเครื่องมือการดูแลระบบแบบกำหนดเองสำหรับการจัดการซอฟต์แวร์ ลดความซับซ้อนของงานที่ทำซ้ำ และช่วยให้การดำเนินงานขนาดใหญ่เสร็จสมบูรณ์ได้อย่างมีประสิทธิภาพและสม่ำเสมอมากขึ้น องค์กรที่ใช้อุปกรณ์ Windows ยังสามารถใช้ Intune เพื่อปรับใช้สคริปต์ PowerShell ได้
ติดตั้งและอัปเดตแอปพลิเคชันบุคคลที่สามด้วย Patch My PC
วิธีการปรับใช้สคริปต์
คุณสามารถเรียกใช้สคริปต์ PowerShell ใน SCCM ได้โดยใช้วิธีหลักสองวิธี:
-
คุณสมบัติเรียกใช้สคริปต์: ในความคิดของฉัน นี่เป็นวิธีที่แนะนำในการรันสคริปต์ ใช้วิธีนี้เพื่อดำเนินการสคริปต์แบบเรียลไทม์สำหรับไคลเอนต์
-
การจัดทำสคริปต์เป็นแอปพลิเคชันหรือแพ็คเกจ: คุณสามารถจัดทำแพคเกจสคริปต์ของคุณเป็นแอปพลิเคชันหรือแพ็คเกจสำหรับการติดตั้งซอฟต์แวร์ โดยมีหรือไม่มีการตรวจพบก็ได้
เรียกใช้คุณสมบัติสคริปต์
คุณสามารถใช้ฟังก์ชันเรียกใช้สคริปต์ในตัวจัดการการกำหนดค่าเพื่อทำสิ่งต่อไปนี้:
-
สร้าง แก้ไขสคริปต์ และจัดการการใช้สคริปต์ผ่านบทบาทและขอบเขตความปลอดภัย
-
จัดระเบียบสคริปต์ของคุณเป็นโฟลเดอร์แยกกัน
-
เรียกใช้สคริปต์บนคอลเลกชันหรือพีซี Windows ที่มีการจัดการภายในองค์กรแต่ละเครื่อง
-
กำหนดเวลารันไทม์ของสคริปต์ใน UTC บนคอลเลกชันหรือพีซี Windows ที่ได้รับการจัดการในองค์กรแต่ละเครื่อง
-
รับผลลัพธ์สคริปต์ที่รวบรวมอย่างรวดเร็วจากอุปกรณ์ไคลเอนต์
-
ตรวจสอบการทำงานของสคริปต์และดูผลลัพธ์การรายงานจากเอาต์พุตสคริปต์
ข้อกำหนดเบื้องต้น
ตารางด้านล่างสรุปข้อกำหนดเบื้องต้นสำหรับการปรับใช้สคริปต์ PS อย่างมีประสิทธิภาพผ่าน SCCM
ข้อกำหนดเบื้องต้น |
คำอธิบาย—|—PowerShell |
ไคลเอนต์ต้องใช้ PowerShell เวอร์ชัน 3.0 หรือใหม่กว่า ตรวจสอบให้แน่ใจว่านโยบายการดำเนินการ PS บนเครื่องเป้าหมายอนุญาตให้เรียกใช้สคริปต์ได้
เวอร์ชัน SCCM |
ไคลเอ็นต์ตัวจัดการการกำหนดค่าต้องใช้เวอร์ชัน 1706 หรือใหม่กว่า
สิทธิ์ |
คุณต้องเป็นสมาชิกของ Security Role ของตัวจัดการการตั้งค่าคอนฟิกที่เหมาะสม
1. หากต้องการนำเข้าและเขียนสคริปต์: บัญชีของคุณต้องมีสิทธิ์สร้างสคริปต์ SMS
2. หากต้องการอนุมัติหรือปฏิเสธสคริปต์ - บัญชีของคุณต้องมีสิทธิ์อนุมัติสำหรับสคริปต์ SMS
3. ในการเรียกใช้สคริปต์: บัญชีของคุณต้องมีสิทธิ์เรียกใช้สคริปต์สำหรับคอลเลกชัน
การทดสอบสคริปต์ |
ทดสอบสคริปต์ของคุณอย่างละเอียดก่อนที่จะปรับใช้บนอุปกรณ์ Windows
ขั้นตอนในการปรับใช้สคริปต์ PowerShell โดยใช้ SCCM
ตอนนี้ฉันจะแนะนำคุณตลอดขั้นตอนในการสร้างและเรียกใช้สคริปต์ PowerShell ใน SCCM ขั้นตอนด้านล่างใช้คุณสมบัติเรียกใช้สคริปต์สำหรับการเรียกใช้สคริปต์บนอุปกรณ์ Windows
ขั้นตอนที่ 1: สร้างสคริปต์ PowerShell
ข้อกำหนดแรกคือการมีสคริปต์ PowerShell พร้อมสำหรับการปรับใช้ ฉันจะใช้สคริปต์ PowerShell พื้นฐานที่สร้างโฟลเดอร์ชื่อ ' LogFiles ' ในไดเรกทอรีราก คุณบันทึกสคริปต์นี้เป็น createfolder.ps1
New-Item -Path "C:\" -Name "Logfiles" -ItemType "Directory"
คัดลอก
New-Item
-
Path
"C:\"
-
Name
"Logfiles"
-
ItemType
"Directory"
เปิดคอนโซลตัวจัดการการกำหนดค่า ไปที่ไลบรารีซอฟต์แวร์ > ภาพรวม > สคริปต์ คลิกขวาที่สคริปต์แล้วเลือกสร้างสคริปต์
สร้างสคริปต์ใน SCCM
บนเพจสคริปต์ของวิซาร์ดสร้างสคริปต์ ให้กำหนดค่าต่อไปนี้:
-
ชื่อสคริปต์: ป้อนชื่อสคริปต์
-
คำอธิบายสคริปต์: คุณสามารถเพิ่มคำอธิบายเพิ่มเติมสำหรับสคริปต์ได้
-
ภาษาสคริปต์: ปัจจุบันรองรับเฉพาะสคริปต์ PowerShell เท่านั้น
-
วินาทีการหมดเวลาสคริปต์: ระบุเวลาในการรันสคริปต์ (60 วินาที – 1800 วินาที)
-
นำเข้า: คลิกที่ปุ่มนำเข้าและเลือกสคริปต์ PowerShell สคริปต์จะแสดงในช่องสคริปต์
คลิกถัดไปเพื่อดำเนินการต่อ
นำเข้าสคริปต์ PowerShell
ตรวจสอบรายละเอียดสคริปต์ในหน้าสรุปแล้วคลิกถัดไป บนหน้าเสร็จสมบูรณ์ คลิกปิด
สร้างสคริปต์ PowerShell ใน SCCM
ขั้นตอนที่ 2: อนุมัติสคริปต์
ก่อนที่จะรันสคริปต์บนคอมพิวเตอร์ไคลเอนต์ จะต้องได้รับการอนุมัติก่อน หากคุณสร้างสคริปต์และพบว่าตัวเลือกการอนุมัติใน SCCM เป็นสีเทา สิ่งนี้จะเกิดขึ้นเนื่องจากตามการออกแบบ ผู้ใช้ไม่สามารถอนุมัติสคริปต์ที่พวกเขาเขียนได้ เมื่อต้องการแก้ไขปัญหานี้ ให้ปิดใช้งานตัวเลือก “ผู้เขียนสคริปต์ต้องมีผู้อนุมัติสคริปต์เพิ่มเติม”
หากต้องการอนุมัติสคริปต์ ให้ไปที่ไลบรารีซอฟต์แวร์ > สคริปต์ คลิกขวาที่สคริปต์ PowerShell และเลือกอนุมัติ
อนุมัติสคริปต์ PowerShell
คุณจะต้องผ่านตัวช่วยสร้างสคริปต์อนุมัติหรือปฏิเสธและตรวจสอบรายละเอียดสคริปต์เป็นครั้งสุดท้าย คลิกถัดไป
อนุมัติสคริปต์ PowerShell
บนหน้าการอนุมัติสคริปต์ เลือกอนุมัติ คลิกถัดไป
อนุมัติสคริปต์ PowerShell
ปิดตัวช่วยสร้างสคริปต์อนุมัติหรือปฏิเสธ
อนุมัติสคริปต์ PowerShell
เมื่อคุณทำตามขั้นตอนข้างต้นแล้ว ให้รีเฟรชคอนโซล และคุณจะเห็นสถานะการอนุมัติของสคริปต์แสดงเป็นอนุมัติ หากคุณเห็นว่าคุณทำถูกต้องแล้ว ให้ดำเนินการขั้นต่อไป
สคริปต์ PowerShell ได้รับการอนุมัติในคอนโซล
ขั้นตอนที่ 3: เรียกใช้สคริปต์บนอุปกรณ์เป้าหมาย
หลังจากที่สคริปต์ได้รับการอนุมัติ คุณสามารถเรียกใช้สคริปต์บนอุปกรณ์เครื่องเดียวหรือคอลเลกชันได้ หากต้องการเรียกใช้สคริปต์ในคอนโซลตัวจัดการการกำหนดค่า ให้ไปที่คลิกสินทรัพย์และการปฏิบัติตามข้อกำหนด > คอลเลกชั่นอุปกรณ์ เลือกคอลเลกชันที่คุณต้องการ คลิกขวาและเลือก Run Script
เรียกใช้สคริปต์บนอุปกรณ์เป้าหมาย
บนหน้าสคริปต์ของวิซาร์ดรันสคริปต์ ให้เลือกสคริปต์จากรายการ หากคุณไม่เห็นสคริปต์ของคุณที่นี่ แสดงว่าสคริปต์ยังไม่ได้รับการอนุมัติ คลิกถัดไป
เรียกใช้สคริปต์บนอุปกรณ์เป้าหมาย
ตั้งแต่ SCCM เวอร์ชัน 2309 เป็นต้นไป คุณสามารถกำหนดเวลารันไทม์ของสคริปต์ใน UTC ได้ นี่เป็นคุณสมบัติที่มีประโยชน์มากสำหรับผู้ดูแลระบบที่ต้องการรันสคริปต์ในเวลาที่กำหนด หากคุณไม่ต้องการกำหนดเวลาสคริปต์ ให้คลิกถัดไป
กำหนดการเรียกใช้สคริปต์
บนเพจการตรวจสอบสถานะสคริปต์ คุณสามารถตรวจสอบสคริปต์แบบเรียลไทม์ในขณะที่ดำเนินการ และต่อมาจะกลับสู่สถานะและผลลัพธ์สำหรับการดำเนินการรันสคริปต์ที่กำหนด ปิดตัวช่วยสร้าง
การตรวจสอบสถานะสคริปต์
เมื่อการเรียกใช้สคริปต์ของคุณเริ่มต้นขึ้น จะมีการเปิดใช้อย่างรวดเร็วผ่านระบบที่มีลำดับความสำคัญสูงซึ่งจะหมดเวลาในหนึ่งชั่วโมง
ขั้นตอนที่ 4: ตรวจสอบการดำเนินการสคริปต์
เมื่อคุณรันสคริปต์บนไคลเอนต์จำนวนมาก คุณสามารถมอนิเตอร์ความคืบหน้าการปรับใช้สคริปต์ได้ในพื้นที่ทำงาน Monitoring ของคอนโซล ในคอนโซล ไปที่การมอนิเตอร์เวิร์กสเปซ > สถานะสคริปต์ คลิกขวาที่สคริปต์ที่คุณต้องการตรวจสอบและเลือกแสดงสถานะ คุณสามารถดูสถานะการดำเนินการสคริปต์เสร็จสิ้นได้ที่นี่
หมายเหตุ: หากไคลเอนต์ออฟไลน์ การดำเนินการสคริปต์จะล้มเหลว ลูกค้าจะต้องออนไลน์เพื่อให้สคริปต์ดำเนินการ หากอุปกรณ์เป้าหมายปิดในช่วงเวลาหนึ่งชั่วโมง คุณต้องเปิดใช้งานอีกครั้ง
ตรวจสอบการดำเนินการสคริปต์ใน SCCM
หากคุณได้กำหนดเวลาให้สคริปต์ทำงานในเวลาที่กำหนด คุณสามารถตรวจสอบสถานะการดำเนินการได้ในโหนด การตรวจสอบ > สคริปต์ที่กำหนดเวลาไว้
ไฟล์บันทึก
ไฟล์บันทึกต่อไปนี้มีประโยชน์สำหรับการแก้ไขปัญหาฟีเจอร์เรียกใช้สคริปต์ใน SCCM
-
บนไคลเอ็นต์ ให้ตรวจสอบ Scripts.log และ CcmMessaging.log บันทึกเหล่านี้อยู่ในโฟลเดอร์ C:\Windows\CCM\logs
-
ใน MP ให้ตรวจสอบ MP_RelayMsgMgr.log ที่อยู่ในโฟลเดอร์ C:\SMS_CCM\Logs
-
บนเซิร์ฟเวอร์ของไซต์ ให้ตรวจสอบ SMS_Message_Processing_Engine.log ที่อยู่ในโฟลเดอร์ C:\Program Files\Configuration Manager\Logs
หากต้องการดูรายการบันทึกอื่นๆ โปรดตรวจสอบรายการบันทึกของไคลเอ็นต์เครื่องมือจัดการการกำหนดค่าและเซิร์ฟเวอร์ที่ครอบคลุม
ตรวจสอบการปรับใช้สคริปต์ PowerShell ใน SCCM
ลบสคริปต์ออกจากเครื่องมือจัดการการกำหนดค่า
เมื่อปรับใช้สคริปต์เสร็จสมบูรณ์ คุณสามารถลบสคริปต์ออกจากคอนโซลได้อย่างปลอดภัยหากไม่จำเป็นอีกต่อไป หากต้องการลบสคริปต์ PowerShell ออกจากคอนโซล SCCM ให้ไปที่ไลบรารีซอฟต์แวร์ > ภาพรวม > สคริปต์ เลือกสคริปต์และคลิกที่ลบ เลือกใช่เพื่อยืนยันการลบสคริปต์
ลบสคริปต์ PowerShell จากคอนโซล SCCM
หมายเหตุ: เมื่อคุณลบสคริปต์ออกจากคอนโซลแล้ว คุณจะไม่สามารถกู้คืนกลับคืนมาได้ ฉันแนะนำให้สำรองข้อมูลสคริปต์ก่อนที่จะลบอย่างถาวร เรียนรู้วิธีสำรองข้อมูลเซิร์ฟเวอร์ SCCM อย่างมีประสิทธิภาพ
ข้อจำกัดของคุณสมบัติ Run Scripts
เมื่อใช้ Run Scripts จะมีข้อจำกัดต่อไปนี้
-
ภาษาสคริปต์: รองรับเฉพาะ PowerShell
-
ประเภทพารามิเตอร์: จำนวนเต็ม สตริง และรายการ
เรียกใช้สคริปต์อัตโนมัติด้วย Windows PowerShell
คุณสามารถทำให้ฟีเจอร์ Run Scripts เป็นอัตโนมัติได้โดยใช้ PowerShell cmdlets ต่อไปนี้
ยังต้องการความช่วยเหลือใช่ไหม
หากคุณต้องการความช่วยเหลือเพิ่มเติมในบทความข้างต้น หรือต้องการหารือเกี่ยวกับปัญหาทางเทคนิคอื่นๆ โปรดดูตัวเลือกบางส่วนเหล่านี้
ฟอรั่ม
โทรเลข
ติดต่อฉัน
*️⃣ ลิงค์ที่มา:
สร้างและเรียกใช้สคริปต์ PowerShell , Intune เพื่อปรับใช้สคริปต์ PowerShell,
, นโยบายการดำเนินการ PS, ผู้เขียนสคริปต์ต้องการผู้อนุมัติสคริปต์เพิ่มเติม, SCCM เวอร์ชัน 2309, รายการที่ครอบคลุมของไคลเอนต์ตัวจัดการการกำหนดค่าและบันทึกเซิร์ฟเวอร์, สำรองข้อมูลเซิร์ฟเวอร์ SCCM อย่างมีประสิทธิภาพ
ฟอรั่ม
, โทรเลข ,
ติดต่อฉัน
,