我有一个简单的powershell脚本,它在执行时自动发送XML文件。
我有一个用Visual Basic编写的VB.NET控制台应用程序,它在程序中调用powershell脚本,一旦满足某些参数就执行。
powershell脚本的调用可以正常工作,并且powershell按预期执行,但无论出于何种原因,powershell脚本执行了两次。这通常不会是一个问题,但它发送重复的电子邮件,因为这一点时,它应该只发送一个。
下面是调用powershell脚本的代码:
Public Sub SendDaEmailMakeXMLFile()
Using p As Process = New Process
p.StartInfo = New ProcessStartInfo() With {
.CreateNoWindow = True,
.UseShellExecute = True,
.FileName = "C:\SVMXEmailAutomation.ps1"
}
p.Start()
p.WaitForExit()
p.Close()
End Using
End Sub
第二个窗口弹出并立即执行,如果我删除WaitforExit()命令,如下所示:
如果我保留WaitforExit()命令,第一个窗口将按预期工作,关闭,然后第二个示例将直接弹出并执行。
我在语法上犯了一个错误吗?我的日志中没有错误输出。
感谢你的评分
1条答案
按热度按时间fnatzsnv1#
感谢大家的帮助和协助!
在浏览了日志文件并使用了断点之后,我确定我将代码放置在它自己的子类中的地方,它会导致代码执行两次。我只是删除了SendDaEmailMakeXMLFile()公共子类,并将上面问题中列出的代码放在完整程序的Main Sub主体中。
这样做只会导致代码执行一次。希望这有助于其他人在未来,如果他们遇到这个问题!