【问题标题】:System.Diagnostics.Process.Start won't work in startup when supplied user account提供用户帐户时,System.Diagnostics.Process.Start 在启动时不起作用
【发布时间】:2011-01-31 18:23:19
【问题描述】:

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

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

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

目录名无效

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

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

【问题讨论】:

    标签: vb.net directory startup process.start


    【解决方案1】:

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

    更多信息请参阅KB article

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多