脚本 [SPFSDK][VMROLE]
适用于:Windows Azure Pack
Script 对象表示预配基于Windows虚拟机时运行的命令行可执行文件。 此对象将 2012 R2 System Center Virtual Machine Manager (VMM) 中以下Windows PowerShell cmdlet 中的许多属性组合在一起:
Add-SCScriptCommand
https://go.microsoft.com/fwlink/?LinkID=308898New-SCScriptCommandSetting
https://go.microsoft.com/fwlink/?LinkID=308899Set-SCScriptCommandSetting
https://go.microsoft.com/fwlink/?LinkID=308900
类型层次结构
ResourceExtension [SPFSDK][VMROLE].ExtensionSettings [SPFSDK][VMROLE].ApplicationProfile.WindowsApplicationProfile [SPFSDK][VMROLE]。脚本
语法
{
"AlwaysReboot": false,
"ApplicationPayloadId": string,
"DeploymentOrder": integer,
"ErrorPolicy": string,
"ExecutableAndParams": {
"Executable": string,
"Parameters": string,
},
"ExitCodeRegex": string,
"MaxOutputSize": integer,
"RebootExitCodeRegex": regex string,
"RestartOnRetry": boolean,
"RestartOnExitCodeReboot": boolean,
"ScriptBlock": string,
"ScriptCredential": credential string
"ScriptType": string,
"StandardErrorPath": string,
"StandardErrorRegex": regex string,
"StandardInput": string,
"StandardOutputPath": string,
"StandardOutputRegex": regex string,
"TimeoutInSeconds": integer,
"WorkingDirectory": string
}
属性
名称 |
类型 |
必须 |
默认值 |
说明 |
---|---|---|---|---|
AlwaysReboot |
布尔 |
否 |
无 |
如果 为 true,则表示应在脚本成功完成后启动重启。 |
ApplicationPayloadID |
字符串 |
否 |
无 |
ApplicationProfile.ApplicationPayload 项的标识符。 此有效负载必须指向文件夹,并且可以包含要运行的脚本。 当 ScriptType 属性设置为以下值之一时,不会使用此属性:
|
DeploymentOrder |
int |
否 |
无 |
运行此脚本命令的顺序。 仅当 ScriptType 属性设置为以下值之一时,才使用此属性:
|
ErrorPolicy |
字符串 |
是 |
无 |
处理脚本退出代码返回的错误的策略。 允许的值为:
|
ExecutableAndParams |
ExecutableAndParams |
可能 |
无 |
要运行的可执行文件。 必须声明此属性或 ScriptBlock 属性,但从不声明这两者。 |
ExitCodeRegEx |
字符串 |
否 |
[1-9][0-9]* |
用于确定脚本中的错误退出代码的正则表达式。 |
RestartExitCodeRegEx |
字符串 |
否 |
无 |
一个正则表达式,用于确定脚本中的重启退出代码。 |
RestartOnRetry |
Boolean |
是 |
无 |
如果 为 true,则表示此脚本可以在此脚本失败并修复虚拟机后运行父应用程序时重新运行。 |
RestartOnExitCodeReboot |
布尔 |
否 |
无 |
如果 为 true,则表示应在重启计算机后重新运行脚本。 当退出代码与 RebootExitCodeRegEx 属性指定的退出代码匹配时,脚本将重新启动计算机。 |
脚本块 |
字符串 |
可能 |
无 |
内联Windows shell 脚本命令。 必须声明此属性或 ExecutableAndParams 属性,但永远不会同时声明这两个属性。 |
ScriptCredential |
字符串 |
否 |
无 |
运行脚本时要使用的凭据,采用 域\username:password 格式。 |
ScriptType |
字符串 |
是 |
无 |
确定此脚本何时运行。 允许以下值:
Pre* 和 Post* ScriptTypes 遵循 System Center 2012 R2 Virtual Machine Manager AppProfile 级别脚本命令语义。 OnProvision* ScriptTypes 遵循非对称预配脚本命令语义。 |
StandardErrorPath |
字符串 |
否 |
无 |
应用于捕获 stderr 流的文件的路径。 |
StandardErrorRegex |
字符串 |
否 |
无 |
与 stderr 流比较错误的正则表达式。 |
StandardInput |
字符串 |
否 |
无 |
运行脚本时要传入 stdin 流的字符串。 |
StandardOutputPath |
字符串 |
否 |
无 |
应用于捕获 stdout 流的文件的路径。 |
StandardOutputRegex |
字符串 |
否 |
无 |
与 stdout 流比较错误的正则表达式。 |
TimeoutInSeconds |
int |
是 |
无 |
等待等待的秒数,直到出现超时。 |
WorkingDirectory |
字符串 |
否 |
Windows系统目录 |
要为此 脚本 对象创建的进程设置的工作目录。 |
ExecutableAndParams
有关本部分使用的Virtual Machine Manager中Windows PowerShell cmdlet Add-SCScriptCommand的详细信息,请参阅https://go.microsoft.com/fwlink/?LinkID=308898。
名称 |
类型 |
必须 |
默认值 |
说明 |
---|---|---|---|---|
可执行文件 |
字符串 |
是 |
无 |
要运行的可执行文件。 |
parameters |
String |
是 |
无 |
要传递给可执行文件的参数。 |
备注
下面的代码示例提供了一个示例 Script 对象。
{
"AlwaysReboot": false,
"ApplicationPayloadId": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
"DeploymentOrder": 1,
"ErrorPolicy": "FailOnMatch",
"ExecutableAndParams": {
"Executable": "cmd.exe",
"Parameters": "/q /c msiexec sharepoint.msi"
},
"ExitCodeRegex": "[1-9][0-9]*",
"MaxOutputSize": 1048576,
"RebootExitCodeRegex": "{1641}|{3010}|{3011}",
"RestartOnRetry": false,
"ScriptBlock": null,
"ScriptCredential": "domain\\user:password",
"ScriptType": "PreInstall",
"StandardErrorPath": "c:\\err.txt",
"StandardErrorRegex": ".+",
"StandardInput": null,
"StandardOutputPath": "c:\\out.txt",
"StandardOutputRegex": null,
"TimeoutInSeconds": 900,
"WorkingDirectory": null
}
另请参阅
ApplicationProfile.WindowsApplicationProfile [SPFSDK][VMROLE]
SQLProfile [SPFSDK][VMROLE]
WebDeployApplication [SPFSDK][VMROLE]
SQLDacApplication [SPFSDK][VMROLE]
ScriptApplication [SPFSDK][VMROLE]