利用powershell管理office365

今天在公司的生產環境中有個須要用到powershell批量檢查office365用戶的操做,因此在這邊順便記錄的powershell鏈接office365的過程:shell

 

在鏈接以前,須要安裝兩個工具:1Office 365 Sign-In Assistanthttp://www.microsoft.com/en-us/download/details.aspx?id=28177windows

2. Office 365Powershell  http://technet.microsoft.com/library/jj151815.aspxide


wKioL1SEBvig4zjAAAEYHCQ9GEM776.jpg

wKiom1SEBmfSeJBSAAEX4kY5ERE979.jpg


安裝完成以後。使用管理員身份運行windows powershell(若不以管理員身份運行,則後續的命令執行後會報錯!)工具

啓動以後,首先肯定ps是否配置爲運行腳本。輸入:Get-ExecutionPolicy

若已配置,則應該以下圖顯示:spa

若沒有配置,則應該首先配置爲運行腳本,輸入:Set-ExecutionPolicy RemoteSigned

 

wKioL1SEBxLw85OfAAJvpJ5hOOY893.jpg

 

肯定以後,建立ps憑據對象:$credential = Get-Credential

執行以後,則會彈出一個對話框,輸入office365的帳號名和密碼(必需要有全局管理員權限)3d

點擊肯定以後,將不會有任何提示。若想肯定是否登陸成功,能夠執行$credential,能夠看到相似以下圖的返回結果

wKiom1SEBp_Qysg7AAFjqGFFL7o228.jpg

此時,請注意,Get-Credential cmdlet 只建立憑據對象,並不對您進行身份驗證,也不驗證您提供的用戶名和密碼是否正確。例如,假設您將用戶名錯誤鍵入爲「eknmyer@litwareinc.onmicrosoft.com」。若是確實如此,則 Get-Credential 將使用該用戶名建立憑據對象,並不會檢查該用戶名是否有效。在您真正使用憑據對象嘗試鏈接到 Office 365 以前,您不會知道本身建立的憑據對象是否真的有效。對象

下面鏈接到office365blog

首先須要導入office365模塊ip

Import-Module MsOnline
輸入Get-Module進行查詢
 

wKioL1SECZOhsbUXAAJW1UScSKI680.jpg

 

用上面建立的憑據對象鏈接到office365ci

Connect-MsolService -Credential $credential

 

鏈接完成以後,輸入Get-MsolDomain 利用返回結果驗證是否鏈接成功

wKioL1SEDOaiO7hxAAOI0QeZ6Xc863.jpg

 

這一步鏈接成功以後,就能夠按照須要鏈接sharepoint online/lynconline/exchange online

可參考:http://technet.microsoft.com/zh-CN/library/dn568015.aspx

今天由於須要,須要鏈接到exchange online

建立遠程psexchange online的會話

$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection

在這一步執行的時候報了一個錯誤,後來肯定了一下,上條命令中:https://outlook.office365.com的地址爲全球版office365exchange online的地址,而個人產品訂閱的爲世紀互聯運營的中國版的office365,因此須要將上述地址替換爲:https://partner.outlook.cn

wKiom1SEDHTA42E1AAUtLCwYGkw389.jpg

 

執行以後,導入遠程會話:Import-PSSession $exchangeSession

wKiom1SEDJ3xjDmXAAXwyEiubEE929.jpg

若運行正常,則能夠看到如下命令

wKioL1SEDhjBictmAAKwTJNKWGc976.jpg


運行如下命令:Get-AcceptedDomain

若返回如下,則表示鏈接成功,能夠進行管理了

wKiom1SEDa3AGv6rAAGdi9BLm0A248.jpg

 

本次需求是已經利用exchange online的管理界面建立了不少通信組(包含通信組和動態通信組),查詢某一動態通信組成員。

例如:查詢系統服務部的成員

$DDG = Get-DynamicDistributionGroup 系統服務部

Get-Recipient -RecipientPreviewFilter $DDG.RecipientFilter

PS:第一個命令使用 $DDG 變量存儲動態通信組對象,第二個命令使用 Get-Recipient cmdlet 來列出符合爲動態通信組定義的條件的收件人。

wKioL1SEDm3CgjV9AAFrJrZ1V9o091.jpg

從返回結果中查詢到有部分人員並無包含在系統服務部中,按照規則,應該是部門選項卡爲添加具體值,那麼在企業中確定有相似的用戶缺乏部門選項卡的值,咱們首先來查看下哪些用戶的部門值爲空

wKioL1SEDnuQHvK-AAGTzfsKfSg817.jpg

在網頁管理中爲缺乏該值的用戶添加以後,確認,修改完成。

相關文章
相關標籤/搜索