适用产品:Windows Server ActiveDirectory
查询AD中UPN为空的用户
Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipalName
设置UPN后缀
Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipalName | foreach {Set-ADUser -Identity $_.name -UserPrincipalName ($_.SamAccountName+"@contoso.com")}
查询结果
PS C:\Users\Administrator> Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -eq $null} | Select-Object name,SamAccountName,UserPrincipalName

name                       SamAccountName             UserPrincipalName        
----                       --------------             -----------------        
Guest                      Guest                                               
krbtgt                     krbtgt                                              
mailuser2                  mailuser2                                           
mailuser3                  mailuser3                                           
mailuser4                  mailuser4                                           
mailuser5                  mailuser5                                           
mailuser6                  mailuser6                                           
mailuser7                  mailuser7                                           
mailuser8                  mailuser8                  
设置结果
Get-ADUser -Filter * -Properties * | where {$_.UserPrincipalName -ne $null} | Select-Object name,SamAccountName,UserPrincipalName
name                                                        SamAccountName                                              UserPrincipalName                                         
----                                                        --------------                                              -----------------                                         
Administrator                                               Administrator                                               [email protected]                                    
Guest                                                       Guest                                                       [email protected]                                            
krbtgt                                                      krbtgt                                                      [email protected]                                           
Exchange Online-ApplicationAccount                          $331000-K0SAH4NCDJ2K                                        [email protected]