Office 365 PowerShell 的使用者管理案例

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

使用這些 PowerShell 案例以從檔案快速新增使用者帳戶、指派授權、管理通訊群組成員資格,以及設定密碼。

自動化匯入多個使用者

您可以將多個使用者匯入到 Office 365 的工作自動化,進而省下許多時間。 若要匯入大量使用者,您必須先準備含有相關使用者資訊的逗點分隔值 (CSV) 檔案。 建立使用者帳戶至少必須具備的資訊為 [顯示名稱],以及 [使用者主體名稱] (UPN)。

UPN 是電子郵件地址格式的使用者名稱。使用者名稱 (「user name」或「username」) 後面會先接著「@」符號,再接著您的 Office 365 訂閱的網際網路網域名稱。UPN 範例:belindan@contoso.com。您也可以提供任何網站使用者帳戶屬性的資料,例如位置、連絡電話和地址。

針對基本使用者帳戶屬性 (例如 UPN 和顯示名稱),請準備含有下列兩個欄標題的 CSV 檔案:

  • UserPrincipalName、DisplayName

接下來,輸入 UPN 和顯示名稱 (以逗號分隔),藉此在 CSV 的每一列上新增新使用者帳戶。

附註: 由於您沒有針對每個新帳戶指定密碼,Office 365 將會產生它們。

將 CSV 檔案儲存在您可以存取的位置,例如 C:\O365Admin\NewUsers.CSV。您現在可以建立使用者帳戶了。

若要開始,您將須使用適用於 Windows PowerShell 的 Windows Azure Active Directory 模組來連線到 Office 365。如需相關指示,請參閱連線到 Office 365 PowerShell

接下來,請將路徑和檔案名稱填寫於雙引號內,移除指示文字以及 < 和 > 字元。

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName  $_.UserPrincipalName -DisplayName $_.DisplayName }

從適用於 Windows PowerShell 的 Windows Azure Active Directory 模組視窗中執行產生的命令。

如需更詳細的使用者帳戶資訊,請準備含有下列欄標題的 CSV 檔案,並視需要填入使用者列:

  • UserPrincipalName、DisplayName、FirstName、LastName、Title、Password、UsageLocation、Office、Department、MobilePhone、StreetAddress、City、State、PostalCode、Country

附註: 由於 Import-Csv 命令的 $_. 元素必須參照每個欄標題,欄標題不應包含空格。只有 UserPrincipalName 和 DisplayName 是必填欄位,而且將略過空白值。 UsageLocation 碼是使用者地區的雙字元 ISO 碼。

將 CSV 檔案儲存在您可以存取的位置,例如 C:\O365Admin\NewUsers.CSV。您現在能以使用者帳戶的形式匯入它們了。

填寫您 CSV 檔案的檔案名稱,然後執行產生的命令。

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName   $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -Title $_.Title -Department $_.Department -Office $_.Office -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country -Password $_.Password }

在 Office 365 中指派授權

若要讓使用者能夠完全存取 Office 365,他們必須獲派 Office 365 授權。 在此案例中,您將授權指派給使用者帳戶。

若要開始,您將須使用適用於 Windows PowerShell 的 Windows Azure Active Directory 模組來連線到 Office 365。如需相關指示,請參閱連線到 Office 365 PowerShell

您必須先根據使用者地區的雙字元 ISO 碼設定使用者帳戶的 [使用位置],才能將授權指派給該使用者。 [使用位置] 指定要使用服務的國家/地區,並判斷哪些授權功能可在該地區中使用。例如,美國 (US) 代表美利堅合眾國。以下是根據使用者帳戶的 UPN 設定 [使用位置] 的範例:

Set-MsolUser -UserPrincipalName user@contoso.com -UsageLocation US

若要檢視可用授權、其帳戶 SKU 和剩餘指派數量的清單,請執行下列命令:

Get-MsolAccountSku

接下來,填寫使用者帳戶的授權和 UPN,然後從適用於 Windows PowerShell 的 Windows Azure Active Directory 模組視窗執行產生的命令。

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userUPN="<the UPN of the user account>"
UserLicense -UserPrincipalName $userUPN -AddLicenses $license

將授權指派給多個使用者

在上一個案例中,您已指派授權給單一使用者帳戶。指派授權給多個使用者需要更多一些的步驟,但對大量使用者帳戶來說,付出的時間是值得的。

若要開始,您將須使用適用於 Windows PowerShell 的 Windows Azure Active Directory 模組來連線到 Office 365。如需相關指示,請參閱連線到 Office 365 PowerShell

首先,使用此命令來顯示可用授權、其帳戶 SKU 和剩餘指派數量的清單:

Get-MsolAccountSku

若要顯示未授權使用者清單,請使用此命令:

Get-MsolUser -UnlicensedUsersOnly

若要將未授權使用者清單儲存為 CSV 檔案,以便使用此檔案選擇要指派授權的使用者帳戶、填寫路徑和檔案名稱,然後執行產生的命令。

$fileName="<path and file name of the CSV file, example: c:\reports\Unlicensed_Users.CSV>"
Get-MsolUser -UnlicensedUsersOnly | Export-Csv $fileName

您也可以使用 Where 命令根據更具體的準則 (例如美國的使用者帳戶),來顯示未授權的使用者帳戶。請見以下範例:

Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.Country -eq "United States"}

使用這些命令指定使用者帳戶屬性及其必要值,並顯示一組特定的未授權使用者,然後執行產生的命令。

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

若要取得使用者帳戶屬性清單,請填寫任何使用者帳戶 UPN,然後執行產生的命令。

$userUPN="<the UPN of any user account>"
Get-MsolUser -UserPrincipalName $userUPN | Select * | More

下列範例顯示「倫敦」這個城市中的所有未授權使用者:

$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

一旦您已識別一組使用者帳戶,您將它與 Set-MsolUserLicense Cmdlet 結合使用,以指派授權給其中的每個使用者帳戶。填寫授權、屬性名稱及它的值,然後執行產生的命令。

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

以下是將 Contoso 的 Office 365 E5 授權指派給「倫敦」這個城市中的所有未授權使用者帳戶的範例:

$license="contoso:ENTERPRISEPACK"
$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

管理通訊群組收件者

您可以使用通訊群組建立電子郵件通訊群組清單。通訊群組只能在 Microsoft Outlook 等電子郵件應用程式中使用,可用來傳送電子郵件訊息給一群使用者。 在此案例中,您使用 PowerShell 管理通訊群組的收件者。

若要開始,您將須連線到 Exchange Online。若要使用帳戶使用者名稱和密碼連線到 Exchange Online,請參閱連線到 Exchange Online PowerShell。若要安裝 Microsoft Exchange Online 遠端 PowerShell 模組並以 MFA 連線,請參閱使用多重要素驗證連線到 Exchange Online PowerShell

若要將收件者新增到通訊群組,請填寫使用者帳戶的通訊群組名稱和 UPN,然後執行產生的命令。

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Add-DistributionGroupMember -Identity $distName -Member $userUPN

若要移除通訊群組的收件者,請填寫使用者帳戶的通訊群組名稱和 UPN,然後執行產生的命令。

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Remove-DistributionGroupMember -Identity $distName -Member $userUPN

設定多個使用者帳戶的密碼

使用此案例以設定一組使用者帳戶的密碼。 例如,您有一組每週幫忙一次的新志願者,或您提供可在會議使用的示範工作站。

這種案例非常適合使用大量密碼變更,來定期重設可重複使用的帳戶的密碼。只要依據部門或其他準則指定一組使用者,就可以根據該準則大量重設密碼。 第一個步驟是將 Office 365 使用者帳戶名稱匯出到 CSV 檔案。

若要根據使用者帳戶屬性和特定值將清單匯出到 CSV 檔案,請填寫屬性名稱、它的值及 CSV 的檔案名稱,然後執行產生的命令。

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
$fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

以下是將「志願者」部門的所有成員匯出到命名為 c:\O365admin\volunteerslist.csv 之檔案的範例:

$userPropertyName="Department"
$userPropertyValue="Volunteers"
$fileName="c:\O365admin\volunteerslist.csv"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | Select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

重設任何密碼之前,請先檢閱 CSV 檔案中包含的名稱,確保您已識別正確的使用者。 一旦有了 CSV 格式的已驗證使用者清單,就能透過三種簡單的方法為每個使用者建立及指派新密碼。

  1. 指定新密碼,然後將同一個密碼指派給 CSV 檔案中的所有使用者。

    填寫新密碼和 CSV 的檔案名稱,然後執行產生的命令。

    $pass="<the new password>"
    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $pass -ForceChangePassword $True}
  2. 為 CSV 檔案中的每個使用者手動定義新密碼。

    您必須針對此選項修改 CSV 檔案。在 UserPrincipalName 旁邊新增一欄並標示為 Password,然後將密碼指派給清單中的所有使用者。填寫 CSV 的檔案名稱,然後執行產生的命令。

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $_.Password -ForceChangePassword $True}
  3. 讓 Office 365 為 CSV 檔案中的每個使用者帳戶自動產生密碼。

    填寫 CSV 的檔案名稱,然後執行產生的命令。

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {[string[]]$a+= $_.UserPrincipalName + "  " + (Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -ForceChangePassword $True)} ;$a

附註: 在使用者第一次以使用者帳戶登入時,這三個選項全都會強制執行密碼變更。若要避免發生此情況,請移除 Set-MSolUserPassword 命令中的 -ForceChangePassword $True。

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

請參閱

適用於 Office 365 系統管理員的 PowerShell

Office 365 PowerShell 案例

Office 365 PowerShell 的設定案例

Office 365 PowerShell 的報告案例

Office 365 PowerShell 的更多功能案例

Office 365 PowerShell 社群資源

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×