使用集成模块

集成模块是包含 Windows PowerShell 模块包。 有关编写 Windows PowerShell 模块的信息,请参阅 编写 Windows PowerShell 模块。 集成模块可以包含 Windows PowerShell 模块指定的任何有效模块类型。 这包括脚本模块 (.psm1)、二进制模块 (.dll) 和清单模块 (.psd1)。 集成模块包是一个名称与模块相同并且扩展名为 .zip 的压缩文件。 它包含也具有模块名称的单一文件夹。 Windows PowerShell 模块和任何支持文件(包括清单文件 (.psd1)(如果模块具有该文件))都必须包含在此文件夹中。

如果模块应包含 连接 类型,则它还必须包含名称 <为 ModuleName> 的文件-Automation.json指定连接类型属性。 这是具有以下格式的 json 文件。

{
   "ConnectionFields": [
   {
      "IsEncrypted":  false,
      "IsOptional":  false,
      "Name":  "ComputerName",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  false,
      "IsOptional":  true,
      "Name":  "Username",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  true,
      "IsOptional":  false,
      "Name":  "Password",
   "TypeName":  "System.String"
   }],
   "ConnectionTypeName":  "DataProtectionManager",
   "IntegrationModuleName":  "DataProtectionManager"
}

创建和使用自动化 Runbook 的步骤有所不同,具体取决于使用的是管理门户还是 Windows PowerShell。 以下各节提供了使用这两种方法的各种常见操作的基本步骤。

枚举已安装的模块

获取管理门户中已安装模块的列表

  1. 选择“自动化” 工作区。

  2. 如果使用 Azure,请选择自动化帐户。

  3. 在窗口顶部,选择“ 资产”。

  4. 使用模块类型检查列表中的资产。

使用 Windows PowerShell 获取已安装模块的列表

以下示例命令检索自动化中安装的所有模块。

$webServer = 'https://MyWebServer'
$port = 9090
Get-SmaModule -WebServiceEndpoint $webServer -Port $port

导入模块

模块是包含文件夹的.zip扩展名的压缩文件,其中包含以下文件类型之一:

  • 模块(psm1 文件)
  • 模块清单(psd1 文件)

使用管理门户导入模块

  1. 选择“自动化” 工作区。

  2. 在窗口底部,选择“ 导入模块”。

  3. 选择“ 浏览文件”。

  4. 选择模块文件,然后选择“ 确定”。

  5. 选择对话框中的复选标记按钮。

使用 Windows PowerShell 导入模块

以下示例命令演示如何导入模块。

$webServer = 'https://MyWebServer'
$port = 9090
$modulePath = 'C:\Modules\MyModule.psm1'
Import-SmaModule -WebServiceEndpoint $webServer -Port $port -Path $modulePath

枚举 amModule 中的活动

在管理门户中获取模块中的活动列表

  1. 选择“自动化” 工作区。

  2. 如果使用 Azure,请选择一个自动化帐户。

  3. 在窗口顶部,选择“ 资产”。

  4. 找到模块并选择它。

  5. 滚动到“模块详细信息”屏幕底部并检查其活动。

  6. (可选)选择放大镜图标以筛选特定活动。

使用 Windows PowerShell 获取模块中的活动列表

以下示例命令演示如何检索特定模块中的活动。

$webServer = 'https://MyWebServer'
$port = 9090
$moduleName = 'MyModule'
$module = Get-SmaModule -WebServiceEndpoint $webServer -Port $port -Name $moduleName
$module.Activities

使用 Windows PowerShell 获取所有模块中的活动列表

以下示例命令演示如何检索自动化中安装的所有模块中的活动。

$webServer = 'https://MyWebServer'
$port = 9090
$modules = Get-SmaModule -WebServiceEndpoint $webServer -Port $port
$modules | foreach {$_.Activities} | sort Name,ModuleName | ft Name,ModuleName,Description

后续步骤