Product Documentation

使用 Installation Manager PowerShell cmdlet

Sep 15, 2015

cmdlet 摘要

本参考假定您熟悉如何使用 PowerShell。Installation Manager cmdlet 支持标准 PowerShell 通用参数,例如 WhatIf。

要导入 Installation Manager PowerShell cmdlet,您可以执行以下操作之一:
  • 在 PowerShell 命令提示符下键入 Add –PSSnapIn IMAdmin,或者
  • 通过将 asnp IMAdmin 添加到 PowerShell 配置文件 profile.ps1 中来自动导入 cmdlet

本主题对这些选项进行了简要说明。要了解完整的 cmdlet 语法,请在 PowerShell 提示符下键入 Get-Help cmdlet 名称。

Get-IMServer

列出特定 XenApp 场中的服务器。

可以指定以下选项:
选项 说明
-farm MFCOM 场对象的 IP 地址或 DNS 名称。如果忽略此选项,则会使用本地服务器。
-folder 场中服务器文件夹的路径,格式为 \folder1\folder2。
例如,以下 cmdlet 可列出 XenApp 场中 DNS 名称为 XenAppFarmIN 的服务器。
Get-IMServer -farm XenAppFarmIN -folder Servers\TargetFolder

Create-IMMSITask

计划在目标服务器上安装 MSI 或 MSP 软件包。可以指定以下选项:
选项 说明

-name

(必需项)唯一的任务名称。

-msi

(必需项)安装软件包的路径。该文件必须能被任务管理计算机访问。cmdlet 会检查该文件是否存在,如果不存在,则会显示一条错误。

-targets

(必需项)将要安装软件包的目标服务器。请指定以下各项之一:
  • 各台服务器的逗号分隔的列表,按 DNS 名称排列
  • 包含 Name 属性的对象(由 Get-IMServer cmdlet 返回)

-mst

列出 MSI 转换文件的路径。该文件必须能被任务管理计算机访问。cmdlet 会检查该文件是否存在,如果不存在,则会显示一条错误。

-schedule

安装任务运行的日期和时间。请指定以下各项之一:
  • YYYY-MM-DD 格式的日期以及 HH:MM:SS 格式的 24 小时制的时间(以单引号或双引号引起)
  • now 以立即启动任务

-logoffSessions

强制用户在启动安装之前注销服务器。(可以使用 -message 选项提示用户保存所做的工作,然后注销。)

-disablelogon

防止用户在安装期间登录。

-reboot

安装完成后重新启动服务器。(可以使用 -timeout 选项指定安装完成后等待多久重新启动服务器,并且可以使用 -message 选项指定要在重新启动之前发送给连接的会话的消息。)

-message

在注销或重新启动之前向所有连接的会话发送一条消息。此选项与 -logoffSessions 和 -reboot 选项一起使用时有效。

-timeout

指定连接的会话在服务器重新启动之前持续的分钟数。

-update

用相同的任务名称覆盖所有现有任务。如果忽略此选项,并且存在其他同名任务,则该任务会失败。

-prepareUnc

以 UNC 格式指定共享文件夹,Installation Manager 会使用该文件夹将文件传送给目标服务器。Installation Manager 会自动将指定的 MSI、MSP 和转换 (MST) 文件复制到此文件夹,并将读取权限从目标服务器分配给文件共享。您必须具有足够的权限才能设置 UNC 权限。该文件夹必须可由所有指定的目标服务器访问。

-log

记录每台目标服务器上安装的状态为成功或失败的文件或 XML 对象的路径。

-retrytime

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的时间长度(以秒为单位)。如果指定了重试时间,还必须指定重试间隔。

-retryinterval

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的频率(以秒为单位)。如果指定了重试间隔,还必须指定重试时间。

例如,以下 cmdlet 使用转换(位于 c:\localfolder\myapp_silent.mst)和共享文件夹 (\\fileserver\im),在目标服务器 XAWRK1、XAWRK2 和 XAWRK3 上分发 MSI 软件包(位于 c:localfolder\myapp.msi)。此任务将于 2010 年 10 月 1 日晚上 11:50 启动。系统将在安装开始之前向用户发出警报消息。安装期间用户将无法登录,并且服务器将在安装完成后十分钟启动。如果目标服务器被占用,Installation Manager 将在 60 秒的重试时间内每隔 10 秒钟重试一次。
Create-IMMSITask -name Installmyapp -targets XAWRK1,XAWRK2,XAWRK3 -msi c:\localfolder\myapp.msi -mst c:\localfolder\myapp_silent.mst -schedule '01/10/2010 23:50:00' -prepareUNC \\fileserver\im -retrytime 60 -retryinterval 10 -message "Please save your work and logoff.Server will reboot for maintenance." -timeout 10 -logoffsessions -reboot

Create-IMTask

计划安装 Task Scheduler 文件。您应熟悉如何使用 Task Scheduler。请使用 Task Scheduler MMC 创建 Task Scheduler 文件。Installation Manager 会将 Task Scheduler 文件直接传送给 Windows Task Scheduler,不会使用文件共享传送该文件。

可以指定以下选项:
选项 说明

-name

(必需项)唯一的任务名称。

-task

(必需项)要安装的 XML 文件或 PowerShell XML 对象的路径。XML 架构必须遵循 Task Scheduler 2.0 规范。

-targets

(必需项)将要安装文件的目标服务器。请指定以下各项之一:
  • 各台服务器的逗号分隔的列表,按 DNS 名称排列
  • 包含 Name 属性的对象(由 Get-IMServer cmdlet 返回)

-update

用相同的任务名称覆盖所有现有任务。如果忽略此选项,并且存在其他同名任务,则该任务会失败。

-retrytime

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的时间长度(以秒为单位)。如果指定了重试时间,还必须指定重试间隔。

-retryinterval

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的频率(以秒为单位)。如果指定了重试间隔,还必须指定重试时间。

-log

记录每台目标服务器上安装的状态为成功或失败的文件或 XML 对象的路径。

例如,以下 cmdlet 会在目标服务器(XAWRK1、XAWRK2 和 XAWRK3)上分发运行备份脚本(名为 Backuptask)的 Windows Task Scheduler 文件(位于 C:\task.xml)。如果目标服务器被占用,Installation Manager 将在 60 秒的重试时间内每隔 10 秒钟重试一次。如果同名任务已存在,则将覆盖其定义。安装的成功/失败状态将记录到 C:\log.xml 中。
Create-IMTask -name Backuptask -targets XAWRK1,XAWRK2,XAWRK3 -task c:\task.xml -update -retrytime 60 -retryinterval 10 -log c:\log.xml

Create-IMCMDTask

计划安装命令行任务。可以指定以下选项:
选项 说明

-name

(必需项)唯一的任务名称。

-command

(必需项)要在目标服务器上运行的命令行操作。

-targets

(必需项)将要安装软件包的目标服务器。请指定以下各项之一:
  • 各台服务器的逗号分隔的列表,按 DNS 名称排列
  • 包含 Name 属性的对象(由 Get-IMServer cmdlet 返回)

-schedule

安装任务运行的日期和时间。请指定以下各项之一:
  • YYYY-MM-DD 格式的日期以及 HH:MM:SS 格式的 24 小时制的时间(以单引号或双引号引起)
  • now 以立即启动任务

-update

用相同的任务名称覆盖所有现有任务。如果忽略此选项,并且存在其他同名任务,则该任务会失败。

-prepareUnc

以 UNC 格式指定共享文件夹,Installation Manager 可以使用该文件夹将文件传送给目标服务器。Installation Manager 会自动将文件传送给此文件夹,并更新文件夹的 ACL,以确保所有服务器都具有对该文件夹的读取权限。您必须具有足够的权限才能设置 UNC 权限。

-retrytime

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的时间长度(以秒为单位)。如果指定了重试时间,还必须指定重试间隔。

-retryinterval

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试安装任务的频率(以秒为单位)。如果指定了重试间隔,还必须指定重试时间。

-log

记录每台目标服务器上安装的状态为成功或失败的文件或 XML 对象的路径。

例如,以下 cmdlet 计划使用命令行 notepad.exe 在目标服务器 XAWRK1、XAWRK2 和 XAWRK3 上安装任务(名为 Installnotepad)。如果目标服务器被占用,Installation Manager 将在 60 秒的重试时间内每隔 10 秒钟重试一次。如果同名任务已存在,则将覆盖其定义。安装的成功/失败状态将记录到 C:\log.xml 中。
Create-IMCMDTask -name Installnotepad -command notepad.exe -targets XAWRK1,XAWRK2,XAWRK3 -update -retrytime 60 -retryinterval 10 -log C:\log.xml

Get-IMTask

获取已计划的任务安装的成功或失败状态。可以指定以下选项。
选项 说明

-targets

(必需项)需要相关任务安装信息的目标服务器。请指定以下各项之一:
  • 各台服务器的逗号分隔的列表,按 DNS 名称排列
  • 包含 Name 属性的对象(由 Get-IMServer cmdlet 返回)

-name

任务名称。

-fromdate

要获取状态的间隔时间的开始日期。

-todate

要获取状态的间隔时间的结束日期。

-log

日志文件的 XML 路径。如果忽略此选项,状态会显示在 PowerShell 控制台中。

例如,以下 cmdlet 会在 PowerShell 控制台中显示目标服务器 XAWRK1 和 XAWWRK2 上名为 Installnotepad 的任务的安装状态。
Get-IMTask -targets XAWRK1,XAWRK2 -name Installnotepad

Remove-IMTask

删除目标服务器上已计划的任务。可以指定以下选项:
选项 说明

-targets

(必需项)要删除已计划的任务的目标服务器。请指定以下各项之一:
  • 各台服务器的逗号分隔的列表,按 DNS 名称排列
  • 包含 Name 属性的对象(由 Get-IMServer cmdlet 返回)

-name

(必需项)任务名称。

-retrytime

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试任务删除的时间长度(以秒为单位)。如果指定了重试时间,还必须指定重试间隔。

-retryinterval

如果无法访问目标服务器,则此选项可指定 Installation Manager 能够重试任务删除的频率(以秒为单位)。如果指定了重试间隔,还必须指定重试时间。

-log

记录每台目标服务器上任务删除的成功或失败状态的文件或 XML 对象的路径。

例如,以下 cmdlet 会从目标服务器 XAWRK1 和 XAWRK2 中删除名为 Installnotepad 的任务。如果目标服务器被占用,Installation Manager 将在 60 秒的重试时间内每隔 10 秒钟重试一次。任务删除的成功/失败状态将显示在 PowerShell 控制台中。
Remove-IMTask -targets XAWRK1,XAWRK2 -name Installnotepad -retrytime 60 -retryinterval 10