当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 Microsoft Graph PowerShell 下载 Intune 脚本

作者:精品下载站 日期:2024-12-14 06:49:53 浏览:15 分类:玩电脑

如何使用 Microsoft Graph PowerShell 下载 Intune 脚本


您是否曾经想要下载其他人已上传到您的 Intune 门户的脚本,但您无法再访问原始脚本文件?使用 Microsoft Graph PowerShell,您可以直接从 Microsoft Intune 提取实际的脚本文件并将其下载到您的计算机。

通常,您会发现脚本可能没有文档记录并且缺乏更改控制,这可能很快导致原始文件丢失。当使用 Intune 时,这个问题就更严重了,而且 Microsoft 没有提供从 Web 门户下载现有脚本的本机方法。

在本教程中,我将向您展示如何使用 Microsoft Graph PowerShell 下载之前上传的 Intune 脚本。

先决条件

此脚本使用 Microsoft Graph PowerShell 模块的版本 1。要安装 Microsoft Graph PowerShell,请按照我的教程进行操作:如何安装 Microsoft Graph PowerShell 模块。

此外,要将权限委派给 Microsoft Graph PowerShell 应用,您需要在此脚本中出现提示时以全局管理员身份登录。如果您想了解有关 Microsoft Graph cmdlet 权限的更多信息,请查看我的教程:如何查找 Microsoft Graph PowerShell 的权限。

通过 Intune 门户查找 PowerShell 脚本

从 Microsoft Intune Web 门户,您可以查看已上传并部署到环境的脚本。问题是,一旦你的脚本被上传,微软就没有提供方便的方法来轻松地重新下载它们。当然,假设脚本被有效地记录、存储和更改控制,但是,大多数时候情况并非如此。

要查看已上传到 Intune 环境的脚本,请按照以下步骤操作:

1. 以 Intune 管理员身份登录 Microsoft Intune https://intune.microsoft.com/

2. 选择设备 > 脚本

[玩转系统] 如何使用 Microsoft Graph PowerShell 下载 Intune 脚本

在此页面中,您将能够看到脚本名称、目标平台、脚本类型、上传时间以及是否已分配。

[玩转系统] 如何使用 Microsoft Graph PowerShell 下载 Intune 脚本

如何下载 Intune 脚本

这个小脚本将循环遍历已上传到 Intune 的每个脚本,获取脚本内容,将其从编码状态转换回来,并将其导出为 ps1 PowerShell 文件。您可以修改 $path 变量以更改其导出到的位置。

如果您确实计划重复使用本网站上的任何代码,请注明来源,无需任何费用!

#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
$report

脚本成功运行后,您将在控制台中看到输出,显示已导出的每个脚本以及该脚本的输出路径。

[玩转系统] 如何使用 Microsoft Graph PowerShell 下载 Intune 脚本

概括

此脚本旨在执行将之前上传的 PowerShell 脚本从 Intune 导出回本地计算机的过程。它并不太复杂,可以简单地添加附加功能。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯