首页 > 解决方案 > Windows 服务对运行 .exe 文件的限制

问题描述

我正在尝试使用 windows-Service 从外部设备获取证书。应该如何处理当前用户的限制?

我有一个从额外设备(令牌)获取证书的 .exe 文件,它可以正常工作。但是当它使用 WCF 从我的 Windows 服务调用时,它并没有显示所有证书。它对用户或应用程序有限制吗?

static void LaunchCommandLineApp()
    {
        var path = AppDomain.CurrentDomain.BaseDirectory + 
        @"GetCertificate.exe";
        log.Info("LaunchCommandLineApp basePath is : " + 
        AppDomain.CurrentDomain.BaseDirectory);
        log.Info("LaunchCommandLineApp path is : " + path);
        ApplicationLoader.PROCESS_INFORMATION prcInf = new 
        ApplicationLoader.PROCESS_INFORMATION();
        ApplicationLoader.StartProcessAndBypassUAC(path + " -Verb runAs", 
        out prcInf);
        log.Info("After StartProcessAndBypassUAC");
    }

标签: c#windows-services

解决方案


我认为您的问题是Windows Service User Account导致您的 exe 以该用户而不是当前用户身份运行。阅读有关Windows Service用户帐户的更多信息。

并以当前用户身份从 Windows 服务运行进程。


推荐阅读