[..] Installer un programme depuis le réseau sans le copier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
root66
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 mars 2010 20:19
Status : Hors ligne

[..] Installer un programme depuis le réseau sans le copier

#1

Message par root66 »

Bonjour,
Je souhaite faire un nouveau script pour déployer le client de messagerie GroupWise 8 sur tous les postes de travail de mon réseau.
D'habitude, (voir ci-dessous) je copie la source sur le poste via la commande "FileInstall" avant de l'exécuter "RunAsWait"

Code : Tout sélectionner


Local $LocalUserName
Local $UserPassword

$LocalUserName = 'administrateur'
$UserPassword = 'XXXXXXXXXXX'

AutoItSetOption("TrayIconHide", 1)

        FileInstall("\\NovellServer\Script\programme.exe", "C:\Windows\system32\programme.exe", 1)
    
        RunAsWait($LocalUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & 'C:\Windows\system32\programme.exe', @WindowsDir, @SW_HIDE)
 
Aujourd'hui je n'ai pas la possibilité de copier le programme avant de l'exécuter car la source fait 300 Mo et je dois donc lancer le setup depuis le réseau.

Bien que tous les postes de travail à déployer ont un compte administrateur avec un password identique, ce même compte administrateur n'existe pas sur le réseau Novell.
Je dois pourtant exécuter l'installation de ce programme depuis le réseau et en tant qu'administrateur du poste local Windows XP.

J'ai déjà essayé quelques solutions mais rien n'y fait. Si j'utilise la commande "SellExecute" ou "Run" (voir ci-dessous) n'utilisant pas les variables $DomainUsername et $UserPassword cela fonctionne, logique !! mais impossible de faire de cette façon car GroupWise demande des droits d'administrateur pour s'installer.

Code : Tout sélectionner

Run( '\\NovellServer\Script\programme.exe')
Si un de vous a une idée je suis preneur, peut être un script qui ajouterais l'utilisateur local dans le groupe administrateurs local avant l'installation, ensuite lancer l'installation avec la commande "Run", et pour finir ont supprime l'utilisateur du groupe administrateur local, ce script malheureusement est un peu trop compliqué à faire pour moi !!!

Merci d'avance ...........................................
Modifié en dernier par root66 le dim. 21 mars 2010 17:22, modifié 2 fois.
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Installer un programme depuis le réseau sans le copier

#2

Message par jl56 »

Bonjour

D'un point de vu droit d'accès je ne vois pas la différence entre
FileInstall("\\NovellServer\Script\programme.exe", "C:\Windows\system32\programme.exe", 1)

RunAsWait($DomainUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & 'C:\Windows\system32\programme.exe', @WindowsDir, @SW_HIDE)
et

Code : Tout sélectionner

RunAsWait($DomainUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & '\\NovellServer\Script\programme.exe', @WindowsDir, @SW_HIDE)
as tu testé ?

Pour ajouter au groupe administrateur local ,ex les utilisateurs du domaine, j'utilise ceci

Code : Tout sélectionner

RunAsWait($administrateur, $domaine, $Password, 0, 'net localgroup "Administrateurs" "Utilisa. du domaine" /add', @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
j'espère que cela pourra t'aider

a+ JL56
Avatar du membre
root66
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 mars 2010 20:19
Status : Hors ligne

Re: [..] Installer un programme depuis le réseau sans le copier

#3

Message par root66 »

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.
Modifié en dernier par root66 le dim. 21 mars 2010 19:18, modifié 2 fois.
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Installer un programme depuis le réseau sans le copier

#4

Message par jl56 »

Ok je comprend un peu mieux

j'ai quitté les réseaux novell à partir des versions 4.x
je ne connais pas Edirectory Novell.

Mais si mais souvenir sont bon au login du client novell tu mappes les lecteurs souhaités

as tu testés avec ton lecteur mapé comme ceci

Code : Tout sélectionner

RunAsWait($LocalUserName, @ComputerName, $UserPassword, 1, @ComSpec & ' /c ' & 'Q:\script\programme.exe', @WindowsDir, @SW_HIDE)
A+ JL56
Avatar du membre
root66
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 mars 2010 20:19
Status : Hors ligne

Re: [..] Installer un programme depuis le réseau sans le copier

#5

Message par root66 »

J'ai déjà essayé cette commande, c'est d'ailleurs la commande d'origine, mais elle retourne la même erreur.

Même si j'exécute une ressource partagée sur un réseau Novell je ne pense pas que le problème soit causé par l'OS Novell.
J'ai d'ailleurs essayé de placer ma source d'installation sur un partage Microsoft accessible à tous Utilisateurs du Workgroup et je me trouve bloqué avec le même problème.
Répondre