Procedura dettagliata: utilizzare con AWS Tools for Windows PowerShellRun Command - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Procedura dettagliata: utilizzare con AWS Tools for Windows PowerShellRun Command

Negli esempi seguenti viene illustrato come usare AWS Tools for Windows PowerShell per visualizzare informazioni sui comandi e sui parametri dei comandi, come eseguire comandi e come visualizzare lo stato di tali comandi. Questa procedura guidata include un esempio per ognuno dei documenti AWS Systems Manager predefiniti.

Importante

Solo gli amministratori fidati dovrebbero essere autorizzati a usare i documenti Systems Manager preconfigurati mostrati in questo argomento. I comandi o gli script specificati nei documenti Systems Manager vengono eseguiti con privilegi amministrativi sui nodi gestiti. Se un utente è autorizzato a eseguire uno dei documenti Systems Manager predefiniti (qualsiasi documento che inizia con AWS), lo stesso utente avrà anche accesso al nodo come amministratore. Per tutti gli altri utenti, è consigliabile creare documenti restrittivi e condividerli con utenti specifici.

Configura le impostazioni AWS Tools for Windows PowerShell della sessione

Specificare le credenziali

Aprire Tools for Windows nel PowerShell computer locale ed eseguire questo comando per specificare le credenziali. Devi disporre dei privilegi di amministratore sui nodi gestiti da configurare oppure delle autorizzazioni appropriate in AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta Configurazione di nodi gestiti per AWS Systems Manager.

Set-AWSCredentials –AccessKey key-name –SecretKey key-name
Imposta un valore predefinito Regione AWS

Eseguire il comando seguente per impostare la regione per la PowerShell sessione. L'esempio utilizza la regione Stati Uniti orientali (Ohio) (us-east-2). Run Command è disponibile negli endpoint del servizio Systems Manager Regioni AWS elencati in. Riferimenti generali di Amazon Web Services

Set-DefaultAWSRegion ` -Region us-east-2

Creare un elenco di tutti i documenti disponibili

Questo comando elenca tutti i documenti disponibili per il tuo account:

Get-SSMDocumentList

Esegue PowerShell comandi o script

Utilizzo Run Command e il AWS-RunPowerShell documento, è possibile eseguire qualsiasi comando o script su un nodo gestito come se fossi connesso localmente. Puoi inviare comandi o digitare il percorso di uno script locale per eseguire il comando.

Nota

Per informazioni sul riavvio dei nodi gestiti durante l'utilizzo Run Command per richiamare gli script, vedere. Gestione di riavvii durante l'esecuzione dei comandi

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript" | Select -ExpandProperty Parameters

Invia comandi utilizzando il documento AWS-RunPowerShellScript

Il comando seguente mostra il contenuto della directory "C:\Users" e il contenuto della directory "C:\" su due nodi gestiti.

$runPSCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1", "instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'=@('dir C:\Users', 'dir C:\')}
Ottenere i dettagli della richiesta del comando

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando su entrambi i nodi gestiti. Questo esempio usa CommandId restituito nel comando precedente.

Get-SSMCommand ` -CommandId $runPSCommand.CommandId

Lo stato del comando in questo esempio può essere Success, Pending o. InProgress

Ottenere informazioni sul comando per nodo gestito

Il comando seguente usa CommandId del comando precedente per ottenere lo stato di esecuzione del comando per singoli nodi gestiti.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId
Ottenere informazioni sul comando con i dati di risposta per un nodo gestito specifico

Il comando seguente restituisce l'output del comando Send-SSMCommand originale per un nodo gestito specifico.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Annullare un comando

Il comando seguente annulla Send-SSMCommand per il documento AWS-RunPowerShellScript.

$cancelCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1","instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'='Start-Sleep –Seconds 120; dir C:\'} Stop-SSMCommand -CommandId $cancelCommand.CommandId
Controllare lo stato del comando

Il comando seguente controlla lo stato del comando Cancel

Get-SSMCommand ` -CommandId $cancelCommand.CommandId

Installare un'applicazione usandoAWS-InstallApplicationdocumento

Utilizzo Run Command e il AWS-InstallApplication documento, è possibile installare, riparare o disinstallare applicazioni su nodi gestiti. Il comando richiede il percorso o l'indirizzo di unMSI.

Nota

Per informazioni sul riavvio dei nodi gestiti durante l'utilizzo Run Command per richiamare gli script, vedere. Gestione di riavvii durante l'esecuzione dei comandi

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication" | Select -ExpandProperty Parameters

Invia comandi utilizzando il documento AWS-InstallApplication

Il comando seguente installa una versione di Python nel nodo gestito in modalità automatica e registra l'output in un file di testo locale nell'unità C:.

$installAppCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallApplication" ` -Parameter @{'source'='https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi'; 'parameters'='/norestart /quiet /log c:\pythoninstall.txt'}
Ottenere informazioni sul comando per nodo gestito

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando.

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true
Ottenere informazioni sul comando con i dati di risposta per un nodo gestito specifico

Il comando seguente restituisce i risultati dell'installazione di Python.

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Installa un PowerShell modulo usando il documento AWS-InstallPowerShellModule JSON

È possibile utilizzare… Run Command per installare PowerShell moduli su nodi gestiti. Per ulteriori informazioni sui PowerShell moduli, consulta PowerShell Moduli di Windows.

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule" | Select -ExpandProperty Parameters

Installa un PowerShell modulo

Il comando seguente scarica il file EZOut con estensione zip, lo installa e quindi esegue un comando aggiuntivo per installare XPS il visualizzatore. Infine, l'output di questo comando viene caricato in un bucket S3 denominato «amzn-s3-demo-bucket».

$installPSCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallPowerShellModule" ` -Parameter @{'source'='https://gallery.technet.microsoft.com/EZOut-33ae0fb7/file/110351/1/EZOut.zip';'commands'=@('Add-WindowsFeature -name XPS-Viewer -restart')} ` -OutputS3BucketName amzn-s3-demo-bucket
Ottenere informazioni sul comando per nodo gestito

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando.

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true
Ottenere informazioni sul comando con i dati di risposta per il nodo gestito

Il comando seguente restituisce l'output del comando Send-SSMCommand originale per il CommandId specifico.

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Aggiungere un nodo gestito a un dominio usando il AWS-JoinDirectoryServiceDomain JSON documento

Utilizzo Run Command, è possibile aggiungere rapidamente un nodo gestito a un AWS Directory Service dominio. Prima di eseguire il comando, è necessario creare una directory. Ti consigliamo anche di consultare AWS Directory Service. Per ulteriori informazioni, consulta la Guida di amministrazione di AWS Directory Service.

Al momento è possibile solo aggiungere un nodo gestito a un dominio. Non è possibile rimuovere un nodo gestito da un dominio.

Nota

Per informazioni sui nodi gestiti durante l'utilizzo Run Command per richiamare gli script, vedereGestione di riavvii durante l'esecuzione dei comandi.

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain" | Select -ExpandProperty Parameters

Unisci un nodo gestito a un dominio

Il comando seguente unisce un nodo gestito al dato AWS Directory Service e carica qualsiasi output generato nel bucket Amazon Simple Storage Service (Amazon S3) di esempio.

$domainJoinCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-JoinDirectoryServiceDomain" ` -Parameter @{'directoryId'='d-example01'; 'directoryName'='ssm.example.com'; 'dnsIpAddresses'=@('192.168.10.195', '192.168.20.97')} ` -OutputS3BucketName amzn-s3-demo-bucket
Ottenere informazioni sul comando per nodo gestito

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando.

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true
Ottenere informazioni sul comando con i dati di risposta per il nodo gestito

Questo comando restituisce l'output dell'originale Send-SSMCommand per lo specifico CommandId.

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Inviare i parametri di Windows ad Amazon CloudWatch Logs utilizzando il documento AWS-ConfigureCloudWatch

Puoi inviare Windows Server messaggi nei log di applicazione, sistema, sicurezza ed Event Tracing for Windows (ETW) su Amazon CloudWatch Logs. Quando abiliti la registrazione per la prima volta, invia tutti i log generati entro 1 minuto dal momento in cui inizi il caricamento per i log applicazioni, di sistema, di sicurezza e di log. ETW I log precedenti a questo intervallo non sono inclusi. Se disabiliti la registrazione e la riattiva in seguito, Systems Manager invia i log dal momento che è stata interrotta. Per tutti i file di log personalizzati e log Internet Information Services (IIS), Systems Manager legge i file di log dall'inizio. Systems Manager può anche inviare i dati dei contatori delle prestazioni ai CloudWatch log.

Se in precedenza è stata attivata CloudWatch l'integrazione inEC2Config, le impostazioni di Systems Manager hanno la precedenza su tutte le impostazioni memorizzate localmente nel nodo gestito del C:\Program Files\Amazon\EC2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json file. Per ulteriori informazioni sull'uso EC2Config per gestire le unità di conteggio delle prestazioni, consulta Raccolta di parametri e log da istanze EC2 Amazon e da server On-Premises con l' CloudWatch agente nella Guida per l'utente di Amazon. CloudWatch

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch" | Select -ExpandProperty Parameters

Invia i log delle applicazioni a CloudWatch

Il comando seguente configura il nodo gestito e sposta i log applicazioni Windows in. CloudWatch

$cloudWatchCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"ApplicationEventLog", "FullName":"AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"LogName":"Application", "Levels":"7"}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters":{"Region":"region", "LogGroup":"my-log-group", "LogStream":"instance-id"}}], "Flows":{"Flows":["ApplicationEventLog,CloudWatch"]}}}'}
Ottenere informazioni sul comando per nodo gestito

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando.

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true
Ottenere informazioni sul comando con i dati di risposta per un nodo gestito specifico

Il comando seguente restituisce i risultati della CloudWatch configurazione di Amazon.

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Invia i contatori delle prestazioni all' CloudWatch utilizzo del documento AWS-ConfigureCloudWatch

Il seguente comando dimostrativo carica i contatori delle prestazioni su. CloudWatch Per maggiori informazioni, consulta la Guida per CloudWatch l'utente di Amazon.

$cloudWatchMetricsCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"PerformanceCounter", "FullName":"AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"CategoryName":"Memory", "CounterName":"Available MBytes", "InstanceName":"", "MetricName":"AvailableMemory", "Unit":"Megabytes","DimensionName":"", "DimensionValue":""}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"AccessKey":"", "SecretKey":"","Region":"region", "NameSpace":"Windows-Default"}}], "Flows":{"Flows":["PerformanceCounter,CloudWatch"]}}}'}

Aggiorna EC2Config utilizzando il AWS-UpdateEC2Config documento

Utilizzo Run Command e il AWS-EC2ConfigUpdate documento, puoi aggiornare il EC2Config servizio in esecuzione sul tuo Windows Server nodi gestiti. Questo comando può aggiornare il EC2Config servizio alla versione più recente o a una versione specificata dall'utente.

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config" | Select -ExpandProperty Parameters

Esegui l'aggiornamento EC2Config alla versione più recente

$ec2ConfigCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config"
Ottenere informazioni sul comando con i dati di risposta per il nodo gestito

Questo comando restituisce l'output del comando specificato dal Send-SSMCommand precedente.

Get-SSMCommandInvocation ` -CommandId $ec2ConfigCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Aggiornamento EC2Config a una versione specifica

Il comando seguente esegue il downgrade EC2Config a una versione precedente.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config" ` -Parameter @{'version'='4.9.3519'; 'allowDowngrade'='true'}

Attivare o disattivare l'aggiornamento automatico di Windows utilizzando ilAWS-ConfigureWindowsUpdatedocumento

Utilizzo Run Command e il AWS-ConfigureWindowsUpdate documento, puoi abilitare o disabilitare gli aggiornamenti automatici di Windows sul Windows Server nodi gestiti. Questo comando configura l'agente di aggiornamento di Windows in modo da scaricare e installare gli aggiornamenti di Windows nel giorno e all'ora specificati. Se un aggiornamento richiede il riavvio, il nodo gestito si riavvia automaticamente 15 minuti dopo l'installazione degli aggiornamenti. Con questo comando puoi anche configurare Windows Update in modo da controllare la disponibilità di aggiornamenti senza installarli. Il documento AWS-ConfigureWindowsUpdate è compatibile con Windows Server 2008, 2008 R2, 2012, 2012 R2 e 2016.

Visualizzare la descrizione e i parametri disponibili

Get-SSMDocumentDescription ` –Name "AWS-ConfigureWindowsUpdate"

Visualizzare ulteriori informazioni sui parametri

Get-SSMDocumentDescription ` -Name "AWS-ConfigureWindowsUpdate" | Select -ExpandProperty Parameters

Attivare l'aggiornamento automatico di Windows

Il comando seguente configura Windows Update in modo da scaricare e installare automaticamente gli aggiornamenti ogni giorno alle 10:00.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='InstallUpdatesAutomatically'; 'scheduledInstallDay'='Daily'; 'scheduledInstallTime'='22:00'}
Visualizzare lo stato del comando per abilitare l'aggiornamento automatico di Windows

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando e abilitare l'aggiornamento automatico di Windows.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Disabilitare l'aggiornamento automatico di Windows

Il comando seguente riduce il livello della notifica di Windows Update in modo che il sistema verifichi la disponibilità di aggiornamenti senza aggiornare automaticamente il nodo gestito.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='NeverCheckForUpdates'}
Visualizzare lo stato del comando per disabilitare l'aggiornamento automatico di Windows

Il comando seguente usa CommandId per ottenere lo stato di esecuzione del comando e abilitare l'aggiornamento automatico di Windows.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Gestisci gli aggiornamenti di Windows utilizzando Run Command

Utilizzo Run Command e il AWS-InstallWindowsUpdates documento, puoi gestire gli aggiornamenti per Windows Server nodi gestiti. Questo comando analizza o installa gli aggiornamenti mancanti sui nodi gestiti e, facoltativamente, si riavvia dopo l'installazione. Puoi anche specificare le classificazioni e i livelli di gravità appropriati per gli aggiornamenti da installare nell'ambiente.

Nota

Per informazioni sul riavvio dei nodi gestiti durante l'utilizzo Run Command per richiamare gli script, vedere. Gestione di riavvii durante l'esecuzione dei comandi

Gli esempi seguenti dimostrano come eseguire le attività di gestione di Windows Update specificate.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Scan'}

Installare specifici aggiornamenti di Windows

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'IncludeKbs'='kb-ID-1,kb-ID-2,kb-ID-3';'AllowReboot'='True'}

Installare importanti aggiornamenti di Windows mancanti

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'SeverityLevels'='Important';'AllowReboot'='True'}

Installare gli aggiornamenti di Windows mancanti con specifiche esclusioni

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'ExcludeKbs'='kb-ID-1,kb-ID-2';'AllowReboot'='True'}