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

[玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

作者:精品下载站 日期:2024-12-14 21:30:23 浏览:16 分类:玩电脑

SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?


要求:使用 Azure 自动化为 SharePoint Online 安排 PowerShell 脚本。

如何使用 Azure 自动化为 SharePoint Online 安排 PowerShell 脚本?

如果您希望直接在云中安排重复的 PowerShell 任务,而不需要通过 Windows 任务计划程序依赖于本地服务器或虚拟机,那么 Azure 自动化是一个绝佳的选择。计划在 Azure 中运行的 PowerShell 脚本允许你在 Azure 环境中自动执行任务和流程。只需进行一些设置,您就可以轻松安排 PowerShell 脚本在特定时间或间隔运行,从而轻松实现各种任务和流程的自动化。在本指南中,我们将逐步介绍设置和计划 PowerShell 脚本在 Azure 中运行的步骤,包括创建 Runbook、配置计划和测试脚本。

假设你有现有的 Azure 订阅,以下是在 Azure 中创建自动化计划任务的高级步骤:

  1. 创建 Azure 自动化帐户
  2. 设置凭据以连接到 SharePoint Online
  3. 导入必要的模块
  4. 创建 Runbook 并添加要运行的脚本
  5. 安排 PowerShell 脚本

步骤 1:创建 Azure 自动化帐户

如果您尚未创建任何现有的 Azure 自动化帐户,则必须先创建一个。

  1. 登录 Azure 门户 https://portal.azure.com
  2. 点击“创建资源”按钮>> 搜索并找到“自动化”>>点击“添加”创建一个新的自动化帐户。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

  3. 就我而言,我创建了一个自动化帐户作为“SharePoint-Online-Reporting”。创建后,您将进入已创建的自动化帐户页面。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

第2步:导入必要的PowerShell模块

我们将在 PowerShell 脚本中使用 SharePoint Online 的 PnP PowerShell 模块。因此,我们必须首先将其导入到我们的环境中。

  1. 打开创建的自动化帐户 >> 单击左侧导航中的“模块库”。
  2. 搜索并找到“SharePointPnPPowerShellOnline”(或任何其他相关模块)>> 单击模块链接>> 使用“导入”按钮导入模块。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

  3. 这将需要一些时间并导入所选的模块。

步骤 3:添加运行帐户的凭据

我们需要设置凭据以在 Azure Automation Runbook 中运行 PowerShell 脚本。因此,我们的想法是,我们的 PowerShell 脚本从 Azure 自动化帐户获取存储的凭据,连接到 SharePoint Online 租户,生成所有站点的存储报告,然后每天发送一封电子邮件。

  1. 从自动化帐户中,单击快速启动中的“凭据”链接。
  2. 单击“添加凭据”按钮。提供具有必要访问权限的任何有效凭据。就我而言,我使用了具有 SharePoint Online 管理员角色的帐户。单击“创建”按钮创建凭证。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

我们现在可以在 PowerShell 脚本中使用此凭据!

步骤 4:使用 PowerShell 脚本创建 Runbook

顾名思义,Runbook 是我们要运行的脚本的容器。 Runbook 列出了所有已发布的可用于自动化的 Runbook。

  1. 打开创建的 Azure 自动化帐户 >> 单击流程自动化下的“Runbooks”。
  2. 单击“创建 Runbook”>> 分配名称并选择其类型为 PowerShell,然后单击“创建”按钮。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

创建 PowerShell Runbook 后,您将进入编辑要运行的 PowerShell 脚本的页面。编写自动化所需的 PowerShell 脚本。就我而言,我编写了以下 PowerShell 脚本来为租户中的所有站点生成存储报告并发送电子邮件。


#Get Stored Credentials
$CrescentCred = Get-AutomationPSCredential -Name "StorageRptCred"

#Set Variables
$TenantAdminURL = "https://crescent-admin.sharepoint.com"
$EmailTo = "[email protected]"
 
#Connect to PnP Online
Connect-PnPOnline -Url $TenantAdminURL -Credentials $CrescentCred

$CSSStyle = "<style>
table {font-family: Arial, Helvetica, sans-serif; border-collapse: collapse; width: 100%;}
table td, th {border: 1px solid #ddd; padding: 8px;}
table tr:hover {background-color: #ddd;}
table th { padding-top: 12px; padding-bottom: 12px; text-align: left; background-color: #4CAF50; color: white;}
</style>"

#Get the Site collection Storage details
[string]$EmailBody = Get-PnPTenantSite | Select @{Label="Title";Expression={$_.Title}}, 
                                        @{Label="URL";Expression={$_.URL}}, 
                                        @{Label="Allocated (GB)";Expression={$_.StorageMaximumLevel/1MB}}, 
                                        @{Label="Used (MB)";Expression={$_.StorageUsage}}, 
                                        @{Label="Warning Level (GB)";Expression={$_.StorageWarningLevel/1MB}} | 
ConvertTo-Html -Title "Crescent Inc. Storage Report" -Head $CSSStyle -PreContent "Sites Storage Report"

#Send Email
Send-PnPMail -To $EmailTo -Subject "Storage Report" -Body $EmailBody

单击“保存”并单击代码编辑器中的“测试窗格”按钮,保存并测试 PowerShell 脚本。调整好脚本后,点击“发布”即可发布 Runbook,因为必须发布 Runbook 才能创建计划。

第 5 步:将计划添加到 PowerShell 脚本中

最后一步,我们必须向 PowerShell 脚本添加一个计划。以下是如何为 Azure Runbook 创建计划。

  1. 在创建的 Runbook 中单击“计划”>> 单击“添加计划”链接。
  2. 选择“将计划链接到您的操作手册”>> 点击“创建新计划”链接。
  3. 输入计划的必要详细信息,例如名称、说明、开始日期、时间、时区和重复详细信息。就我而言,计划将每天在给定时间运行,直到到期日。

    [玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

好了,现在我们已经在 Azure 自动化中配置了 PowerShell 脚本。等待计划作业运行,这是我的计划作业电子邮件的实际运行情况:

[玩转系统] SharePoint Online:如何使用 Azure 自动化计划 PowerShell 脚本?

如果要计划 PowerShell 脚本,也可以使用 Windows 任务计划程序:如何使用 Windows 任务计划程序为 PowerShell 脚本创建计划任务?

结论

总之,安排 PowerShell 脚本在 Azure 中运行可能是在 Azure 环境中自动执行任务和流程的有用方法。通过遵循本指南中概述的步骤,您可以安排 PowerShell 脚本在特定时间或间隔运行,可以通过自动执行重复或耗时的任务来节省时间和精力,并确保 Azure 环境平稳高效地运行。

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

取消回复欢迎 发表评论:

关灯