Microsoft Graph PowerShell modülünü yükleyin


Microsoft Graph PowerShell, Azure AD PowerShell ve MSOnline modüllerinin yerini alır ve Azure AD ile etkileşim için önerilir. Azure AD'ye bağlanırken kullanmanız gereken Microsoft Graph PowerShell modülüdür. Bu yazımızda Microsoft Graph PowerShell modülünün nasıl kurulacağını öğreneceksiniz.

Microsoft Graph PowerShell modülü

Microsoft Graph PowerShell SDK'sı, PowerShell komutlarını kullanarak Microsoft Graph API ile etkileşim kurmanıza olanak tanıyan bir dizi modülden oluşur. Modüller, API için sarmalayıcı görevi gören komutlardan oluşur ve PowerShell aracılığıyla API'nin tüm özelliklerine ve işlevlerine erişmenizi sağlar.

Microsoft Graph PowerShell modülleri şunlardır:

  1. Microsoft Grafiği

  2. Microsoft Grafik Beta

Microsoft Graph PowerShell SDK'sı aşağıdaki avantajları sağlar:

  • Tüm Microsoft Graph API'lerine erişim: Microsoft Graph PowerShell, Microsoft Graph API'sini temel alır. Azure AD'ye ek olarak Microsoft Graph API, SharePoint, Exchange ve Outlook gibi diğer Microsoft hizmetlerinden API'ler içerir ve bunların tümüne tek bir erişim belirteciyle tek bir uç nokta üzerinden erişilir.

  • PowerShell 7'yi destekler: Microsoft Graph PowerShell, PowerShell 7 ve sonraki sürümleriyle çalışır. Ayrıca Windows PowerShell 5.1 ile de uyumludur.

  • Platformlar arası destek: Microsoft Graph PowerShell, Windows, macOS ve Linux dahil tüm platformlarda çalışır.

  • Modern kimlik doğrulamayı destekler: Microsoft Graph PowerShell, daha fazla güvenlik sunan Microsoft Kimlik Doğrulama Kitaplığını (MSAL) destekler. Örneğin, şifresiz oturum açma deneyimlerini kullanabilirsiniz.

  • Harici kimlikleri destekler: Diğer Azure AD kiracılarındaki kullanıcılar, Microsoft Graph PowerShell ile kiracınızdaki hizmetlerde kimlik doğrulaması yapabilir.

  • En az ayrıcalığı kullanır: Microsoft Graph PowerShell izinleri önceden yetkilendirilmez ve kullanıcıların, ihtiyaçlarına bağlı olarak uygulama izinleri için tek seferlik istekte bulunması gerekir.

  • Gelişmiş sorgular: Microsoft Graph PowerShell, nihai tutarlılık yoluyla zengin, gelişmiş sorguları destekler. Örneğin, gelişmiş sorguları kullanarak tüm kullanıcıların sayısını neredeyse anında alabilirsiniz.

  • Açık kaynak: Özellik ekipleri ve topluluk harika PowerShell deneyimleri oluşturabilir ve bunları herkesle paylaşabilir.

  • Düzenli güncellemeler alır: Microsoft Graph PowerShell komutları, en son Graph API güncellemelerini desteklemek için düzenli olarak güncellenir.

Microsoft Graph PowerShell modülünü yükleyin

Microsoft Graph PowerShell modülünü kurmadan önce sistemi kurmamız gerekiyor.

Microsoft Graph PowerShell modülü önkoşulları

Microsoft Graph PowerShell SDK'sını Windows PowerShell ile kullanmak için aşağıdaki ön koşullar gereklidir:

  • PowerShell 5,1 veya sonraki bir sürüme yükseltme

  • .NET Framework 4.7.2 veya üstünü yükleyin

Windows PowerShell Yürütme Politikasını Ayarlayın

Varsayılan olarak komut dosyalarını yükleyemiyoruz. İnternetten indirdiğiniz tüm PowerShell komut dosyalarının güvenilir bir yayıncı tarafından imzalanmasını zorunlu kılmak için PowerShell'i yönetici olarak çalıştırın ve cmdlet'i çalıştırın. Y'ye basın ve Enter'a basın.

PS C:\> Set-ExecutionPolicy RemoteSigned

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y

Önemli: Değişikliklerin geçerli olması için yükseltilmiş Windows PowerShell penceresini kapatıp yeniden açın.

PowerShellGet modülünü yükleyin

PowerShell'i yönetici olarak çalıştırın. Install-Module PowershellGet -Force komutunu çalıştırın. NuGet sağlayıcısını yüklemeniz istendiğinde Y'ye basın ve ardından Enter ile devam edin.

PS C:\> Install-Module PowershellGet -Force

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or
'C:\Users\administrator.EXOIP\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

Yüklenemediğini belirten bir hata alırsanız PowerShell için NuGet sağlayıcısı yüklenemiyor makalesini okuyun.

Microsoft Graph modülünü yükleyin

Microsoft Graph modülünü yükleyin. Y ve Enter'a basın.

PS C:\> Install-Module Microsoft.Graph -Force

Microsoft Graph PowerShell modülünün indirilip kurulması biraz zaman alabilir. Bu yüzden ona birkaç dakika verin.

Not: Bir sonraki adımda Microsoft Graph Beta modülünü de yüklemenizi öneririz. Bunun nedeni bazı cmdlet'lerin henüz v2.x finalinde mevcut olmaması ve çalışmamalarıdır.

Microsoft Graph Beta modülünü yükleyin

Microsoft Graph Beta modülünü yükleyin. Y ve Enter'a basın.

Diğer modül sürümlerinden yükseltme yaparken çakışmaları önlemek için Install-Module'u -AllowClobber ve -Force parametreleriyle çalıştırın. V1.x'ten v2.x'e yükseltme yaparken durum böyle olabilir.

PS C:\> Install-Module Microsoft.Graph.Beta -AllowClobber -Force

Microsoft Graph PowerShell modülünün indirilip kurulması biraz zaman alabilir. Bu yüzden ona birkaç dakika verin.

Microsoft Graph PowerShell'e bağlanın

MFA'lı veya MFA'sız modülü kullanarak Microsoft Graph PowerShell'e bağlanın.

Not: Hesaplarda MFA'yı (Çok Faktörlü Kimlik Doğrulama) etkinleştirmenizi öneririz.

Azure Active Directory (Azure AD) kaynaklarına erişebilmek için yönetici hesabınızla Microsoft Graph'a bağlanın. Connect-MgGraph cmdlet'ini çalıştırın.

PS C:\> Connect-MgGraph -Scopes 'User.Read.All'

Açılan oturum açma penceresinde parolanızı girin ve Oturum aç'a tıklayın.

MFA etkinleştirilirse hesabınız için yapılandırılan doğrulama yanıtı seçeneğine göre bir doğrulama kodu oluşturulur ve teslim edilir. Örneğin bir kısa mesaj veya cep telefonunuzdaki Azure Authenticator uygulaması.

Kuruluşunuz adına izin verin onay kutusunu işaretleyin. Kabul Et'i tıklayın.

Doğrulama başarılı olduktan sonra PowerShell penceresine geri döneceksiniz.

Devamını oku: Microsoft Graph PowerShell'e farklı yöntemlerle nasıl bağlanılır »

Microsoft Graph'ın geçerli oturum ayrıntılarını alın

Get-MgInfo.ps1 PowerShell betiğini indirin ve C:\scripts klasörüne kaydedin.

Komut dosyasını çalıştırırken hataları önlemek için dosyanın engellemesinin kaldırıldığından emin olun. PowerShell betiğini çalıştırırken dijital olarak imzalanmamış hata makalesinde daha fazlasını okuyun.

Diğer bir seçenek de aşağıdaki kodu kopyalayıp Not Defteri'ne yapıştırmaktır. Ona Get-MgInfo.ps1 adını verin ve C:\scripts klasörüne yerleştirin.

Connect-MgGraph

$Details = Get-MgContext
$Scopes = $Details | Select-Object -ExpandProperty Scopes
$Scopes = $Scopes -join ","
$OrgName = (Get-MgOrganization).DisplayName

"Microsoft Graph current session details:"
"---------------------------------------"
"Tenant Id = $($Details.TenantId)"
"Client Id = $($Details.ClientId)"
"Org name = $OrgName"
"App Name = $($Details.AppName)"
"Account = $($Details.Account)"
"Scopes = $Scopes"

Şimdi mevcut oturumumuzla ilgili ayrıntıları alalım. C:\scripts klasörünün yolunu ayarlayın ve Get-MgInfo.ps1 PowerShell betiğini çalıştırın.

PS C:\> cd C:\scripts\
PS C:\scripts> .\Get-MgInfo.ps1

Microsoft Graph current session details:
---------------------------------------
Tenant Id = 1d845768-c027-4321-abe5-02f619863465
Client Id = 16d83eec-204b-4c2f-b7e8-234a70dab27e
Org name = exoip365
App Name = Microsoft Graph Command Line Tools
Account = admin@exoip.com
Scopes = openid,profile,User.Read,email,User.Read.All

Kullanıcılar Tüm İzinleri Oku ile bağlantı kurduğunuzu kontrol etmek istiyorsanız Get-MgUser cmdlet'ini çalıştırıp tüm kullanıcıların bir listesini almak mükemmel bir yoldur.

PS C:\> Get-MgUser -All

Id                                   DisplayName          Mail                           UserPrincipalName              UserType
--                                   -----------          ----                           -----------------              --------
27e679fe-d17e-4786-adc1-1234bc87a847 Aaik Makisako        aaik.makisako@exoip.com        aaik.makisako@exoip.com
35498693-bf7a-4f84-bc66-3219a42effef Aalap Bilimoria      aalap.bilimoria@exoip.com      aalap.bilimoria@exoip.com
3d6152e6-dc9b-4239-9ebd-153008cd4927 Aalyah Marinelarena  aalyah.marinelarena@exoip.com  aalyah.marinelarena@exoip.com
8ecd0481-2e15-4e91-9755-c88d791c2945 Aanisah Serraino     aanisah.serraino@exoip.com     aanisah.serraino@exoip.com
3fad5d32-fcdd-455e-b576-083da0634967 Aarshee Hego         aarshee.hego@exoip.com         aarshee.hego@exoip.com
92918266-5da1-4da5-8cd5-78befeb0d37f Aarun Vesc           aarun.vesc@exoip.com           aarun.vesc@exoip.com
ae442be1-f7fe-499b-9312-e96ca547ded7 Aarzu Venaski        aarzu.venaski@exoip.com        aarzu.venaski@exoip.com

Microsoft Graph Beta'yı kullanmak istiyorsanız cmdlet'i Get-MgBetaUser'dir.

PS C:\> Get-MgBetaUser -All

Microsoft Graph'ın bağlantısını kesin

İşiniz bittiğinde uzak PowerShell oturumunun bağlantısını kesin. Oturumun bağlantısını kesmeden Microsoft Graph PowerShell modülü penceresini kapatırsanız, kullanabileceğiniz tüm uzak PowerShell oturumlarını kullanabilirsiniz ve oturumların süresinin dolmasını beklemeniz gerekir.

PS C:\> Disconnect-MgGraph


ClientId              : 16d83eec-204b-4c2f-b7e8-234a70dab27e
TenantId              : 1d845768-c027-4321-abe5-02f619863465
CertificateThumbprint :
Scopes                : {openid, profile, User.Read, email...}
AuthType              : Delegated
AuthProviderType      : InteractiveBrowser
CertificateName       :
Account               : admin@exoip.com
AppName               : Microsoft Graph Command Line Tools
ContextScope          : CurrentUser
Certificate           :
PSHostVersion         : 5.1.17763.3770

Disconnect-MgGraph cmdlet'ini yeniden çalıştırdığınızı varsayalım, zaten oturumunuzu kapatmış olduğunuz için aşağıdaki çıktıyı alırsınız.

PS C:\> Disconnect-MgGraph

Disconnect-MgGraph : No application to sign out from.
At line:1 char:1
+ Disconnect-MgGraph
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Disconnect-MgGraph], ArgumentException
    + FullyQualifiedErrorId : Microsoft.Graph.PowerShell.Authentication.Cmdlets.DisconnectMgGraph

Microsoft Graph PowerShell modülü sürümünü kontrol edin

Microsoft Graph modülünün yüklü olduğunu ve hangi sürümün çalıştığını doğrulayın.

PS C:\> Get-InstalledModule Microsoft.Graph | ft -AutoSize

Version Name            Repository Description                      
------- ----            ---------- -----------                      
2.0.0   Microsoft.Graph PSGallery  Microsoft Graph PowerShell module

Microsoft Graph Beta modülünün yüklü olduğunu ve hangi sürümün çalıştığını doğrulayın.

PS C:\> Get-InstalledModule Microsoft.Graph.Beta | ft -AutoSize

Version Name                 Repository Description                      
------- ----                 ---------- -----------                      
2.0.0   Microsoft.Graph.Beta PSGallery  Microsoft Graph PowerShell module

Microsoft Graph Powershell modülünü güncelleyin

Microsoft, Microsoft Graph PowerShell modülüne yönelik güncellemeler sağlar ve bu modülü güncel tutmalısınız.

Not: Güncelleştirme işe yaramazsa Microsoft Graph modülünü kaldırın ve tüm PowerShell oturumlarından çıkın. Ardından PowerShell'i başlatın ve Microsoft Graph'ı yükleyin.

Microsoft Graph PowerShell SDK modülünü güncelleyin.

PS C:\> Update-Module Microsoft.Graph

Microsoft Graph Beta PowerShell SDK modülünü güncelleştirin.

PS C:\> Update-Module Microsoft.Graph.Beta

Microsoft Graph PowerShell modülünü kaldırın

Beta sürümü de dahil olmak üzere tüm Microsoft Graph PowerShell modüllerini kaldırmak için aşağıdaki komutları adım adım çalıştırın.

Not: Microsoft Graph'ı sistemden tamamen kaldırmak için aşağıdaki 4 komutun tümünü çalıştırmanız gerekir.

Not: Kaldırma işleminin tamamlanması 15 dakika kadar sürebilir. Çalıştırmaya bırakın ve PowerShell oturumunu kapatmayın.

Uninstall-Module Microsoft.Graph -AllowPrerelease -AllVersions

Uninstall-Module Microsoft.Graph.Beta -AllowPrerelease -AllVersions # Assuming you have beta modules installed.

Get-InstalledModule Microsoft.Graph.* | %{ if($_.Name -ne "Microsoft.Graph.Authentication"){ Uninstall-Module $_.Name -AllowPrerelease -AllVersions } }

Uninstall-Module Microsoft.Graph.Authentication -AllowPrerelease -AllVersions

Aşağıda gösterildiği gibi Eşleşme bulunamadı hatasını aldığınızı varsayalım; bu, Microsoft Graph modülünün zaten kaldırılmış olduğu anlamına gelir. Bu bir sorun değildir ve yukarıdaki komutların tümüne devam etmeniz gerekir.

PackageManagement\Uninstall-Package : No match was found for the specified search criteria and module names 'Microsoft.Graph'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2.5\PSModule.psm1:12733 char:21
+ ...        $null = PackageManagement\Uninstall-Package @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...ninstallPackage:UninstallPackage) [Uninstall-Package], Exception
    + FullyQualifiedErrorId : NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.UninstallPackage

Bu kadar!

Okumaya devam edin: Microsoft 365'te boşta kalma oturumu zaman aşımını etkinleştirme »

Çözüm

Microsoft Graph PowerShell'in nasıl kurulacağını öğrendiniz. MFA ile veya MFA olmadan Microsoft Graph PowerShell modülünü kullanarak Azure AD'ye bağlanın. Microsoft Graph PowerShell'e bağlandıktan sonra cmdlet'leri kullanabilirsiniz. Bitirdiğinizde bağlantıyı kesmeyi unutmayın.

Bu makaleyi beğendiniz mi? Ayrıca Yönetici olmayanlar için uzaktan PowerShell'i devre dışı bırak seçeneğini de beğenebilirsiniz. Bizi takip etmeyi ve bu yazımızı paylaşmayı unutmayın.

İlgili makaleler