1. ในเบื้องต้นให้ทำความเข้าใจเกี่ยวกับคำสั่งที่มีให้ใช้ของ PowerShell ที่เกี่ยวข้องกับ Active Directory ก่อนนะครับ
คำสั่ง = Get-Command -Module ActiveDirectory
PowerShell : ใช้งานเกี่ยวกับ Users
Get-Help Get-ADUser –Full (พิมพ์คำสั่งนี้เพื่อดูตัวอย่างการใช้งาน)
Get-ADUser (พิมพ์คำสั่งนี้เพื่อเข้าสู่การค้นหา User ใน Active Directory)
!? (พิมพ์คำสั่งนี้เพื่อลองดูตัวอย่างการใช้งานคำสั่ง)
department -eq ” IT Department “ (พิมพ์คำสั่งนี้เพื่อค้นหา User ที่มี Department = IT Department)
Get-ADUser -Filter ‘department -eq ” IT Department “’
Get-ADUser -Filter ‘(department -eq ” IT Department “) -and (office -eq “BKK”)’
ข้อควรระวังในการอ่านหนังสือช่วง PowerShell นี้
Error ที่ผมพบบ่อยคือการทำความเข้าใจเรื่องใส่ประโยคปิดด้วยเครื่องหมาย ‘
ตัวอย่างการพิมพ์ด้านล่างคือ Error พิมพ์คำสั่งไม่ครบครับ
หากจะพิมพ์ให้ครบต้องปิดด้วยเครื่องหมาย ‘ นะครับ
ฉะนั้นหาก Copy Command ไป RUN แล้วเจอ Error แบบนี้ให้ตรวจเช็คเครื่องหมายปิดประโยคให้ดีก่อนนะครับ
อีกตัวอย่างนึงของการใช้ คำสั่ง Get-ADUser ที่ใช้บ่อยคือการ List Properties ของ User คนนั้น ๆ ออกมาตามคำสั่งด้านล่างนี้ครับ
Get-ADUser suttipan -Properties * (พิมพ์คำสั่งนี้เพื่อให้ List Properties ของ User Suttipan)
อีกตัวอย่างของการ Search ค่าของ User บน Active Directory ที่ใช้งานบ่อย ๆ
Search-ADAccount -PasswordNeverExpires | FT Name, DistinguishedName
เราสามารถใช้ค้นหา Object ที่มีปัญหาบ่อย ๆ เช่น
Search-ADAccount -PasswordNeverExpires | FT Name, DistinguishedName
Search-ADAccount -AccountDisabled | FT Name, DistinguishedName
Search-ADAccount -AccountExpiring | FT Name, DistinguishedName
Search-ADAccount -LockedOut | FT Name, DistinguishedName
Search-ADAccount -PasswordExpired | FT Name, DistinguishedName
อีกตัวอย่างหนึ่งสำหรับการ List user บน Active Directory ด้วย PowerShell ครับ
Get-ADuser –Filter * | FT Name, DistinguishedName, Enable
PowerShell : การใช้งานเกี่ยวกับ Computers
คำสั่งต่อไปนี้มีไว้สำหรับค้นหาและ List Computer Object อันนี้ใช้บ่อยเพื่อหาว่า Computer Object มีกี่เครื่อง อยู่ OU ไหน และมี OS Version อะไร
รูปแบบคำสั่ง
get-Adcomputer -Filter * -Properties * | FT Name, OperatingSystem, DistinguishedName
หรือจะเพิ่มรูปแบบคำสั่งสำหรับตรวจเช็คเครื่องที่ไม่ค่อยได้ใช้งาน (ดู Last Logon)
get-Adcomputer -Filter * -Properties * | FT Name, OperatingSystem, LastLogonDate, DistinguishedName