文件範例儲存庫中有更多 AWS SDK可用的範例。 AWS SDK
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
RegisterTaskWithMaintenanceWindow
搭配 使用 CLI
下列程式碼範例示範如何使用 RegisterTaskWithMaintenanceWindow
。
- CLI
-
- AWS CLI
-
範例 1:向維護時段註冊 Automation 任務
下列
register-task-with-maintenance-window
範例會將 Automation 任務註冊為以執行個體為目標的維護時段。aws ssm register-task-with-maintenance-window \ --window-id
"mw-082dcd7649EXAMPLE"
\ --targetsKey=InstanceIds,Values=i-1234520122EXAMPLE
\ --task-arnAWS-RestartEC2Instance
\ --service-role-arnarn:aws:iam::111222333444:role/SSM
--task-typeAUTOMATION
\ --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$LATEST\",\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}}" \ --priority0
\ --max-concurrency1
\ --max-errors1
\ --name"AutomationExample"
\ --description"Restarting EC2 Instance for maintenance"
輸出:
{ "WindowTaskId":"11144444-5555-6666-7777-88888888" }
如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用維護時段 (AWS CLI) 註冊任務。
範例 2:向維護時段註冊 Lambda 任務
下列
register-task-with-maintenance-window
範例會使用以執行個體為目標的維護時段來註冊 Lambda 任務。aws ssm register-task-with-maintenance-window \ --window-id
"mw-082dcd7649dee04e4"
\ --targetsKey=InstanceIds,Values=i-12344d305eEXAMPLE
\ --task-arnarn:aws:lambda:us-east-1:111222333444:function:SSMTestLAMBDA
\ --service-role-arnarn:aws:iam::111222333444:role/SSM
\ --task-typeLAMBDA
\ --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier":"$LATEST"}}
' \ --priority0
\ --max-concurrency10
\ --max-errors5
\ --name"Lambda_Example"
\ --description"My Lambda Example"
輸出:
{ "WindowTaskId":"22244444-5555-6666-7777-88888888" }
如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用維護時段 (AWS CLI) 註冊任務。
範例 3:向維護時段註冊 Run Command 任務
下列
register-task-with-maintenance-window
範例會向以執行個體為目標的維護時段註冊 Run Command 任務。aws ssm register-task-with-maintenance-window \ --window-id
"mw-082dcd7649dee04e4"
\ --targets"Key=InstanceIds,Values=i-12344d305eEXAMPLE"
\ --service-role-arn"arn:aws:iam::111222333444:role/SSM"
\ --task-type"RUN_COMMAND"
\ --name"SSMInstallPowerShellModule"
\ --task-arn"AWS-InstallPowerShellModule"
\ --task-invocation-parameters "{\"RunCommand\":{\"Comment\":\"\",\"OutputS3BucketName\":\"runcommandlogs\",\"Parameters\":{\"commands\":[\"Get-Module -ListAvailable\"],\"executionTimeout\":[\"3600\"],\"source\":[\"https:\/\/gallery.technet.microsoft.com\/EZOut-33ae0fb7\/file\/1
1
0351\/1\/EZOut.zip\"],\"workingDirectory\":[\"\\\\\"]},\"TimeoutSeconds\":600}}" \ --max-concurrency 1 \ --max-errors 1 \ --priority10
輸出:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }
如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用維護時段 (AWS CLI) 註冊任務。
範例 4:向維護時段註冊 Step Functions 任務
下列
register-task-with-maintenance-window
範例會將 Step Functions 任務註冊為以執行個體為目標的維護時段。aws ssm register-task-with-maintenance-window \ --window-id
"mw-1234d787d6EXAMPLE"
\ --targetsKey=WindowTargetIds,Values=12347414-69c3-49f8-95b8-ed2dcEXAMPLE
\ --task-arnarn:aws:states:us-east-1:111222333444:stateMachine:SSMTestStateMachine
\ --service-role-arnarn:aws:iam::111222333444:role/MaintenanceWindows
\ --task-typeSTEP_FUNCTIONS
\ --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}
' \ --priority0
\ --max-concurrency10
\ --max-errors5
\ --name"Step_Functions_Example"
\ --description"My Step Functions Example"
輸出:
{ "WindowTaskId":"44444444-5555-6666-7777-88888888" }
如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用維護時段 (AWS CLI) 註冊任務。
範例 5:使用維護時段目標 ID 註冊任務
下列
register-task-with-maintenance-window
範例會使用維護時段目標 ID 註冊任務。維護時段目標 ID 位於aws ssm register-target-with-maintenance-window
命令的輸出中。您也可以從aws ssm describe-maintenance-window-targets
命令的輸出中擷取它。aws ssm register-task-with-maintenance-window \ --targets
"Key=WindowTargetIds,Values=350d44e6-28cc-44e2-951f-4b2c9EXAMPLE"
\ --task-arn"AWS-RunShellScript"
\ --service-role-arn"arn:aws:iam::111222333444:role/MaintenanceWindowsRole"
\ --window-id"mw-ab12cd34eEXAMPLE"
\ --task-type"RUN_COMMAND"
\ --task-parameters "{\"commands\":{\"Values\":[\"df\"]}}" \ --max-concurrency1
\ --max-errors1
\ --priority10
輸出:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }
如需詳細資訊,請參閱 AWS Systems Manager 使用者指南中的使用維護時段 (AWS CLI) 註冊任務。
-
如需API詳細資訊,請參閱 命令參考 RegisterTaskWithMaintenanceWindow
中的 。 AWS CLI
-
- PowerShell
-
- 適用於 的工具 PowerShell
-
範例 1:此範例使用執行個體 ID 向維護時段註冊任務。輸出為任務 ID。
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) Register-SSMTaskWithMaintenanceWindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="InstanceIds";Values="i-0000293ffd8c57862" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters
輸出:
f34a2c47-ddfd-4c85-a88d-72366b69af1b
範例 2:此範例使用目標 ID 向維護時段註冊任務。輸出為任務 ID。
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) register-ssmtaskwithmaintenancewindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="WindowTargetIds";Values="350d44e6-28cc-44e2-951f-4b2c985838f6" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters
輸出:
f34a2c47-ddfd-4c85-a88d-72366b69af1b
範例 3:此範例會建立執行命令文件的參數物件,
AWS-RunPowerShellScript
並使用目標 ID 建立具有指定維護時段的任務。傳回輸出是任務 ID。$parameters = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new() $parameters.Add("commands",@("ipconfig","dir env:\computername")) $parameters.Add("executionTimeout",@(3600)) $props = @{ WindowId = "mw-0123e4cce56ff78ae" ServiceRoleArn = "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" MaxConcurrency = 1 MaxError = 1 TaskType = "RUN_COMMAND" TaskArn = "AWS-RunPowerShellScript" Target = @{Key="WindowTargetIds";Values="fe1234ea-56d7-890b-12f3-456b789bee0f"} Priority = 1 RunCommand_Parameter = $parameters Name = "set-via-cmdlet" } Register-SSMTaskWithMaintenanceWindow @props
輸出:
f1e2ef34-5678-12e3-456a-12334c5c6cbe
範例 4:此範例會使用名為 的文件來註冊 AWS Systems Manager Automation 任務
Create-Snapshots
。$automationParameters = @{} $automationParameters.Add( "instanceId", @("{{ TARGET_ID }}") ) $automationParameters.Add( "AutomationAssumeRole", @("{arn:aws:iam::111111111111:role/AutomationRole}") ) $automationParameters.Add( "SnapshotTimeout", @("PT20M") ) Register-SSMTaskWithMaintenanceWindow -WindowId mw-123EXAMPLE456` -ServiceRoleArn "arn:aws:iam::123456789012:role/MW-Role"` -MaxConcurrency 1 -MaxError 1 -TaskArn "CreateVolumeSnapshots"` -Target @{ Key="WindowTargetIds";Values="4b5acdf4-946c-4355-bd68-4329a43a5fd1" }` -TaskType "AUTOMATION"` -Priority 4` -Automation_DocumentVersion '$DEFAULT' -Automation_Parameter $automationParameters -Name "Create-Snapshots"
-
如需API詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考 RegisterTaskWithMaintenanceWindow中的 。
-