Des variables d'environnement sont-elles disponibles pour les scripts de démarrage au niveau du système dans Windows?

0

Je prévois d'exécuter un script de démarrage du système à partir de la stratégie de groupe. Les scripts de démarrage système définis dans le noeud Configuration de l'ordinateur -> Paramètres Windows -> Scripts (démarrage / arrêt) diffèrent des scripts d'ouverture de session en ce qu'ils s'exécutent avec les informations d'identification du compte LocalSystem et sont traités avant l'exécution de WinLogon (qui permet à un utilisateur de se connecter au poste de travail). ).

Je veux que le script soit situé dans% ProgramFiles%, qui est une variable d'environnement qui pointe généralement (mais pas toujours) vers C: \ Program Files.

Puis-je compter sur la disponibilité de cette variable, étant donné que WinLogon n'a pas encore été exécuté?

Pour être clair, c'est ici que le script est défini:

Scripts de démarrage du système

Wes Sayeed
la source
La question qui se pose est donc la suivante: «Les variables d’environnement sont-elles développées dans ce cas d’utilisation?», Car aucune règle ne dit que vous pouvez utiliser des variables d’environnement partout .
Daniel B
@EMK; Merci beaucoup pour l'info. Si vous souhaitez poster cela comme réponse plutôt que comme commentaire, je peux l'accepter et vous remercier :-)
Wes Sayeed
J'ai mis la réponse et fourni un peu de formatage.
HelpingHand

Réponses:

0

Pour voir cela en action, vous pouvez capturer une trace de démarrage de Process Monitor ('Options' -> 'Activer la journalisation de démarrage').

Pour réduire les événements capturés, vous pouvez:

  • Ajouter un filtre pour l'opération 'Process Start';
  • sélectionnez "Supprimer les événements filtrés" dans le menu "Filtre" pour alléger la charge.

Après avoir redémarré et enregistré le fichier .PML. vous pouvez voir dans l'onglet "Evénement" d'un événement "Démarrage du processus", les variables d'environnement du processus.

"Par défaut, un processus enfant hérite des variables d'environnement de son processus parent."

Vous disposez de l’arborescence de processus suivante ("Outils" - "Arborescence de processus") pour lancer votre fichier de traitement par lots:

|-->Wininit.exe
|---->services.exe
|------>svchost.exe  (C:\WINDOWS\system32\svchost.exe -k GPSvcGroup)
|-------->gpscript.exe
|---------->cmd.exe  (C:\windows\system32\cmd.exe /c "C:\program files\script.bat")

http://imgur.com/a/5PYI4

Coup de main
la source