J'ai un fichier VBScript. Je cours ce VBscript using CScript sur le serveur 2012 de fenêtres. Le VBscript fonctionne bien sur le serveur.appelant VBScript de Powershell .. Est-ce la bonne façon de le faire?
Mais j'ai besoin d'appeler ce fichier VBScript de Powershell. C'est ce que j'ai fait.
Pour simplifier, c'est ce que j'ai dans mon fichier VBscript
echo.vbs
Msgbox("hello world")
J'ai écrit le test.ps1
$acommand = "C:\Windows\System32\Cscript.exe C:\deleteit\echo.vbs"
Invoke-Expression $acommand
... et ce qui est arrivé? Je suggère que si possible, vous convertissez votre VBS en PS et évitez cela. Vous appelez fondamentalement un langage de script ancien style d'un langage de script moderne. Ce sera plus simple si vous vous en tenez à une plateforme –
Pourquoi faites-vous cela? La bonne façon d'exécuter un exe est de * juste exécuter un exe *. PowerShell est un shell, il peut exécuter les choses directement. 'C: \ c: \ windows \ system32 \ cscript.exe c: \ deleteit \ echo.vbs' – TessellatingHeckler
PS C: \> C: \> cd c: \ windows \ system32 \ cscript.exe c: \ deleteit \ echo.vbs C: \> cd: Le terme 'C: \> cd' n'est pas reconnu comme le nom d'une cmdlet, d'une fonction , d'un fichier de script ou d'un programme utilisable. Vérifiez l'orthographe du nom ou si un chemin a été inclus, vérifiez que le chemin est correct et réessayez. À la ligne: 1 char: 1 + C: \> cd c: \ windows \ system32 \ cscript.exe c: \ deleteit \ echo.vbs + ~~~~~~ + CategoryInfo: ObjectNotFound: (C: \> cd: String) [], CommandNotFo undException + FullyQualifiedErrorId: CommandNotFoundException – Jason