我有一个应该在启动时运行的vb.net 2008应用程序。满足某些条件后,PC应该重新启动。以下是失败的代码:
System.Diagnostics.Process.Start("shutdown", "-r -t 00 -f", myUsername, myPassword, myDomain)
myUsername和myDomain都是字符串,而myPassword是SecureString。手动执行时应用程序正常工作,但在启动时执行时会出现以下错误(通过放入启动文件夹或添加到注册表中):
目录名无效
此外,当省略最后3个参数并且用户具有必要的权限时,程序将正确执行。
如何在启动时使用特定的备用用户凭据强制重新启动?
答案 0 :(得分:1)
您正在使用当前工作目录作为默认开始此过程。如果该目录对您指定的用户无效,则可能会导致问题。请改为使用Process.Start(ProcessStartInfo)重载。将ProcessStartInfo.WorkingDirectory设置为适合任何用户的目录。像c:\
此KB article中的详细信息。