Johdanto
Exchange Online -palvelun hallinta onnistuu kätevästi PowerShellin kautta. Palveluun yhdistäminen ei kuitenkaan oletuksena toimi suoraan PowerShellin kautta, jos hallintatunnuksella on MFA-tunnistautuminen käytössä.
Käyn tässä läpi vaiheet, jotka vaaditaan Exchange Onlineen yhdistettäessä MFA-tunnistautumisen kanssa.
Exchange Online Remote PowerShell Modulen lataus
Ensiksi tuli ladata Exchange Online Remote PowerShell Module. Tämä onnistui verkkoselaimen kautta navigoimalla Exchange Online Admin Centeristä > Hybrid.
Sieltä latasin Exchange Online PowerShell Modulen painamalla alempaa “Configure“-latausnappia.
Tallensin ohjelman työpöydälleni:
Sitten suoritin ohjelman ja sain virheilmoituksen:
Luin Microsoftin dokumentaatiota tarkemmin ja havaitsin, että he pyysivät suorittamaan ohjelman Internet Explorerin tai Edge -selaimen kautta. Ensiksi ajattelin, että tämä on vain turhaa promoamista kuolleiksi kuopatuille Microsoftin selaimille. Testatessani Edgellä havaitsin kuitenkin, että asennusohjelma käynnistyi oikein Microsoftin selaimella…
Aukesi asennusohjelma, josta painoin “Asenna“.
Ohjelma latautui ja aukesi PowerShell-ikkuna:
Basic Authenticationin salliminen
Varmistin, että Windows Remote Management (WinRM) sallii tunnistautumisen (oletuksena pitäisi):
winrm get winrm/config/client/auth
Tulos:
WSManFault Message = Asiakas ei voi muodostaa yhteyttä pyynnössä määritettyyn kohteeseen. Tarkista, että kohteen palvelu on käytössä ja että se hyväksyy pyyntöjä. Tarkista kohteen WS-Management-lokit ja ohjeet, yleensä kyseessä on IIS tai WinRM. Jos kohde on WinRM-palvelu, analysoi ja määritä WinRM-palvelu suorittamalla seuraava komento: winrm quickconfig. Virhenumero: -2144108526 0x80338012 Asiakas ei voi muodostaa yhteyttä pyynnössä määritettyyn kohteeseen. Tarkista, että kohteen palvelu on käytössä ja että se hyväksyy pyyntöjä. Tarkista kohteen WS-Management-lokit ja ohjeet, yleensä kyseessä on IIS tai WinRM. Jos kohde on WinRM-palvelu, analysoi ja määritä WinRM-palvelu suorittamalla seuraava komento: winrm quickconfig.
Vaikutti siltä, että tunnistautumista ei ollut sallittu. Yritin asettaa Basic authenticationille arvon “True” PowerShellillä seuraavalla komennolla:
winrm set winrm/config/client/auth @{Basic="true"}
Sain kuitenkin virheilmoituksen:
Virhe: Invalid use of command line. Type "winrm -?" for help.
Vaikutti siis pikemminkin siltä, ettei koko Basic Authentication -ominaisuutta ole Windowsissa päällä. Käynnistin sen:
winrm quickconfig
Painoin Y, jotta muutokset tulivat voimaan:
WinRM:ää ei ole määritetty vastaanottamaan pyyntöjä tässä tietokoneessa. Seuraavat muutokset on tehtävä: Käynnistä WinRM-palvelu. Aseta WinRM-palvelutyypiksi viivästetty automaattinen käynnistys. Tehdäänkö nämä muutokset [y/n]? y
Muutos ei kuitenkaan ensin mennyt läpi, sillä PowerShelliä ei oltu suoritettu järjestelmänvalvojana. Avasin uuden ikkunan korotetuin oikeuksin ja tein samat muutokset:
WinRM:ää ei ole määritetty vastaanottamaan pyyntöjä tässä tietokoneessa. Seuraavat muutokset on tehtävä: Käynnistä WinRM-palvelu. Aseta WinRM-palvelutyypiksi viivästetty automaattinen käynnistys. Tehdäänkö nämä muutokset [y/n]? y WinRM on päivitetty vastaanottamaan pyyntöjä. WinRM-palvelun tyyppi muutettiin. WinRM-palvelu käynnistettiin. WinRM:ää ei ole määritetty sallimaan tietokoneen etäkäyttöä hallinnan osalta. Seuraavat muutokset on tehtävä: Ota käyttöön WinRM-palomuuripoikkeus. Myönnä järjestelmänvalvojan oikeudet paikallisille käyttäjille etäyhteyden välityksellä määrittämällä LocalAccountTokenFilterPolicy. Tehdäänkö nämä muutokset [y/n]? y WinRM:ään on päivitetty etähallinta. WinRM-palomuuripoikkeus on otettu käyttöön. Järjestelmänvalvojan oikeudet myönnettiin paikallisille käyttäjille etäyhteyden välityksellä määrittämällä LocalAccountTokenFilterPolicy.
Palvelu oli nyt käynnissä, joten tarkistin, onko Basic Authentication päällä (arvo “True“):
winrm get winrm/config/client/auth
Basic Authentication oli päällä:
PS C:\Users\Markus> winrm get winrm/config/client/auth Auth Basic = true Digest = true Kerberos = true Negotiate = true Certificate = true CredSSP = false PS C:\Users\Markus>
Yhdistäminen Exchange Online -palveluun
Sitten kokeilin kirjautua Exchange Onlineen tunnuksella, jolla on MFA-tunnistautuminen päällä. Komennon käyttäjätunnus on vain esimerkki, ja siksi oikea hallintatunnus on kuvissa sensuroitu:
Connect-EXOPSSession -UserPrincipalName esimerkki.tunnus@mapy.fi
Sitten aukeaa erillinen kirjautumisikkuna, jossa syötetään ensin salasana ja jälkeenpäin MFA-tunnistautumiskoodi. Omassa tapauksessani tunnistautumista ei pitänyt tehdä uudelleen, sillä olin jo valmiiksi Windowsissa tunnistautunut Office-tunnuksin.
Yhteys aukesi ja pystyin syöttämään Exchange Online cmdlet-komentoja.