ค้นหาเว็บไซต์

วิธีรายงานการสมัครใช้งาน Microsoft 365 และแผนบริการ


ใช้ Microsoft Graph PowerShell SDK เพื่อดึงรายละเอียดของการสมัครใช้งาน Microsoft 365

ผู้อ่านตั้งข้อสังเกตว่าจำนวนแผนบริการที่ครอบคลุมโดยสิทธิ์การใช้งาน Microsoft 365 เพิ่มขึ้นเมื่อเวลาผ่านไป และเป็นการยากที่จะติดตามการเปลี่ยนแปลง สิทธิ์การใช้งาน Microsoft 365 ส่วนใหญ่ประกอบด้วยแผนบริการหลายแผน เช่น Exchange Online Plan 2 และ SharePoint Online Plan 1 แผนบริการจะบอก Microsoft 365 ว่าฟังก์ชันใดบ้างที่ผู้ใช้ที่ถือสิทธิ์การใช้งานสามารถเข้าถึงได้

การสมัครใช้งานหมายถึงชุดผลิตภัณฑ์ที่ผู้เช่า Microsoft 365 ได้ใช้เมื่อเวลาผ่านไป การสมัครสมาชิกผลิตภัณฑ์สามารถทำได้ฟรี โดยมีระยะเวลาทดลองใช้จำกัด หรือชำระเงินเป็นรายเดือนหรือรายปี ข้อมูลเกี่ยวกับการสมัครใช้งานสามารถพบได้ในส่วนการเรียกเก็บเงินของศูนย์การจัดการ Microsoft 365 (รูปที่ 1)

วิวัฒนาการของแผนบริการ

แผนบริการใหม่จะปรากฏขึ้นเมื่อเวลาผ่านไป บางครั้ง Microsoft จะแจ้งผู้ดูแลระบบเกี่ยวกับแผนบริการใหม่ผ่านการแจ้งเตือนของศูนย์ข้อความ ตัวอย่างเช่น MC682559 (19 ตุลาคม 2566) ประกาศแผนบริการ Purview Discovery ซึ่งควบคุมการเข้าถึงแอปพลิเคชัน Purview บางอย่าง (เช่น การค้นหาเนื้อหา) นี่เป็นตัวอย่างที่ดีของการขยายสิทธิ์การใช้งานเพื่อควบคุมแง่มุมต่างๆ ของ Microsoft 365 การมีฟังก์ชันการทำงานที่ควบคุมโดยแผนบริการเป็นสิ่งที่ดี เนื่องจากเป็นเรื่องง่ายที่จะควบคุมผู้ใช้แต่ละรายว่าใครบ้างที่สามารถใช้ฟังก์ชันการทำงานได้โดยการเปิดหรือปิดใช้งาน แผนบริการที่เกี่ยวข้อง แผนบริการอื่นๆ จะมาถึงเมื่อ Microsoft เปิดตัวแอปใหม่ เช่น Microsoft Loop หรือส่วนต่างๆ มากมายของ Viva Suite

ระหว่างแอปพลิเคชันใหม่และการขยายแผนบริการเพื่อควบคุมฟังก์ชันการทำงานที่มีอยู่แล้ว จำนวนแผนบริการได้เพิ่มขึ้นอย่างต่อเนื่องในช่วงไม่กี่ปีที่ผ่านมา ขณะนี้ Office 365 E3 ครอบคลุมแผนบริการ 33 แผน ซึ่งบางส่วนมีไว้สำหรับแอปเก่าๆ เช่น Kaizala และ StaffHub ที่อีกด้านหนึ่งของสเปกตรัม Microsoft 365 E5 มีแผนบริการ 89 แผน

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

ทำความเข้าใจผลิตภัณฑ์ (SKU) และ GUID แผนบริการ

ภายใน แอป Microsoft 365 อ้างถึงผลิตภัณฑ์เช่น Office 365 E3 และ Enterprise Mobility และ Security ตามตัวระบุ SKU นี่คือ GUID เช่นเดียวกับตัวระบุที่ใช้สำหรับแผนบริการในผลิตภัณฑ์ การรายงาน GUID นั้นไม่เป็นมิตรต่อมนุษย์มากนัก และเราต้องการวิธีแก้ไข GUID ให้อยู่ในรูปแบบที่เข้าใจได้ง่ายขึ้น แนวทางของฉันคือการใช้ไฟล์ CSV ที่สามารถดาวน์โหลดได้จากหน้าอ้างอิงแผนผลิตภัณฑ์และบริการ Microsoft 365 ฉันชื่นชอบการใช้ข้อมูลนี้เพื่อแก้ไข GUID ให้เป็นชื่อผลิตภัณฑ์และบริการที่เป็นมิตรต่อมนุษย์ในสคริปต์ เช่น รายงานสิทธิ์การใช้งาน Microsoft 365

ไฟล์ประกอบด้วยรายละเอียดของตัวระบุสำหรับผลิตภัณฑ์ Microsoft 365 (SKU) และแผนบริการที่พร้อมใช้งานทั้งหมด พร้อมด้วยชื่อและชื่อที่แสดง ตัวอย่างเช่น รูปที่ 2 แสดงบันทึกแผนบริการบางส่วนสำหรับผลิตภัณฑ์ Microsoft 365 A5 สำหรับสิ่งอำนวยความสะดวก รวมถึงการอนุญาตให้ผู้ถือลิขสิทธิ์ใช้ Minecraft Education Edition

Microsoft อัปเดตการดาวน์โหลดข้อมูลผลิตภัณฑ์เป็นระยะๆ และเป็นแหล่งข้อมูลที่ดีเยี่ยมในการช่วยให้ผู้ที่ทำงานกับใบอนุญาตเข้าใจว่าทุกสิ่งเชื่อมต่อกันอย่างไร อาจเป็นไปได้ว่าไฟล์ข้อมูลผลิตภัณฑ์ขาดแผนบริการบางแผน ตัวอย่างเช่น ในขณะที่เขียนผลิตภัณฑ์ Microsoft 365 E5 มีแผนบริการชื่อ Copilot, Avatars for Teams (เพิ่มเติม) และ Customer Lockbox (A) ที่ไม่ได้อยู่ในไฟล์ข้อมูลผลิตภัณฑ์ สิ่งเหล่านี้น่าจะเป็นแผนบริการใหม่ที่เพิ่มลงใน Microsoft 365 E5 ตั้งแต่ครั้งสุดท้ายที่ Microsoft สร้าง CSV ที่ดาวน์โหลดได้ ในสถานการณ์เหล่านี้ คุณสามารถแก้ไขไฟล์ข้อมูลผลิตภัณฑ์ด้วย Excel เพื่อเพิ่มบันทึกที่ขาดหายไปก่อนที่จะนำเข้าข้อมูลลงในอาร์เรย์ PowerShell หรือตารางแฮชเพื่อใช้ในสคริปต์

การเขียนสคริปต์เพื่อรายงานการสมัครสมาชิก

ฉันใช้ Microsoft Graph PowerShell SDK เพื่อสร้างสคริปต์เพื่อรายงานการสมัครสมาชิกผู้เช่าและแผนการบริการของพวกเขา โครงสร้างพื้นฐานของสคริปต์มีดังนี้:

  • เชื่อมต่อกับกราฟด้วย Connect-MgGraph -Scopes Directory.Read.All
  • เรียกใช้ Get-MgSubscribedSku cmdlet เพื่อดึงข้อมูลชุดผลิตภัณฑ์ที่ผู้เช่าได้สมัครเป็นสมาชิก
  • ตรวจสอบว่ามีไฟล์ข้อมูลผลิตภัณฑ์ที่ดาวน์โหลดไว้หรือไม่ หากเป็นเช่นนั้น ให้นำเข้าข้อมูลและสร้างตารางแฮช 2 ตาราง ส่วนแรกประกอบด้วยตัวระบุผลิตภัณฑ์และชื่อผลิตภัณฑ์ ส่วนที่สองเก็บตัวระบุและชื่อแผนบริการ สคริปต์ใช้ตารางแฮชเพื่อแก้ไขตัวระบุให้เป็นชื่อที่แสดงซึ่งเป็นมิตรกับมนุษย์
  • สำหรับแต่ละผลิตภัณฑ์ ให้ค้นหาจำนวนหน่วย (ใบอนุญาต) ที่ซื้อ ใช้ และมีอยู่ รวมถึงวันที่ต่ออายุการสมัครใช้งานที่มีการเรียกเก็บค่าธรรมเนียมรายเดือน ข้อมูลนี้สามารถใช้เพื่อวางแผนเมื่อจำเป็นต้องใช้เงินงบประมาณเพื่อชำระค่าสมัครสมาชิก
  • แยกชุดแผนบริการสำหรับแต่ละผลิตภัณฑ์และจัดเก็บข้อมูลไว้ในรายการ
  • หลังจากรวบรวมข้อมูลทั้งหมดแล้ว ให้สร้างรายงาน HTML ฉันต้องการการจัดรูปแบบตามเงื่อนไขเพื่อเน้นผลิตภัณฑ์ที่มีใบอนุญาตที่มีอยู่สามรายการหรือน้อยกว่า มีตัวอย่างมากมายของวิธีสร้างการจัดรูปแบบตามเงื่อนไขสำหรับ HTML ด้วย PowerShell ส่วนใหญ่สร้างแถวตารางแต่ละแถวและแทรกการจัดรูปแบบตามเงื่อนไขในแถวตามความจำเป็น (ตัวอย่างที่ดีอยู่ในสคริปต์ที่อธิบายไว้ในบทความเกี่ยวกับการรายงานการกำหนดค่า DNS) ฉันใช้วิธีการที่อธิบายไว้ในบทความ StackOverflow นี้เพื่อแปลงข้อมูลเป็น XML และแก้ไขแอตทริบิวต์
  • รายงานมีส่วนแยกต่างหากสำหรับการสมัครสมาชิกและสำหรับแต่ละผลิตภัณฑ์ที่สมัครเป็นสมาชิก สคริปต์ยังสร้างไฟล์ CSV พร้อมข้อมูลการสมัครสมาชิก

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

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

ทำความเข้าใจกับการสมัครสมาชิกและแผนการบริการ

นี่เป็นเพียงข้อมูลการรายงานอีกรูปแบบหนึ่งที่ผู้ดูแลระบบผู้เช่าสามารถเข้าถึงได้ ซึ่งบางทีคุณอาจไม่เคยคิดที่จะเข้าใกล้เลย แต่บางครั้งมันก็น่าสนใจที่จะรู้ว่ามีอะไรซ่อนอยู่บ้าง เช่น เมื่อคุณต้องการเรียกใช้ Set-MgUserLicense cmdlet เพื่อปิดการใช้งานแผนบริการอย่างน้อยหนึ่งแผนสำหรับบัญชีผู้ใช้ หรือต้องการทราบว่ามีอะไรรวมอยู่ในแผนบริการบ้าง ใบอนุญาต. หรือหากคุณเป็นเหมือนฉันและต้องการใช้เวลาสองสามชั่วโมงเล่นกับ PowerShell เพื่อดูว่าคุณสามารถสร้างรายงานประเภทใดได้ ต้องใช้ทุกรูปแบบเพื่อสร้างโลก

บทความที่เกี่ยวข้อง