0

J'ai réussi à créer par programme le script Powershell de démarrage pour Windows 10 Pro et à le placer dans la stratégie de groupe locale (voir ci-dessous un script powershell utilisé pour la création du script de démarrage). Juste pour réitérer: J'utilise la stratégie de groupe locale et mon ordinateur n'est pas joint à Active Directory

Le script de démarrage enregistre son exécution dans le journal des événements et tout se passe parfaitement comme je vois les événements appropriés dans le journal.

Problème

Lorsque j'ouvre l'éditeur de stratégie de groupe local ( gpedit.msc ) et regarde dans les scripts de démarrage de l'ordinateur, aucun script n'est enregistré comme sur la capture d'écran:

Le script lui-même est correctement placé dans le répertoire des scripts de stratégie de groupe:

 entrez la description de l'image ici


Script Powershell utilisé pour la création du script de démarrage de la machine dans la stratégie de groupe locale

 : systemRoot  System32  GroupPolicy  Machine  Scripts  Startup "
if (-not (Chemin-Test $ chemin)) {
    New-Item -path $ path -itemType Répertoire
}
'Write-EventLog -LogName xxx -source Scripts -EntryType Information -EventId 2 -Message "Exécute le script de démarrage de la machine: $ psCommandPath"' |
    Out-File -filePath "$ path  AllUsersStartup.ps1" -codage ascii

# Ajouter un script à la stratégie de groupe via le registre
'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  Scripts  Startup  0  0',
'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  État  Machine  Scripts  Startup  0  0' |
  ForEach-Object {
    if (-not (Chemin-test $ _)) {
        New-Item -path $ _ -force
    }
  }

'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  Scripts  Startup  0',
'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  State  Machine  Scripts  Startup  0' |
  ForEach-Object {
    New-ItemProperty -path "$ _" -name DisplayName -propertyType String -value "Stratégie de groupe locale"
    New-ItemProperty -path "$ _" -name FileSysPath -propertyType Chaîne -valeur "$ ENV: systemRoot  System32  GroupPolicy  Machine"
    New-ItemProperty -path "$ _" -name ID de GPO -propertyType String -value "LocalGPO"
    New-ItemProperty -path "$ _" -name GPOName -propertyType String -value "Stratégie de groupe locale"
    New-ItemProperty -path "$ _" -name PSScriptOrder -propertyType DWord -value 2
    New-ItemProperty -path "$ _" -name SOM-ID -propertyType String -valeur "Local"
  }
'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  Scripts  Startup  0  0',
'HKLM:  SOFTWARE  Microsoft  Windows  CurrentVersion  Stratégie de groupe  État  Machine  Scripts  Startup  0  0' |
  ForEach-Object {
    New-ItemProperty -path "$ _" -name Script -propertyType Chaîne -valeur 'AllUsersStartup.ps1'
    New-ItemProperty -path "$ _" -name Paramètres -propertyType String -value ''
    New-ItemProperty -path "$ _" -name IsPowershell -propertyType DWord -valeur 1
    New-ItemProperty -path "$ _" -name ExecTime -propertyType QWord -valeur 0
  }