如何通过PowerShell批量修改O365用户的office phone属性值
我的博客园:https://www.cnblogs.com/CQman/
如何通过PowerShell批量修改O365用户的office phone属性值?
需求信息:
组织中的O365用户在创建时,已手动录入了办公电话(Office phone),现在需要在办公电话前面加上统一的数字,如“0571-0985”,以批量的方式统一修改。
备注: O365用户的Office phone对应Exchange邮箱用户的Work phone
O365用户的Mobile phone 对应Exchange邮箱用户的Mobile phone
用户后台的属性是:Office phone和Work phone对应 PhoneNumber; Mobile phone对应Mobilephone
O365管理控制台:
Exchange admin center:
解决方法:
通过get-mailbox命令获取邮箱账号,再使用筛选命令只获取邮箱用户(排除“会议室账号”),之后将数据传递给get-msoluser来获取用户的phone属性值并把已有的phone属性值
赋给一个变量进行保存;然后进行特定电话号码前缀组合,并把值赋给一个新的变量,最后使用Set-MsolUser进行更改设置,最后会把所有已更改的用户的DisplayName,UserPrincipalName,PhoneNumber输出进行展示。
步骤:
- 打开powershell ISE把下面的命令复制到powershell ISE中,或者保存为一个.ps1脚本文件。
#Change Powershell execution policy
Set-Executionpolicy -scope Process -executionPolicy Unrestricted -force
#connect to Exchange online
$UserCredential = Get-Credential
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://partner.outlook.cn/PowerShell -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $exchangeSession -DisableNameChecking -AllowClobber
#connect to Office 365
Import-Module MSOnline
Connect-MsolService -AzureEnvironment AzureChinaCloud -Credential $UserCredential
#Get all mailbox users
$users = Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox')}|% {Get-MsolUser -UserPrincipalName $_.UserPrincipalName }
$Output = @()
#Traversing every user and make changes
foreach($user in $users){
if($user.PhoneNumber -ne $null )
{
$phone = $user.PhoneNumber
$Prefix = "+86" #这里以+86为例
$PN = $Prefix + $phone
Set-MsolUser -UserPrincipalName $user.UserPrincipalName -PhoneNumber $PN
$output += Get-MsolUser -UserPrincipalName $user.UserPrincipalName |Select-Object DisplayName,UserPrincipalName,PhoneNumber
}
else {continue}
}
$output |Out-GridView
注意:以上命令只针对邮箱用户且原始Office phone(或Work phone)属性不为空。
修改前
Get-MsolUser |ft DisplayName ,UserPrincipalName,PhoneNumber
运行命令后:
注意:上面的命令并不会对会议室邮箱的电话属性值进行更改。
输出内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架