Edytujemy naszą usługę O365 z poziomu PowerShell

Post znajduje się w kategorii Krótko, Office 365

9 stycznia 2018

Cześć.

Miałem dziś potrzebę wylistować użytkowników mojego tenanta (aż czterech!)  z określonymi kolumnami a następnie wprowadzić aktualizację ich parametrów (dla przykładu użyję Dział oraz Miasto).

Mogłem to zrobić z poziomu ECP, ale… Niby to tylko czterech użytkowników, zrobie to szybciej niżeli instalowanie addonów, łączenie się za pomocą PowerShella i tak dalej.. A co jeżeli takich użytkowników mamy juz 100? Też to zrobimy z poziomu ECP? Oczywiście. Tylko, że o w wiele, wiele dłuższym czasie.

Na potrzeby wpisu przyjmiemy, że jest to system Windows 10, bez zainstalowanych modułów Powershell.

Aby rozpocząć pracę z O365 w PS potrzebujemy modułów z galerii:

  1. MSOnline  z linku: https://www.powershellgallery.com/packages/MSOnline/
  2. Azure AD PowerShell z linku https://www.powershellgallery.com/packages/AzureAD/

Oba moduły instalujemy w bardzo łatwny sposób:

  1. Install-Module -Name MSOnline
  2. Install-Module -Name AzureAD

Kolejnym krokiem będzie zalogowanie się do swoich usług:

Connect-AzureAD
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential (Get-Credential) -Authentication Basic -AllowRedirection
Import-PSSession $Session
Connect-MsolService

Po poprawnym zalogowaniu możemy wylistować np. swoje skrzynki mailowe poleceniem:

Get-mailbox

Ja potrzebowałem wyeksportować wszystkie dane moich użytkowników do pliku csv. W tym celu użyłem polecenia:

get-user -resultsize unlimited |select * |export-csv c:\dane_ps\uzytkownicy.csv

Dzięki temu uzyskałem kompletny plik csv z każdą możliwą komórką do uzupełnienia. Po uzupełnieniu wszystkich niezbędnych danych musimy w jakiś sposób dodać te dane, prawda?
Zrobimy to w taki sposób:

Import-Csv „c:\dane_ps\uzytkownicy.csv” | foreach{Set-MsolUser -UserPrincipalName $_.UserPrincipalName -Department $_.Department -City $_.City }

Dlaczego to polecenie wygląda w taki sposób? Najpierw importujemy plik cvs, potem dla każdego rekordu z tego pliku wykonujemy polecenie Set-MsolUser z parametrem, który identyfikuje naszego użytkownika: UserPrincipalName, a każdy kolejny parametr wskazuje wartość, którą modyfikujemy. Możemy dodać tych parametrów nawet 30 jeżeli mamy taką ochotę. 

Po chwili nasze wartości powinny być widoczne poprawnie w ECP.

Jak dla mnie – ułatwia to bardzo pracę.

Have fun!


Poczytaj także o:

TP-Link UP525

9 stycznia 2018 // Recenzje

5 portowa ładowarka, wprost idealna dla geeka komputerowego za śmiesznie niską cenę!

czytaj więcej

Webmail z O365 we własnej domenie?

9 stycznia 2018 // Krótko, Office 365

Adres do webmaila O365 w własnej domenie

czytaj więcej


A może komentarz?