cs_zesamoth
Messages postés12Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention 8 avril 2008
-
7 avril 2008 à 17:57
cs_zesamoth
Messages postés12Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention 8 avril 2008
-
8 avril 2008 à 14:32
Bonjour tout le monde,
Je sollicite votre aide pour un problème un peu pointu, je tourne en rond depuis ce matin et j'ai épuisé ma réserve d'imagination... Je n'arrive toujours pas à solutionner mon problème. Le but de mon opération est d'enregistrer depuis mon poste une dll distante sur un serveur distant. Je pensais pour cela créer un process regsvr32 grâce à WMI sur la machine distante mais ya rien à faire j'y arrive pas.... I need somebody help comme disais les "coupes au bol"
Nom du serveur distant : Ntinctx7
Chemin de la dll : Ntinsrv1\applis$\frmDossierDAT.dll, donc sur un autre serveur
Le tout lancé depuis localhost....
<hr size= "2" width="100%" /> Le code:
Dim wmiConnexion As Object
'Création de la connexion WMI
Set wmiConnexion = GetObject("winmgmts:{impersonationLevel=impersonate}!\\Ntinctx7\root\cimv2")
Dim pId As Integer, resReg As Integer, resUnreg As Integer
Dim objstartup As Object, objconfig As Object, objprocess As Object
Dim dllPath as string, commandUnreg As String, commandReg As String
'Création des paramètres du process à créer
Set objstartup = wmiConnexion.Get("Win32_ProcessStartup")
Set objconfig = objstartup.SpawnInstance_
objconfig.ShowWindow = 2
Set objprocess = wmiConnexion.Get("Win32_Process")
'Execution des process
res = objprocess.Create(commandUnreg, Null, objconfig, pId)
res2 = objprocess.Create(commandReg, Null, objconfig, pId)
If res + res2 <> 0 Then
MsgBox2 "Erreur dans la création du processus !" & vbCrLf & "Erreur " & res & ": " & convertProcessError(res), 9
Else
MsgBox2 "Processus d'enregistrement de la DLL terminé avec succès.", 11
End If
Set objstartup = Nothing
Set objconfig = Nothing
Set objprocess = Nothing
<hr size="2" width="100%" />Je précise que la commande regsvr32 /s "\\Ntinsrv1\applis$\frmDossierDAT.dll" fonctionne si elle est éxecutée depuis le serveur grâce au menu démarrer-executer. De plus l'instruction objprocess.Create ne renvoit pas d'erreurs (renvoit donc 0). A ne plus rien y comprendre....
Donc si quelqu'un entrevoit une solution je suis preneur. Ou alors si quelqu'un à une idée pour aboutir à mes fins sans forcément utiliser WMI je suis preneur aussi .
cs_zesamoth
Messages postés12Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention 8 avril 2008 8 avril 2008 à 14:32
Salut tous,
Je sais que j'ai pas laissé un énorme temps de réflexion mais je souhaitais tout de même modifier ma requête qui est peut être un peu compliquée ou tout du moins pas forcément réalisable...
Alors tout simplement est ce que quelqu'un connait un moyen, pas forcément simple, mais efficace pour enregistrer une dll depuis localhost sur un serveur distant depuis un chemin UNC qui n'est ni localhost ni le serveur distant.