Condividi tramite


Utilizzo dello script RollAlternateserviceAccountCredential.ps1 nella shell

Si applica a: Exchange Server 2013

È possibile usare lo script RollAlternateServiceAccountPassword.ps1 in Exchange Server 2013 per aggiornare le credenziali di un account del servizio alternativo e distribuire l'aggiornamento ai server di Accesso client specificati.

Nota

Exchange Management Shell non carica automaticamente gli script. È necessario precedere tutti gli script con .\ Ad esempio, per eseguire lo script RollAlternateServiceAccountPassword.ps1, digitare .\RollAlternateServiceAccountPassword.ps1.

Questo script è disponibile solo in inglese.

Per altre informazioni su come usare e scrivere script, vedere Creazione di script con Exchange Management Shell.

Sintassi

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

Descrizione dettagliata

Devi disporre delle autorizzazioni per poter eseguire queste procedure. Per visualizzare le autorizzazioni necessarie, vedere la voce "Sicurezza accesso client" nell'argomento Autorizzazioni di accesso client.

Dettagli tecnici dello script credenziali dell'account del servizio alternativo

Questo script facilita la configurazione e la manutenzione delle credenziali asa. Dopo aver creato le credenziali asa e aver impostato i nomi dei principi di servizio appropriati, è possibile usare lo script per distribuire le credenziali a tutti i server accesso client di destinazione.

Per usare lo script, è necessario identificare i server di destinazione e le credenziali da usare come credenziali ASA.

Ambito server

È possibile scegliere di fare in modo che lo script sia destinato a tutti i server Accesso client nella foresta, a tutti i membri di una specifica matrice di server Accesso client o a server specifici. I parametri disponibili sono ToEntireForest, ToArraryMembers e ToSpecificServers. Se lo script è destinato a server specifici o a membri di una matrice di server specifica, è necessario specificare il parametro Identity con i server o i nomi di matrice di server di destinazione.

Origine credenziali

Lo script può copiare la password dell'account del servizio alternativo da un server esistente. In alternativa, è possibile specificare l'account che si vuole usare e consentire allo script di generare una nuova password per l'account. I parametri disponibili sono GenerateNewPasswordFor e CopyFrom. Il parametro GenerateNewPasswordFor richiede di specificare una stringa di account nel formato seguente: DOMINIO\Nome account. Se si usa un account computer, è necessario aggiungere "$" alla fine del nome dell'account, ad esempio CONTOSO\ClientServerAcct$. Il parametro CopyFrom accetta il nome di un server Accesso client esistente come origine delle credenziali.

Generazione di una nuova password per una credenziale

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

La password appena generata ha una lunghezza di 73 caratteri e soddisfa i requisiti standard per le password complesse. Se i requisiti della password sono diversi, potrebbe essere necessario impostare la password manualmente e quindi copiarla nei server di destinazione.

Per evitare interruzioni del servizio, lo script esamina ogni server Accesso client e mantiene la password corrente oltre ad aggiungere la nuova password. Dopo l'esecuzione dello script, le credenziali asa condivise potranno usare una delle due password: la password corrente archiviata in Active Directory o la nuova password non ancora impostata in Active Directory.

Tutte le password non più valide, ad esempio una password scaduta, verranno rimosse dai server di destinazione. Se la password in Active Directory non può essere modificata, ad esempio perché la password è scaduta, lo script tenterà di reimpostare la password. Ciò richiederà all'account che esegue lo script di avere le autorizzazioni per reimpostare le password dell'account computer Active Directory o le password dell'account utente, a seconda che l'account del servizio alternativo sia un account computer o un account utente.

Se le password non vengono modificate correttamente per tutti i server Accesso client di destinazione, 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 di Active Directory con la nuova password a meno che tutti i server accesso client di destinazione non siano stati aggiornati correttamente. Se lo script viene eseguito in modalità assistita, verrà chiesto se si vuole aggiornare la password in Active Directory.

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

Se si vuole che lo script crei un'attività pianificata per gestire la password in modo continuativo, usare il parametro CreateScheduledTask . Questo parametro richiede una stringa per il nome dell'attività che si vuole creare.

Nota

Eseguire lo script e verificare che funzioni correttamente in modalità assistita prima di creare l'attività pianificata automatica.

Lo script crea un file cmd nella cartella in cui si trova lo script. Viene quindi creata un'attività per eseguire il file con estensione cmd ogni tre settimane. È possibile usare Utilità di pianificazione di Windows per modificare l'attività pianificata, ad esempio per impostarla per 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. È consigliabile modificare l'attività pianificata in modo che venga eseguita indipendentemente dal fatto che l'utente sia connesso o meno. È anche possibile scegliere di eseguirlo con un account diverso, se tale account dispone delle autorizzazioni di Active Directory per reimpostare le password e il ruolo di amministratore di Exchange Enterprise. Quando si crea un'attività pianificata, lo script verrà eseguito automaticamente in modalità automatica.

Attività fuori ambito dello script

Lo script non gestirà i nomi SPN delle credenziali ASA né consentirà di rimuovere un account del servizio alternativo da un server. Per rimuovere un account di servizio alternativo da un server, vedere la sezione Disattivare l'autenticazione Kerberos in Configurazione dell'autenticazione Kerberos per i server accesso client con carico bilanciato.

Risoluzione dei problemi relativi allo script

È consigliabile eseguire lo script e verificare che funzioni correttamente in modalità assistita prima di creare l'attività pianificata automatica. Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi allo script RollAlternateServiceAccountCredential.ps1.

Convalida dello script

L'output dello script quando viene eseguito in modo interattivo con il flag -verbose deve indicare quali operazioni di script hanno avuto esito positivo. Per verificare che i server Accesso client siano stati aggiornati, è possibile verificare l'ultimo timestamp modificato nelle credenziali asa. L'esempio seguente genera un elenco di server Accesso client e l'ultima volta che l'account del servizio alternativo è stato aggiornato.

Get-ClientAccessServer -IncludeAlternateServiceAccountCredentialstatus |Fl Name, AlternateServiceAccountConfiguration

È anche possibile esaminare il registro eventi nel computer in cui viene eseguito lo script. Le voci del registro eventi per lo script si trovano nel registro eventi dell'applicazione e provengono dall'applicazione di gestione MSExchange di origine. Nella tabella seguente sono elencati gli eventi registrati e il significato degli eventi.

ID evento script e relative spiegazioni

Evento Spiegazione
14001 Avvia
14002 Operazione riuscita (informazioni)
14003 Operazione riuscita ma con avvisi.

Lo script ha riscontrato alcuni problemi, ma è stato in grado di superarli o l'input dell'utente ha confermato che non erano necessari. Se lo script è in esecuzione in modalità interattiva, leggere l'output dello script per altri dettagli di avviso.
14004 Esito negativo

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

È possibile usare il log per verificare che l'attività sia stata eseguita correttamente.

Parametri

Parametro Obbligatorio Descrizione
ToEntireForest Facoltativo Il parametro ToEntireForest è destinato allo script a tutti i server Accesso client nella foresta.
ToArrayMembers Facoltativo Il parametro ToArrayMembers è destinato allo script a tutti i membri di una matrice di server Accesso client specifica.

Nota: se si usa il parametro ToArrayMembers o il parametro ToSpecificServers , è necessario specificare i nomi dei server o i nomi della matrice di server usando il parametro Identity .
ToSpecificServers Facoltativo Il parametro ToSpecificServers è destinato allo script a server specifici.

Nota: se si usa il parametro ToArrayMembers o il parametro ToSpecificServers , è necessario specificare i nomi dei server o i nomi della matrice di server usando il parametro Identity .
Identità Obbligatorio Il parametro Identity consente di specificare il nome della matrice del server Accesso client o i nomi dei server specifici di destinazione.
GenerateNewPasswordFor<String> Facoltativo Il parametro GenerateNewPasswordFor specifica che lo script deve generare una nuova password per l'asa. Il valore stringa deve essere l'account ASA nel formato seguente: DOMINIO\Nome account. Se si usa un account computer, è necessario aggiungere il carattere $ alla fine del nome dell'account.
CopyFrom<String> Facoltativo Il parametro CopyFrom specifica che le credenziali vengono copiate da un altro server Accesso client. Il valore stringa specificato è il nome del server Accesso client.
Mode Facoltativo L'opzione Mode specifica se lo script viene eseguito in modalità assistita o automatica. La modalità automatica non richiede l'input dell'utente e sceglie automaticamente opzioni più conservatrici, se necessario.
CreateScheduledTask<String> Facoltativo Il parametro CreateScheduledTask indica allo script di creare un'attività pianificata per eseguire l'aggiornamento delle credenziali asa. Il valore stringa è il nome dell'attività pianificata che verrà creata.

Nota: questo 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 L'opzione WhatIf indica al comando di simulare le azioni che eseguirebbe sull'oggetto. Usando l'opzione WhatIf , è possibile visualizzare le modifiche che si verificherebbero senza dover applicare alcuna di queste modifiche. Non è necessario specificare un valore con l'opzione WhatIf .
Conferma Facoltativo L'opzione Conferma determina la sospensione dell'elaborazione del comando e richiede di confermare le operazioni eseguite dal comando prima che l'elaborazione continui. Non è necessario specificare un valore con l'opzione Conferma .
Verbose Facoltativo Il parametro Verbose indica allo script di eseguire la registrazione dettagliata, in modo che le informazioni aggiuntive sulle azioni dello script siano scritte nel file di log.
Debug Facoltativo Il parametro Debug indica allo script di essere eseguito in modalità di debug. Questo parametro deve essere usato per determinare il motivo per cui lo script ha esito negativo.

Esempi

Esempio 1

In questo esempio viene usato lo script per eseguire il push delle credenziali in tutti i server Accesso client nella foresta per la prima installazione.

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

Esempio 2

Questo esempio genera una nuova password per una credenziale ASA dell'account utente e distribuisce la password a tutti i membri delle matrici del server Accesso client in cui il nome corrisponde a *mailbox*.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers _mailbox_ -GenerateNewPasswordFor "Contoso\UserAccount" -Verbose

Esempio 3

In questo esempio viene pianificata un'attività pianificata per il rollback automatico delle password una volta al mese denominata "Exchange-RollAsa". Aggiornerà le credenziali asa per tutti i server Accesso client nell'intera foresta con una nuova password generata da script. L'attività pianificata viene creata, ma lo script non viene eseguito. 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 vengono aggiornate le credenziali ASA per tutti i server Accesso client nella matrice di server Accesso client denominata CAS01. Ottiene le credenziali dall'account computer Di Active Directory ServiceAc1 nel dominio Contoso.

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

Esempio 5

In questo esempio viene illustrato come usare lo script per distribuire l'asa a un nuovo computer o a un computer che viene reinserto nel servizio perché si stanno aumentando le dimensioni dell'array di server o perché si stanno reinserendo i membri della matrice dopo la manutenzione.

È necessario aggiornare le credenziali asa prima che il server Accesso client riceva il traffico. Copiare le credenziali ASA condivise da qualsiasi server Accesso client già configurato correttamente. Ad esempio, se il server A ha attualmente una credenziale ASA funzionante e il server B è appena stato aggiunto alla matrice, è possibile usare lo script per copiare le credenziali (inclusa la password) dal server A al server B. Ciò è utile se il server B era inattivo o non era ancora un membro della matrice quando è stato eseguito il rollback della password l'ultima volta.

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