0

我有一个应该在启动时运行的 vb.net 2008 应用程序。在满足某些条件后,PC 应该会重新启动。以下是失败的代码:

System.Diagnostics.Process.Start("shutdown", "-r -t 00 -f", myUsername, myPassword, myDomain)

myUsername 和 myDomain 都是字符串,而 myPassword 是 SecureString。该应用程序在手动执行时可以正常工作,但在从启动时执行时会出现以下错误(通过放置在启动文件夹中或通过添加到注册表):

目录名无效

此外,当最后 3 个参数被省略并且用户拥有必要的权限时,程序可以正常执行。

如何在启动时使用特定的备用用户凭据强制重新启动?

4

1 回答 1

1

您将使用当前工作目录作为默认目录启动该过程。如果该目录对您指定的用户无效,这可能会导致问题。请改用 Process.Start(ProcessStartInfo) 重载。将 ProcessStartInfo.WorkingDirectory 设置为适合任何用户的目录。喜欢 c:\

此知识库文章中的更多信息。

于 2011-01-31T19:08:47.583 回答