22.png

PowerShell คือ Shell Script ที่ Microsoft สร้างขึ้นมาเพื่อใช้ในการควบคุมการทำงานหลายๆผลิตภัณฑ์ของ Microsoft บางครั้งรูปแบบการควบคุมการทำงาน ไม่สามารถทำได้บนระบบ GUI(Graphical User Interface) จึงจำเป็นที่จะต้องใช้ PowerShell เข้ามาช่วย

ในระบบ Office 365 บางครั้งสิ่งที่เราต้องการควบคุม ไม่สามารถทำได้บนระบบ GUI ดังนั้นจึงจำเป็นที่จะต้องใช้ PowerShell Script

เนื้อหาในบทความนี้จะเป็น จะรวบรวม PowerShell Script ที่ใช้กับ Office 365 ที่ทางเน็ตเวย์เก็บรวบรวมไว้ใช้เอง และเพื่อเผยแพร่ให้ทุกคนสามารถนำไปประยุกต์ใช้กับ Office 365 ได้

กรณีเครื่องคอมพิวเตอร์ยังไม่มีโปรแกรม PowerShell หรือยังไม่สามารถใช้งาน PowerShell ได้ ให้ตรวจสอบการติดตั้งจากข้อมูล วิธีการติดตั้ง PowerShell สำหรับเชื่อมต่อ Office 365 admin

หลายครั้ง Script ที่เราต้องการใช้ หาไม่พบบน PowerShell จำเป็นที่จะต้องเปิด Session ของ Services นั้นๆเสียก่อนเสียก่อนเพื่อเรียกใช้งาน โดยวิธีการคือต้องเปิด PowerShell ในสิทธิ์ admin โดยทำการคลิ๊กขวาที่โปรแกรมแล้วเลือก run as administrator หลังจากนั้นใช้คำสั่งตามรายละเอียดด้านล่าง

เริ่มใช้งาน ให้ทำการ Connect to Exchange Online PowerShell (ทำทุกครั้ง)

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Set-ExecutionPolicy RemoteSigned
Import-PSSession $Session -DisableNameChecking

 Add-Remove alias Office 365 Group

Get-UnifiedGroup -Identity <UnifiedGroupIdParameter> | select-object displayname,Emailaddresses | FL
Set-UnifiedGroup -Identity <UnifiedGroupIdParameter> -EmailAddresses @{Add="address@yourdomain.com"}
Set-UnifiedGroup -Identity <UnifiedGroupIdParameter> -EmailAddresses @{Remove="address@yourdomain.com"}

Set TimeZone

<For All User>
Get-Mailbox -ResultSize Unlimited | Get-MailboxRegionalConfiguration
Get-Mailbox -ResultSize Unlimited | Set-MailboxRegionalConfiguration -TimeZone <"Time Zone">

<For Individual User>
Get-MailboxRegionalConfiguration <Identity>
Set-MailboxRegionalConfiguration <Identity> -TimeZone <"Time Zone">

กรณีประเทศไทยให้ใส่ค่า -TimeZone "SE Asia Standard Time"
Time Zones: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones

Set Language

<For All User>
Get-Mailbox -ResultSize Unlimited | Get-MailboxRegionalConfiguration
Get-Mailbox -ResultSize Unlimited | Set-MailboxRegionalConfiguration -DateFormat <"Date Format"> -Language <Language Code>

<For Individual User>
Get-MailboxRegionalConfiguration <Identity>
Set-MailboxRegionalConfiguration <Identity> -DateFormat <"Date Format"> -Language <Language Code>

กรณีภาษาไทยให้ใส่ค่า -DateFormat "dd MMM yyyy" -Language th-TH
Language: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs

 Change Address mail group

Get-UnifiedGroup #เพื่อตรวจสอบว่ามี Group ใดอยู่บ้าง

mceclip1.png

Set-UnifiedGroup -Identity <Alias> -PrimarySmtpAddress <New-Email>
ตัวอย่าง
Set-UnifiedGroup -Identity ITSGroup -PrimarySmtpAddress ITS-New@netway.co.th

Upgrade distribution lists to Office 365 Groups

Get-DistributionGroup #เพื่อตรวจสอบว่ามี Group ใดอยู่บ้าง
Upgrade-DistributionGroup -DlIdentities \<Dl SMTP address\>
ตัวอย่าง
Upgrade-DistributionGroup -DlIdentities its@netway.co.th

Prevent Users from Changing Photo in OWA

Get-OWAMailboxPolicy | Set-OWAMailboxPolicy -SetPhotoEnabled $False

Remove User Photo

Remove-UserPhoto- "user name"