Weboldal keresés

A Microsoft Graph Module telepítése a PowerShellben


A Microsoft Graph API lehetővé teszi, hogy egyetlen forráson keresztül kommunikáljunk az összes Microsoft szolgáltatással. Ahhoz, hogy ezt megtegyük a PowerShellből, mindig más-más modult kellett telepítenünk, és különböző kapcsolatokat kellett létrehoznunk. Erre már nincs szükség a PowerShell Microsoft Graph SDK-moduljával.

Az Invoke-Webrequests hívások segítségével már tudtuk használni a Graph API-t, de ezzel nem volt igazán könnyű dolgozni. Az új Microsoft Graph Module számos parancsmagot tartalmaz, amelyek megkönnyítik a szolgáltatásokkal való interakciót.

Ebben a cikkben elmagyarázom, hogyan telepíthető a Microsoft Graph Module, és hogyan csatlakozhat hozzá különböző engedélyekkel.

Microsoft Graph PowerShell SDK

A Graph modult valójában Microsoft Graph PowerShell SDK-nak hívják, és az összes Microsoft Graph API burkolója. Jelenleg úgy tűnik, hogy csak az Azure AD-modult váltja fel. Úgy tűnik, hogy a Microsoft 365-tel való interakcióhoz használt többi modult jelenleg nem váltja fel.

2022. június 30-án az Azure AD Graph végpont elavulttá válik. Ez azt jelenti, hogy az Azure AD-modullal indított hívások többé nem kapnak választ. Ezért fontos, hogy az Azure AD-modult használó összes szkriptet átírja a Microsoft Graph-modulba.

Mint említettük, a Microsoft Graph PowerShell SDK lehetővé teszi számunkra, hogy a Microsoft összes API-jával kommunikáljunk. Ez azt jelenti, hogy a modult használhatjuk a SharePoint, az Exchange Online, a Compliance stb.

A modul másik előnye, hogy támogatja a PowerShell 7 és újabb verzióit. Az Azure AD-modul például nem működik a PowerShell 7-en.

A Microsoft Graph Module telepítése a PowerShellben

A Microsoft Graph SDK-modul jelenleg 38 modulból létezik. Telepíthetjük őket egyszerre, de érdemes megfontolni, hogy csak azokat a modulokat telepítse, amelyekre valóban szüksége van.

Jegyzet

Ügyeljen arra, hogy az egyes modulok telepítésekor legalább a Microsoft.Graph.Authentication modult telepítse.

Az összes elérhető modult a következő paranccsal tekintheti meg:

Find-Module Microsoft.Graph*

A Microsoft Graph modult csak az aktuális felhasználó számára fogjuk telepíteni. Az is lehetséges, hogy minden felhasználó számára telepítse, de akkor meg kell nyitnia a PowerShellt emelt szintű jogosultságokkal.

  1. Nyissa meg a PowerShellt vagy a Windows terminált

    - Jobb gombbal kattintson a Start gombra, vagy nyomja meg a Windows billentyű + X billentyűkombinációt.
    - Válassza a Windows PowerShell vagy a Windows Terminál lehetőséget (Win 11 esetén)

  2. Telepítse az SDK-t

    Írja be a következő parancsot a PowerShellben a modul telepítéséhez:

    Install-Module Microsoft.Graph -Scope CurrentUser

  3. A nem megbízható adattár elfogadása

    Írja be az Y jelet a nem megbízható adattárból történő telepítéshez

  4. Várja meg, amíg a telepítés befejeződik

    Az összes modul telepítésekor eltarthat néhány percig, amíg a telepítés befejeződik

Ha a béta verziót is szeretné használni, akkor a béta modulokat külön kell telepítenie:

Install-Module Microsoft.Graph.Beta -Scope CurrentUser

Csatlakozás a Microsoft Graphhoz a PowerShellből

A Microsoft Graphhoz való csatlakozáskor két dolog fontos: meg kell határozni a hatókört, és létezik az MgGraph béta verziója. Alapértelmezés szerint a modul az API stabil verzióját fogja használni. Az új funkciók azonban először a parancsmagok béta verziójában jelennek meg.

A másik fontos lépés az, hogy meg kell adnia a használni kívánt hatóköröket. Az MgGraph hozzáférést biztosít a Microsoft összes API-jához. Tehát ha például exportálni szeretné vagy meg szeretné tekinteni az Azure AD-felhasználókat, csak User.Read.All engedéllyel kell rendelkeznie.

Microsoft Graph Scopes keresése

A megfelelő hatókör megtalálása kezdetben kissé kihívást jelenthet. De van néhány lehetőség, amelyek segítségével meghatározhatja, hogy mely hatóköröket kell megadnia:

  • Microsoft Graph Explorer
  • Microsoft Graph Rest API referencia
  • Find-MgGraphPermission parancsmag

A Microsoft Graph Explorer nagyszerű eszköz a Microsoft Graph API-hívásainak tesztelésére. Számos példahívást tartalmaz, amelyek segítenek az indulásban. De kilistázza a híváshoz szükséges engedélyeket is.

  1. Nyissa meg a Graph Explorert
  2. Válasszon egy Mintalekérdezést a bal oldalon
  3. Kattintson az Engedélyek módosítása fülre

A PowerShellben az MS Graphhoz való csatlakozáskor az Engedély lapon említett hatókörök közül legalább egyet meg kell adnia.

A másik lehetőség a Rest API Reference használata. A bal oldali menüben kiválaszthatja az entitások egyikét, amellyel dolgozni szeretne, majd megtekintheti a szükséges engedélyeket. Nem kell minden hatókört hozzáadnia, a legkevesebbtől a legkiváltságosabbig vannak felsorolva.

Az utolsó lehetőség a Find-MgGraphPermission vagy a Find-MgGraphCommand parancsmag használata. Mindkét parancsmag lehetővé teszi, hogy megkeresse a szükséges engedélyeket egy adott MgGraph parancsmaghoz:

Find-MgGraphCommand -Command "Get-MgUserAuthenticationMethod" | select -ExpandProperty Permissions | Select -Unique name

# Or 
Find-MgGraphPermission AuthenticationMethod

Csatlakozás az MgGraphhoz a PowerShellben

Ha tudja, hogy mely hatóköröket kell használnia, csatlakozhat a Microsoft Graphhoz. A normál interaktív módszert fogjuk használni, ami nagyszerű helyi munkavégzés során. Ha azonban szkripteket szeretne ütemezni, vagy Microsoft Graphot szeretne használni egy Azure Runbookon belül, akkor a többi hitelesítési beállítás egyikét kell használnia.

Csatlakozzon a Microsoft Graphhoz például a User.Read.All és a Group.ReadWrite.All hatókörrel:

Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

Hitelesítést és engedélyt kell adnia. Egyes hatókörökhöz engedélyt kell adni a szervezet nevében.

Most már használhatja a Graph API-t. Amikor a Graph alkalmazással dolgozik a PowerShellben, további hatóköröket adhat hozzá a munkamenethez egyszerűen a Connect-MsGraph parancs használatával az új engedélyekkel.

Ha a béta parancsmagot szeretné használni, egyszerűen adja hozzá a béta előtagot a parancsmag erőforrásneve elé. Például a Get-MgUser béta parancsmagjának használatához használhatja a Get-MgBetaUser parancsot.

Frissítse a Microsoft Graph modult

A Microsoft Graph modult még mindig fejlesztik, rendszeresen hozzáadva új funkciókat. Ezért fontos, hogy a modul naprakész legyen, hogy a legújabb Graph-parancsmagokat használhassa a PowerShell-szkriptekben.

A modul frissítéséhez használhatjuk a PowerShell Update-Module parancsmagját, amelyet a modulnév követ:

Update-Module Microsoft.Graph

Becsomagolás

Kicsit nehéz lehet megtalálni a Microsoft Graph SDK Module megfelelő parancsmagjait, de nagyszerű, hogy egy modul lehetővé teszi számunkra, hogy az összes Microsoft szolgáltatással kommunikáljunk. Az írás pillanatában a dokumentáció még egy kicsit vékony, így sok próbálkozás és hiba forgatókönyveket írni vele.

Remélem, ez a cikk segített az MgGraph modul használatának megkezdésében. Ha bármilyen kérdése van, csak írjon megjegyzést alább.

Kapcsolódó cikkek