2009-07-30 13:20:35 +0000 2009-07-30 13:20:35 +0000
27
27

Eseguire automaticamente uno script quando accedo a Windows

Come posso eseguire automaticamente uno script quando accedo a Windows?

Mi piacerebbe eseguire qualcosa del genere ogni volta che accedo al mio computer:

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

Un bonus sarebbe quello di poter eseguire lo stesso script ogni volta che sblocco lo screen saver.

Risposte (6)

22
22
22
2009-07-30 13:36:28 +0000

Se hai già uno script:

Per assegnare uno script di accesso a un utente o gruppo

  • Aprire Gestione computer.
  • Nella struttura della console, fai clic su Utenti.

Dove? Strumenti di sistema/Utenti e gruppi locali/Utenti

  • Fare doppio clic sull'utente a cui si desidera assegnare uno script di accesso.
  • Fare clic sulla scheda Profilo.
  • Nel campo dello script di logon, inserisci il percorso e il nome dello script di logon che vuoi assegnare a quell'utente, e poi clicca su OK. Altrimenti ecco un pratico “HowTo” di Microsoft

Creazione di script di accesso

Puoi usare gli script di accesso per assegnare i compiti che verranno eseguiti quando un utente si collega a un particolare computer. Gli script possono eseguire comandi del sistema operativo, impostare variabili d'ambiente del sistema e chiamare altri script o programmi eseguibili. La famiglia Windows Server 2003 supporta due ambienti di scripting: il processore di comandi esegue file contenenti comandi del linguaggio batch, e Windows Script Host (WSH) esegue file contenenti comandi Microsoft Visual Basic Scripting Edition (VBScript) o Jscript. Puoi usare un editor di testo per creare script di accesso. Alcuni compiti comunemente eseguiti dagli script di accesso includono:

  • Mappatura delle unità di rete.
  • Installazione e impostazione della stampante predefinita di un utente.
  • Raccolta di informazioni sul sistema del computer.
  • Aggiornamento delle firme dei virus.
  • Aggiornamento del software.
  • Il seguente esempio di script di accesso contiene comandi VBScript che utilizzano Active Directory
  • Service Interfaces (ADSI) per eseguire tre attività comuni in base all'appartenenza di un utente al gruppo:

Mappa l'unità H: alla home directory dell'utente chiamando il metodo MapNetworkDrive dell'oggetto WSH Network in combinazione con la proprietà UserName dell'oggetto WSH Network. Utilizza l'oggetto ADSI IADsADSystemInfo per ottenere il nome distinto dell'utente corrente, che a sua volta viene utilizzato per connettersi all'oggetto utente corrispondente in Active Directory. Una volta stabilita la connessione, la lista dei gruppi di cui l'utente è membro viene recuperata usando l'attributo memberOf dell'utente. L'elenco dei nomi dei gruppi a più valori viene unito in una singola stringa utilizzando la funzione Join di VBScript per facilitare la ricerca dei nomi dei gruppi di destinazione.

Se l'utente corrente è membro di uno dei tre gruppi definiti all'inizio dello script, allora lo script mappa l'unità G: dell'utente nell'unità condivisa del gruppo e imposta la stampante predefinita dell'utente come stampante del gruppo. Per creare un esempio di script di accesso

  • Apri il Blocco note.
  • Copia e incolla, o scrivi, quanto segue:

  • Nel menu File, fai clic su Salva con nome.

  • In Salva in, fai clic sulla directory che corrisponde alla cartella condivisa Netlogon del controller di dominio (solitamente SystemRoot\SYSVOL\Sysvol\DomainName\Scripts dove DomainName è il nome di dominio pienamente qualificato del dominio).

  • In Save as type, clicca su All Files.

  • In Nome del file, digitare un nome di file, seguito da .vbs, e quindi fare clic su Salva. WSH utilizza l'estensione .vbs per identificare i file che contengono comandi VBScript.

19
19
19
2014-08-15 22:12:37 +0000

Puoi creare un'attività pianificata che verrà eseguita quando il computer è sbloccato:

  1. Start > Strumenti di amministrazione > Utilità di pianificazione
  2. pannello di sinistra: seleziona Libreria di pianificazione delle attività
  3. pannello di destra: fai clic su Crea attività… (NOTA: questo è l'unico modo per ottenere il trigger corretto)
  4. nella finestra di dialogo Create Task:
  5. scheda Generale – dai un nome al tuo compito
  6. scheda Triggers – fai clic su New… e seleziona On workstation unlock
  7. scheda Action – fai clic su New… e clicca su Browse… per individuare il tuo script
  8. scheda Conditions – deseleziona Start the task only if the computer is on AC power

Inoltre, ho modificato il percorso nello script per leggere

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
14
14
14
2009-07-30 13:21:37 +0000

Il modo più semplice che mi viene in mente sarebbe quello di metterlo in un file .bat nella tua cartella di avvio.

Un modo più complicato sarebbe quello di aggiungere il file batch al registro di sistema nella chiave di registro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

.

2
2
2
2009-07-30 13:37:08 +0000

Un buon metodo alternativo è quello di creare un file batch con i comandi che volete eseguire. Poi specificherete nell'editor di policy sulla macchina che esegue uno script di login come parte del processo di login. Una nota veloce è che questa opzione è disponibile solo su XP Pro e non sulla versione domestica. Tutorial sull'editor dei criteri di gruppo qui

2
2
2
2010-05-14 12:50:45 +0000

Qualcuno sa se questo può essere usato per funzionare anche quando lo schermo è bloccato/sbloccato?

C'è un modo per Windows 7 e/o Windows Server 2008.

Usate Task Scheduler, create un nuovo task di base, come Trigger usate “When I log on”.

2
2
2
2015-01-06 09:53:34 +0000

Non c'è bisogno! Windows ha già un meccanismo per registrare questo per voi nel registro eventi. L'ID dell'evento è 4624 (528 sui sistemi pre-Vista).