Microsoft Graph PowerShell ile Intune Komut Dosyalarını İndirme
Başka birisinin Intune portalınıza yüklediği bir betiği indirmek istediğiniz ancak artık orijinal betik dosyasına erişiminizin olmadığı oldu mu? Microsoft Graph PowerShell'i kullanarak gerçek betik dosyalarını doğrudan Microsoft Intune'dan çıkarabilir ve bilgisayarınıza indirebilirsiniz.
Çoğu zaman komut dosyalarının belgelenmediğini ve değişiklik kontrolünden yoksun olduğunu göreceksiniz; bu, orijinal dosyaların hızla kaybolmasına neden olabilir. Bu, Intune kullanıldığında çok daha büyük bir sorundur ve Microsoft, mevcut komut dosyalarını web portalından indirmek için yerel bir yol sağlamaz.
Bu eğitimde size daha önce yüklenen Intune betiklerini Microsoft Graph PowerShell ile nasıl indireceğinizi göstereceğim.
Önkoşullar
Bu betik, Microsoft Graph PowerShell modüllerinin 1. sürümünü kullanır. Microsoft Graph PowerShell'i yüklemek için buradaki eğitimimi izleyin: Microsoft Graph PowerShell Modülü Nasıl Kurulur.
Ayrıca Microsoft Graph PowerShell uygulamasına izin atamak için bu komut dosyasında istendiğinde Genel Yönetici olarak oturum açmanız gerekir. Microsoft Graph cmdlet'lerine ilişkin izinler hakkında daha fazla bilgi edinmek istiyorsanız eğitimime göz atın: Microsoft Graph PowerShell İçin İzinler Nasıl Bulunur?
PowerShell Betiklerini Intune Portalı Üzerinden Bulma
Microsoft Intune web portalından, ortamınıza yüklediğiniz ve dağıttığınız komut dosyalarını görüntüleyebilirsiniz. Sorun şu ki, komut dosyalarınız karşıya yüklendikten sonra Microsoft bunları kolayca yeniden indirmeniz için uygun bir yol sunmuyor. Elbette varsayım, komut dosyalarının verimli bir şekilde belgelendiği, saklandığı ve değişimin kontrol edildiği yönündedir, ancak çoğu zaman durum böyle değildir.
Intune ortamınıza yüklenen betiği görüntülemek için aşağıdaki adımları izleyin:
1. https://intune.microsoft.com/ adresinden Microsoft Intune'da Intune Yöneticiniz olarak oturum açın
2. Cihazlar > Komut Dosyaları'nı seçin
Bu sayfadan script adını, hedef platformu, script tipini, ne zaman yüklendiğini, atanıp atanmadığını görebileceksiniz.
Intune Komut Dosyaları nasıl indirilir
Bu küçük komut dosyası, Intune'a yüklenen her komut dosyasında döngü yapacak, komut dosyası içeriğini alacak, kodlanmış durumundan geri dönüştürecek ve bir ps1 PowerShell dosyası olarak dışa aktaracaktır. Dışa aktarıldığı konumu değiştirmek için $path değişkenini değiştirebilirsiniz.
Bu sitedeki kodlardan herhangi birini yeniden kullanmayı planlıyorsanız lütfen kaynağı belirtin; bunun hiçbir maliyeti yoktur!
#Define output path
$path = "C:\temp\"
Connect-MgGraph -Scopes DeviceManagementConfiguration.Read.All
$Report = [System.Collections.Generic.List[Object]]::new()
$uri = "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts"
$scripts = Invoke-MgGraphRequest -Uri "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts" -OutputType PSObject | select -expand value | select displayname, fileName, id
foreach ($Script in $scripts) {
$sc = $null
$uri2 = "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts/$($script.id)"
$sc = Invoke-MgGraphRequest -Uri $uri2 -Method GET
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($($sc.scriptContent))) | Out-File -FilePath $(Join-Path $path $($sc.fileName)) -Encoding ASCII
$obj = [PSCustomObject][ordered]@{
"Display Name" = $sc.displayname
"File Name" = $sc.filename
"Output Path" = "$path$($sc.filename)"
}
$report.Add($obj)
}
#Show report in console
$reportBetik başarılı bir şekilde çalıştırıldığında, konsolda dışa aktarılan her betiği ve o betiğin çıkış yolunu gösteren bir çıktı göreceksiniz.
Özet
Bu betik, önceden yüklenen PowerShell betiklerini Intune'dan yerel makinenize geri aktarma prosedürünü gerçekleştirmek için tasarlanmıştır. Aşırı karmaşık değildir ve ek işlevler kolayca eklenebilir.


