Probleme Chemin UNC dans CMD

Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
- - Dernière réponse : Skalouche11
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
- 1 oct. 2014 à 13:44
Bonjour, voici mon problème.
J'ai un VBS qui demande un nom de DB ainsi qu'un nom de fichier, puis il lance un CMD en tant qu'administrateur, en lui transmettant ces 2 variables.

Sauf que le CMD devrait pointer vers "\\SERVER\C$\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn", mais il me retourne le message suivant :
"cmd ne prend pas les chemins unc comme répertoires en cours".


Voici mes scripts :

VBS:


Option Explicit
Dim DBName
Dim FileName
Dim oShell

DBName= InputBox("Quel est le nom de la societe?","Sauvegarde")
FileName= InputBox("Nom du fichier de sauvegarde:","Sauvegarde")

Set oShell = CreateObject("WScript.Shell")
oShell.Run "runas /user:administrateur@domaine.fr ""\\server\f$\sage\sav\Paye_sauve_1soc.cmd " & DBName & " " & FileName
WScript.Sleep 1000
oShell.SendKeys "*******~"
Wscript.Quit


CMD:


c:

cd "\\SERVER\C$\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn"
sqlcmd.exe -E -SSERVER\SAGE100 -Q"BACKUP DATABASE [P_%1] TO DISK = N'F:\SAGE\SAV\%2.BAK' WITH FORMAT, NAME = N'%1-Complète', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

pause


En gros je doit réadapter mon fichier VBS pour qu'il exécute non plus un CMD mais un PS1 (powershell, qui lui accepte les chemins unc), ainsi que mon fichier CMD a transformer en PS1.

Quelles sont les commandes à modifier SVP ?
Afficher la suite 

2 réponses

Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316
0
Merci
Pour ce qui est du VBS.. à mon avis tu n'as rien de pariculier à changer .. hormis le nom du script à appeller (qui sera ton PS1 au lieu de ton BAT).
objShell.run("powershell -noexit -file tonScript.ps1")

Par contre.. il faut que POWERSHELL soit installé sur le PC qui lance le script non ?
Et ce n'est pas parce que le script PS1 se trouve sur le PC distant.. qu'il va s'exécuter dessus... il va s'exécuter depuis le PC qui lance ton script... (comme si le script se trouvait directement sur le PC...)



Commenter la réponse de jordane45
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
0
Merci
J'ai bien modifier ma commande comme ceci :


Set oShell = CreateObject("WScript.Shell")
oShell.Run "powershell -noexit -file \\SERVER\f$\sage\sav\Paye_sauve_1soc_bis.ps1" & DBName & " " & FileName
WScript.Sleep 1000
oShell.SendKeys "Password~"
Wscript.Quit

Mais une fois les 2 InputBox passée, la fenêtre dos appara^^it et disparait aussitôt, et quand j'ouvre le vbs pour le modifier je me retrouve avec cette comande modifiée :


oShell.Run "powershell -noexit -file \\SERVER\f$\sage\sav\Paye_sauve_1soc_bis.ps1Password~" & DBName & " " & FileName

wtf? o_O
Skalouche11
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
Oui il est bien présent. Et lui ne nécessite pas d'être lancé en tant qu' Admin normalement.

Même avec l'espace, même problème.
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
Tu as essayé en mettant le chemin complet vers le PowerShell.EXE ?
Par exemple:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Skalouche11
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
Oui, idem.
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
Tu peux essayer en mettant un script PS en local sur ta machine ?

Set objShell=CreateObject("Wscript.Shell)
PSFile="""C:\My Path\test.ps1"""
DBName= InputBox("Quel est le nom de la societe?","Sauvegarde")
FileName= InputBox("Nom du fichier de sauvegarde:","Sauvegarde")

sCmd="powershell.exe " & PSFile & " " & _
      DBName & _
      FileName
objShell.Run sCmd, 1, true
Skalouche11
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
Cela ne marche toujours pas. Cela fait la même chose, ouverture / fermeture aussitôt.

VBS:

Option Explicit
Dim sCmd
Dim PSFile
Dim DBName
Dim FileName
Dim objShell

Set objShell=CreateObject("Wscript.Shell")
PSFile ="""C:\test123.ps1"""
DBName = InputBox("Quel est le nom de la societe?","Sauvegarde")
FileName = InputBox("Nom du fichier de sauvegarde:","Sauvegarde")

sCmd = "powershell.exe " & PSFile & " " & _
DBName & _
FileName
objShell.Run sCmd, 1, true
Commenter la réponse de Skalouche11