Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用服务器名称时未执行外壳程序_Asp.net_Vb.net_Shell_Cmd - Fatal编程技术网

Asp.net 使用服务器名称时未执行外壳程序

Asp.net 使用服务器名称时未执行外壳程序,asp.net,vb.net,shell,cmd,Asp.net,Vb.net,Shell,Cmd,我有一个VB.NET2012 web应用程序,我们正在尝试执行一个进程,该进程启动位于远程VM上的vbs脚本 当我直接在Visual Studio调试器中运行代码时,代码可以正常工作,该调试器通过以下URL生成: 但是,当我们将应用程序发布到生产文件夹并运行web应用程序时,cmd进程似乎没有正确执行。以下是已发布的URL: 您可以看到,不同之处在于机器名ne1dwgtqa301与本地主机:63579 我假设这是一个权限问题,但无法确定通过发布的URL运行时Shell命令未正确执行的根本原因。即

我有一个VB.NET2012 web应用程序,我们正在尝试执行一个进程,该进程启动位于远程VM上的vbs脚本

当我直接在Visual Studio调试器中运行代码时,代码可以正常工作,该调试器通过以下URL生成:

但是,当我们将应用程序发布到生产文件夹并运行web应用程序时,cmd进程似乎没有正确执行。以下是已发布的URL:

您可以看到,不同之处在于机器名ne1dwgtqa301与本地主机:63579

我假设这是一个权限问题,但无法确定通过发布的URL运行时Shell命令未正确执行的根本原因。即使在主机服务器上执行,该命令也不会运行,但在同一服务器上手动或通过localhost:63579运行时,该命令工作正常

非常感谢您的帮助

Protected Sub btnRun_Click(sender As Object, e As EventArgs) Handles btnRun.Click
    Dim shellCommand As String

    For Each item As ListItem In lstVMs.Items
        If item.Selected = True Then
            shellCommand = "C:\websites\prod\DDFE\Log\psexec.exe \\NE1-VDI-" & item.Text & ".us.ad.xxx.com -e -h -u W2KXXX\user -p pswd C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe /c C:\windows\SysWoW64\cscript.exe C:\Scripts\Driver.vbs"
            Shell(shellCommand, AppWinStyle.Hide)
        End If
    Next
End Sub     'btnRun_Click

在黑暗中拍摄-但这就是我编写shell命令行的方式

        shellCommand = "cmd.exe /c cd C:\websites\prod\DDFE\Log\ " & "& psexec \\NE1-VDI-" & item.Text & ".us.ad.xxx.com -e -h -u W2KXXX\user -p pswd & powershell.exe /c cd C:\windows\SysWoW64\ " & "& cscript C:\Scripts\Driver.vbs"
        Shell(shellCommand, AppWinStyle.Hide, true, -1)

我认为在cmd.exe和powershell.exe命令之间缺少一个重要的&symbol

在-p pswd之后,powershell.exe的作用是什么。。。它应该在执行csscript.exe之前启动power shell吗。。。我猜给我行动的顺序。。。运行psexec.exe input\\NE1-VDI-&item.Text和.us.ad.xxx.com-e-h-u W2KXXX\user-p pswd。。。然后运行powershell。。。然后使用driver.vbs运行csscript作为输入。下面的第三篇文章描述了我遇到的相同问题。有没有一种方法可以通过java脚本来执行这段代码,这样效果会更好?我不太清楚你所说的&是想达到什么目的。我发布的原始命令在通过Start..>Run启动时正常工作。在本地主机上以调试模式运行时,它也能正常工作。上面添加的和你在完全限定路径的中间,只是命令由于语法错误而出错。还有其他的想法吗?你在没有中间的情况下尝试过上面的命令吗?老实说,这是不可能的故障排除,因为我不能运行命令。。。我个人会使用cmd来进行故障排除,而不是启动>Runyes我使用了cmd,正如原始帖子中所述,命令工作正常,这似乎是一个权限问题。哦,哈哈,我想我知道。。。在VS上,项目属性中有一个名为“安全性”的选项卡-确保选中了作为完全信任应用程序运行它的选项。我看到了项目属性在VS 2012中的位置。但是我没有看到安全标签。我已经读到了它应该在哪里,但由于某种原因我没有看到它。我还不能上传照片。我看到的唯一选项卡是:引用、构建、可访问性、MSBuild选项、Silverlight应用程序。