windows-services - 无法使用 Process.Start() 启动 bat 文件
问题描述
我有一个带有文件夹监视程序的 Windows 服务,它应该调用一个 bat 文件,但它不运行该文件。我的服务日志中没有任何错误,系统日志中也没有关于执行尝试的任何条目。它适用于本地托管,但不适用于服务器。
工作人员服务在事件触发时调用应用程序的代码(其他尝试已评论):
ProcessStartInfo pi = new ProcessStartInfo() {
WorkingDirectory = Path.GetDirectoryName(_appPath),
FileName = _appPath
//Verb = "runas",
//Domain = "WORKGROUP",
//UserName = adminAccountName,
//Password = StaticHelper.ToSecureString(pWordString),
};
Process.Start(pi);
.bat 文件
@echo The test script was run
pause
我已经验证了“系统”用户具有访问权限,因此它不应该是权限问题,除非除了调整文件/文件夹安全设置之外还有其他问题。如果它是我在 ProcessStartInfo 中需要的东西,我还没有找到它。大多数堆栈帖子和文章都是通过设置 WorkingDirectory 来修复的。我尝试在“WORKGROUP”域上传递凭据,但这不起作用(Win32Exception (5): Access is denied)。我很感激任何帮助。
解决方案
推荐阅读
- c# - 关闭 WPF 应用程序时的进程退出
- pytorch - pytorch中的多维张量点积
- flutter - Flutter:关闭应用程序后播放音乐
- visual-studio - NATVIS 重新解释类型或别名类型
- sql-server - 获取节点元素的 XML 属性作为列,其他节点元素作为记录值
- python - 当我在我的 aiohttp 应用程序中使用 asyncpg 时出现奇怪的错误
- arrays - react useState数组显示未定义
- java - 可以在 Android Q 之前获取带有相册的图像,但不能在 Android Q 上
- deep-learning - 如何为训练提供 decimal_y_values,其中模型的最后一层有 10 个具有 softmax 激活和损失的神经元是 Earth Mover Loss
- spring-cloud-stream - Spring Cloud Function 和 Kafka