Il modo migliore per aggiungere chiavi e valori HKCU per tutti gli utenti esistenti e tutti i nuovi utenti?


11

Devo aggiungere chiavi e valori HKCU a tutte le macchine in un'unità organizzativa specifica, per tutti i profili utente esistenti e al profilo predefinito. Qual è il modo migliore per affrontare questo?

Potrei enumerare e scorrere tutti i NTUSER.DAT, caricando l'alveare, aggiungendo le chiavi e scaricando l'alveare, ma sembra un modo ingombrante per farlo.

Qualcuno ha un'idea migliore? Vorrei scrivere questo script (preferibilmente PowerShell) e inviare le modifiche, se possibile, ma anche gli script di accesso ai criteri di gruppo funzionerebbero.



Che ne dite di preferenze di criteri di gruppo?
Bill_Stewart,

Risposte:


13

Il mio metodo preferito è utilizzare la configurazione attiva. Ciò che fa è verificare quando un utente accede a una macchina se ha eseguito uno script o un comando particolare (come quello che si avrebbe) e, in caso contrario, eseguirlo. Quindi, eseguirai uno specifico script solo per un utente una volta sulla sua workstation. Ho trovato questo perfetto per scrivere su HKCU, perché non è necessario caricare ogni alveare e vengono modificati solo gli account a cui le persone accedono.

Non per auto-promozione, ma ho scritto un post sul blog per farlo. La soluzione di base è la seguente:

Aggiungi le seguenti voci di registro:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
  • Puoi scegliere qualsiasi ID univoco che desideri. I GUID vengono spesso utilizzati, ma è possibile utilizzare tutto ciò che sarà unico.
  • Version è il numero di versione che si desidera utilizzare.
  • Stubpathè il comando che verrà eseguito. Le chiamate MSI, EXE e VBS sembrano andare bene.
  • Il @è quello che dovrebbe essere visualizzato quando il comando è in esecuzione.

Con questa soluzione, il linguaggio di scripting è irrilevante. È possibile eseguire un file VBScript, Powershell, Batch. Qualunque cosa ti consenta di scrivere su HKCU come utente registrato. Anche l'utilizzo reg.exefunziona bene.

L'altro tocco finale facoltativo che potresti fare è caricare e modificare l'hive utente predefinito. Ciò imposterebbe il valore di registro per tutti i nuovi utenti che accedono per la prima volta a quel particolare sistema.


Sarò dannato, sembra perfetto. Non avevo mai sentito parlare di Active Setup prima. Test ora! Grazie.
Doug Chase,

Buona risposta anche da 20th Century Boy, ma Active Setup è la soluzione più semplice e affidabile secondo me. Puoi eseguire tutto ciò che è "eseguibile".
Stein Åsmul,

2
Come gestisce la scrittura su HKLM, specialmente quando l'utente non è un amministratore? Il tuo post sul blog potrebbe davvero usare un esempio, così come questo post.
Ian Boyd,

7

È possibile aggiungere chiavi reg personalizzate creando un file adm personalizzato e importandolo come modello nella sezione Modelli amministrativi di un oggetto Criteri di gruppo. Quindi collegare quell'oggetto Criteri di gruppo all'unità organizzativa. Ci sono documenti su MS su come farlo, oppure puoi guardare i file adm che già esistono sul server (credo che da qualche parte sotto Sysvol).

Questo processo si chiama "tatuare il registro" e significa che sei fuori dal controllo della rimozione dei criteri di gruppo, ovvero le voci del registro rimarranno anche se il criterio viene rimosso. Devi creare una chiave reg "invertita" e distribuirla (o semplicemente eliminarla).


Anche questa è una buona soluzione e scommetto che entrambe queste risposte funzionerebbero.
Doug Chase,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.