Bonjour à tous,
Voila mon cahier des charges:
Je souhaite lancer un script à l'ouverture de session en PowerShell avec les commandes : ipconfig /flushdns et ipconfig /registerdns
Os Windows 10 et Windows 7
Utilisateur pas admin
Voila ma problématique :
Pour exécuter la commande ipconfig /registerdns il faut une élévation de privilège. Je ne souhaite pas que mes utilisateurs soient administrateurs
J'ai fais deux script :
1er un bat : (placer dans une GPO à l'ouverture de la session windows)
powershell Start-Process -FilePath powershell.exe -Verb Runas -ArgumentList '-ExecutionPolicy bypass', '\\monserveur\dossiers\dns-register.ps1'
2eme un PowerShell "dns-register.ps1":
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#Chiffrement du mot de passe
$Key = [byte]xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx
#"Monpassword" | Convertto-SecureString -AsPlainText -Force | ConvertFrom-SecureString -key $key| Out-file \\monserveur\dossiers\dns.txt
#Connexion avec l'administrateur local
$hostname= hostname
$AdminName = $hostname + "\" + "Administrateur"
$password = Get-Content \\monserveur\dossierss\dns.txt | Convertto-SecureString -Key $key
$creds = New-Object -TypeName System.Management.Automation.PsCredential -ArgumentList ($AdminName, $Password)
Enter-PSSession localhost -cred $creds
ipconfig /flushdns
ipconfig /registerdns
exit |
Si je lance le bat à partir de mon poste cela fonctionne car je suis administrateur, cependant si je le lance depuis une session utilisateur j'ai la fenêtre de contrôle de compte utilisateur qui apparait. Il faut saisir le login et mot de passe du compte administrateur
Ma question : Est il possible de lancer mon premier code en incluant les crédentials ? Avez vous une autre solution ?
Merci pour votre aide
Partager