Probleme Chemin UNC dans CMD

Signaler
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
Skalouche11
Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014
-
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 ?

2 réponses

Messages postés
27618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
323
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...)



Messages postés
16
Date d'inscription
lundi 29 septembre 2014
Statut
Membre
Dernière intervention
1 octobre 2014

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
27618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
323
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
27618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2020
323
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