Condividi tramite


Utilizzo dello script RollAlternateserviceAccountCredential.ps1 in Shell

 

Si applica a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Ultima modifica dell'argomento: 2015-03-09

È possibile utilizzare lo script RollAlternateServiceAccountPassword.ps1 in Exchange Server 2010 Servici Pack 1 (SP1) per aggiornare una credenziale di account del servizio alternativo (credenziale ASA) e distribuire l'aggiornamento ai server Accesso client specificati.

Nota

Exchange Management Shell non carica automaticamente gli script. È necessario anteporre a tutti gli script ".</STRONG>" Ad esempio, per eseguire lo script RollAlternateServiceAccountPassword.ps1, digitare .\RollAlternateServiceAccountPassword.ps1.

Nota

Questo script è disponibile solo in inglese.

Per ulteriori informazioni sull'utilizzo dell'autenticazione Kerberos con un array di server Accesso client o una soluzione di bilanciamento del carico, vedere Utilizzo di Kerberos con un array del server Accesso client o una soluzione con carico bilanciato e Configurazione dell'autenticazione Kerberos per i server Accesso client con bilanciamento del carico.

Per ulteriori informazioni su come utilizzare e scrivere gli script, vedere Scripting con Exchange Management Shell.

Sintassi

RollAlternateServiceAccountPassword.ps1 -Scope <Object> -Identity <Object> -Source <Object> 

Descrizione dettagliata

È necessario disporre delle autorizzazioni prima di poter eseguire questa procedura. Per visualizzare quali autorizzazioni sono necessarie, vedere "Sicurezza accesso client" nell'argomento Autorizzazioni accesso client.

Dettagli tecnici dello script di credenziali di account del servizio alternativo

Questo script facilita l'installazione e la manutenzione della credenziale ASA. Una volta creata la credenziale ASA e impostati gli SPN, è possibile utilizzare lo script per distribuire la credenziale a tutti i server Accesso client contrassegnati.

Per utilizzare lo script, è necessario identificare i server che si desidera selezionare come destinazione e la credenziale che si desidera utilizzare come credenziale ASA.

Ambito server

È possibile scegliere di impostare lo script come destinazione di tutti i server Accesso client all'interno della foresta, di tutti i membri di un determinato array del server Accesso client o di determinati server. I parametri disponibili sono ToEntireForest, ToArraryMembers e ToSpecificServers. Se lo script viene impostato come destinazione per determinati server o per i membri di un determinato array di server, è necessario specificare il parametro Identity con i server o i nomi dell'array che si desidera selezionare come destinazione.

Origine credenziali

Lo script può copiare la password dell'account di servizio alternativo da un server esistente. Oppure, è possibile specificare l'account che si desidera utilizzare e lasciare che lo script generi una nuova password per l'account. I parametri disponibili sono GenerateNewPasswordFor e CopyFrom. Il parametro GenerateNewPasswordFor richiede la definizione di una stringa dell'account nel seguente formato: DOMINIO\Nome account. Se si utilizza un account computer, è necessario aggiungere "$" alla fine del nome dell'account (ad esempio, CONTOSO\ClientServerAcct$). Il parametro CopyFrom prende il nome di un server Accesso client esistente come origine della credenziale.

Generazione di una nuova password per una credenziale

La password viene creata dallo script. Non è richiesto alcun input dell'utente. Lo script tenterà di distribuire la password a tutti i computer di destinazione e, quindi, tenterà di aggiornare la credenziale dell'account di Active Directory con la password appena generata.

La password appena creata è composta da 73 caratteri e soddisferà i requisiti standard per una password complessa. Se i requisiti della password differiscono, potrebbe essere necessario impostare la password manualmente e, quindi, copiarla nei server di destinazione.

Per evitare un'interruzione del servizio, lo script esamina ciascun server Accesso client e mantiene la password corrente oltre ad aggiungere la nuova password. Una volta eseguito lo script, la credenziale ASA condivisa sarà in grado di utilizzare entrambe le password: la password corrente come archiviata in Active Directory o la nuova password che non è ancora stata impostata in Active Directory.

Tutte le password che non sono più valide, quale una password scaduta, verranno rimosse dai server di destinazione. Qualora non fosse possibile modificare la password in Active Directory, magari perché scaduta, lo script tenterà di ripristinare la password. Tale operazione richiederà che l'account che esegue lo script disponga delle autorizzazioni necessarie per ripristinare le password dell'account del computer Active Directory o le password dell'account utente, a seconda se l'account di servizio alternativo è un account del computer o un account utente.

Se la modifica delle password non riesce per tutti i server Accesso client, l'aggiornamento della password di Active Directory può causare un errore di autenticazione. Se lo script viene eseguito in modalità automatica, non aggiornerà la password Active Directory con la nuova password a meno che non vengano aggiornati tutti i server Accesso client di destinazione. Se lo script viene eseguito in modalità manuale, verrà richiesto se si desidera aggiornare la password in Active Directory.

Creazione di un'attività pianificata per automatizzare la manutenzione di password

Se si desidera che lo script crei un'attività pianificata per mantenere effettiva la password, utilizzare il parametro CreateScheduledTask. Tale parametro richiede una stringa per il nome dell'attività che si desidera creare.

Nota

Eseguire lo script e verificare che funzioni in modo corretto in modalità manuale prima di creare l'attività pianificata in modalità automatica.

Lo script crea un file .cmd nella cartella in cui si trova lo script. Quindi, crea un'attività per eseguire quel file .cmd ogni tre settimane. È possibile utilizzare la funzionalità Utilità di pianificazione di Windows per modificare l'attività pianificata; ad esempio, per impostarne l'esecuzione più o meno spesso. Per impostazione predefinita, l'attività verrà eseguita come utente attualmente connesso. Inoltre, lo script verrà eseguito solo quando l'utente è connesso al computer. Si consiglia di modificare l'attività pianificata in modo che venga eseguita indipendente dal fatto che l'utente sia connesso o meno. È anche possibile scegliere di eseguirla in un account differente, se tale account dispone delle autorizzazioni di Active Directory per ripristinare le password e del ruolo di Amministratore di Exchange a livello di organizzazione. Quando si crea un'attività pianificata, lo script verrà eseguito automaticamente.

Attività esterne all'ambito dello script

Lo script non gestirà gli SPN della credenziale ASA o permetterà all'utente di rimuovere un account di servizio alternativo da un server. Per rimuovere un account di servizio alternativo da un server, utilizzare il cmdlet Set-ClientAccessServer. Qualora fosse necessario rimuovere l'autenticazione Kerberos, vedere Utilizzo di Kerberos con un array del server Accesso client o una soluzione con carico bilanciato.

Risoluzione dei problemi relativi allo script

Si consiglia di eseguire lo script e di verificarne il corretto funzionamento in modalità manuale prima di creare l'attività pianificata in modalità automatica. Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi dello script RollAlternateServiceAccountCredential.ps1.

Convalida dello script

L'output dello script quando questo viene eseguito in modo interattivo con il flag -verbose dovrebbe indicare le operazioni dello script riuscite. Per confermare l'aggiornamento dei server Accesso client, è possibile verificare l'ultimo timestamp modificato nella credenziale ASA. Nell'esempio seguente, viene generato un elenco di server Accesso client e viene indicata l'ultima volta in cui è stato aggiornato l'account di servizio alternativo.

Get-ClientAccessServer -IncludeAlternateServiceAccountCredentialstatus |Fl Name, AlternateServiceAccountConfiguration

È anche possibile esaminare il registro eventi sul computer su cui viene eseguito lo script. Le voci del registro eventi per lo script si trovano nel registro eventi applicazioni e provengono dall'origine MSExchange Management Application.Nella tabella seguente, vengono elencati gli eventi registrati e il relativo significato.

ID eventi script e relative descrizioni

Evento Descrizione

14001

Inizio

14002

Operazione riuscita (informazioni)

14003

Operazione riuscita ma con avvisi.

Lo script ha riscontrato alcuni problemi ma è riuscito a risolverli oppure l'input dell'utente ha confermato che non erano necessari. Se lo script è in esecuzione in modalità interattiva, leggere l'output dello script per ulteriori informazioni sugli avvisi.

14004

Operazione non riuscita

Se lo script viene eseguito come un'attività pianificata, i relativi risultati vengono registrati nel server Exchange nella cartella Registrazione in una sottocartella denominata RollAlternateServiceAccountPassword.

È possibile utilizzare il registro per confermare che l'attività è riuscita.

Parametri

Parametro Obbligatorio Descrizione

ToEntireForest

Opzionale

Il parametro ToEntireForest indirizza lo script a tutti i server Accesso client della foresta.

ToArrayMembers

Facoltativo

Il parametro ToArrayMembers indirizza lo script a tutti i membri di un determinato array del server Accesso client.

Nota

Se si utilizza il parametro ToArrayMembers o il parametro ToSpecificServers, è necessario specificare i nomi dei server o i nomi dell'array di server utilizzando il parametro Identity.

ToSpecificServers

Facoltativo

Il parametro ToSpecificServers indirizza lo script a determinati server.

Nota

Se si utilizza il parametro ToArrayMembers o il parametro ToSpecificServers, è necessario specificare i nomi dei server o i nomi dell'array di server utilizzando il parametro Identity.

Identity

Obbligatorio

Il parametro Identity specifica il nome dell'array del server Accesso client o i nomi di server specifici utilizzati come destinazione.

GenerateNewPasswordFor<String>

Facoltativo

Il parametro GenerateNewPasswordFor indica che lo script dovrebbe generare una nuova password per la credenziale ASA. Il valore di stringa deve essere l'account ASA nel seguente formato: DOMINIO\Nome account. Se si utilizza un account del computer, è necessario aggiungere il carattere $ alla fine del nome account.

CopyFrom<String>

Facoltativo

Il parametro CopyFrom indica che la credenziale è copiata da un altro server Accesso client. Il valore di stringa specificato indica il nome del server Accesso client.

Mode

Facoltativo

L'opzione Mode indica se lo script viene eseguito in modalità manuale o automatica. La modalità automatica non richiede l'input dell'utente e seleziona automaticamente più opzioni moderate, quando necessario.

CreateScheduledTask<String>

Facoltativo

Il parametro CreateScheduledTask dice allo script di creare un'attività pianificata per eseguire l'aggiornamento della credenziale ASA. Il valore di stringa indica il nome dell'attività pianificata che verrà creata.

Nota

Tale script crea un file .cmd nella cartella in cui si trova lo script. L'attività pianificata eseguirà il file .cmd una volta ogni tre settimane. È possibile modificare l'attività direttamente in Utilità di pianificazione di Windows per modificare la frequenza dell'attività.

WhatIf

Facoltativo

Il parametro WhatIf consente al comando di simulare le azioni da intraprendere sull'oggetto. Utilizzando il parametro WhatIf, è possibile visualizzare le modifiche che verrebbero apportate, senza doverle applicare. Con il parametro WhatIf non è necessario specificare alcun valore.

Confirm

Facoltativo

L'opzione Confirm sospende l'elaborazione del comando in attesa che l'utente confermi l'operazione. Con l'opzione Confirm non è necessario specificare alcun valore.

Verbose

Facoltativo

Il parametro Verbose dice allo script di eseguire la registrazione dettagliata, in modo da consentire la scrittura di informazioni aggiuntive sulle azioni dello script nel file di registro.

Debug

Facoltativo

Il parametro Debug dice allo script di eseguire in modalità di debug. Questo parametro deve essere utilizzato per determinare il motivo per cui lo script non riesce.

Esempi

Esempio 1

In questo esempio, viene utilizzato lo script per inserire la credenziale per tutti i server Accesso client nella foresta per la prima installazione.

.\RollAlternateserviceAccountPassword.ps1 -ToEntireForest -GenerateNewPasswordFor "Contoso\ComputerAccount$" -Verbose

Esempio 2

In questo esempio, viene generata una nuova password per la credenziale ASA di un account utente che viene poi distribuita a tutti i membri degli array del server Accesso client il cui nome corrisponde a *cassetta postale*.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers *mailbox* -GenerateNewPasswordFor "Contoso\UserAccount" -Verbose

Esempio 3

In questo esempio, viene programmata un'attività mensile automatica pianificata, denominata "Exchange-RollAsa", per la modifica delle password. Tale attività aggiornerà la credenziale ASA per tutti i server Accesso client nell'intera foresta con una nuova password generata da script. Viene creata l'attività pianificata, ma non viene eseguito lo script. Quando viene eseguita l'attività pianificata, lo script viene eseguito in modalità automatica.

.\RollAlternateServiceAccountPassword.ps1 -CreateScheduledTask "Exchange-RollAsa" -ToEntireForest -GenerateNewPasswordFor 'contoso\computerAccount$'

Esempio 4

In questo esempio, viene aggiornata la credenziale ASA per tutti i server Accesso client nell'array di server Accesso client denominato CAS01. La credenziale viene ricavata dall'account computer ServiceAc1 di Active Directory nel dominio Contoso.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers "CAS01" -GenerateNewPasswordFor "CONTOSO\ServiceAc1$" 

Esempio 5

In questo esempio, viene descritto come utilizzare lo script per distribuire la credenziale ASA su un nuovo computer o su un computer rimesso in funzione, perché si stanno aumentando le dimensioni dell'array di server o perché si stanno introducendo di nuovo i membri dell'array dopo la manutenzione.

Affinché il server Accesso client riceva il traffico, è necessario aggiornare prima la credenziale ASA. Copiare la credenziale ASA condivisa da uno qualsiasi dei server Accesso client già configurato correttamente. Ad esempio, se il Server A dispone attualmente di un credenziale ASA funzionante e si è appena aggiunto il Server B all'array, è possibile utilizzare lo script per copiare la credenziale (inclusa la password) dal Server A nel Server B. Ciò è utile se il Server B era chiusi o non era ancora un membro dell'array al momento dell'ultima modifica della password.

.\RollAlternateServiceAccountPassword.ps1 -CopyFrom ServerA -ToSpecificServers ServerB -Verbose

 ©2010 Microsoft Corporation. Tutti i diritti riservati.