Merci JL56,
Info :
Pour une meilleur compréhension de mon problème j'ai modifié la variable de mon post initial @DomainUserName par @LocalUserName
Si cette commande ne fonctionne pas
Code : Tout sélectionner
RunAsWait($DomainUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & '\\NovellServer\Script\programme.exe', @WindowsDir, @SW_HIDE)
C'est que le compte Windows local Administrateur n'existe pas sur le serveur Novell. De plus même si j'utilise le compte root du serveur cela ne donnera pas les droits d'installation sur le poste local.
Pour cette commande
Code : Tout sélectionner
RunAsWait($administrateur, $domaine, $Password, 0, 'net localgroup "Administrateurs" "Utilisa. du domaine" /add', @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Elle est parfaite pour ajouter un utilisateur d'un Domaine Active Directory dans le groupe "Administrateurs" Local mais pas possible avec un utilisateur Edirectory Novell car le serveur ne partage pas l'annuaire avec Windows.
Précisions :
Le réseau n'est pas sous Active Directory mais en Edirectory Novell.
Au démarrage du poste l'utilisateur se connecte au réseau via Client Novell pour Windows, pendant l'ouverture de session des lecteurs réseau sont mappés.
Après la connexion c'est le compte local Windows qui est utilisé par l'utilisateur et non le compte de l'utilisateur du Domaine comme en Active Directory.
Au niveau Windows les postes de travail sont en Workgroup Microsoft.
Si vous vous voulez reproduire le symptôme :
Dans un groupe de travail Microsoft et non un Domaine.
Lancer l'installation d'un programme depuis le réseau sans le copier en local (C:\ par exemple).
Le programme est dans un dossier partagé à tous le monde via les onglets partage et sécurité.
Le compte administrateur n'est pas le même sur le PC qui partage et celui qui souhaite exécuter l'installation.
Le logiciel a installé demande des droits d'administrateur et l'utilisateur Windows en cours de session fait seulement parti du groupe "Utilisateurs avec Pouvoir".
Ce que je cherche à faire :
Le programme se trouve sur un lecteur mapper au démarrage des postes Q:\script, les utilisateurs Novell ont tous les droits lecture, exécution et écriture sur ce dossier. Je souhaite exécuter le setup.exe du programme depuis le réseau sans copier les dossiers et fichiers d'installation qui font 300 Mo, chose que je fait habituellement.
Code : Tout sélectionner
FileInstall("\\NovellServer\Script\programme.exe", "C:\Windows\system32\programme.exe", 1)
Après comme les utilisateurs ont un compte Windows qui n'a pas les droits administrateur il faut que l'installation ce fasse en tant que l'administrateur
local Windows qui est un compte identique sur tous les postes.
Code : Tout sélectionner
RunAsWait($LocalUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & 'C:\Windows\system32\programme.exe', @WindowsDir, @SW_HIDE)
Dans cette commande $LocalUserName est le compte local Windows administrateur, et non celui du Domaine.
La solution que j'évoque d'ajouter temporairement l'utilisateur dans le groupe administrateur c'est un peu lourd, de plus il faudra une réouverture de session Windows pour appliquer les nouvelles stratégies donc si un d'entre vous voit une autre solution je suis preneur.