CSDN-Ada助手 2023-07-18 14:13 采纳率: 1.6%
浏览 31

windows 服务 只能给 有管理员权限的程序 调用吗?_(语言-java)

该问题来自社区帖: https://bbs.csdn.net/topics/616663177.为符合问答规范, 该问题经过ChatGPT优化
<html></html>

我有一个 Windows 服务 ChangeNetwork

 

 

 

 

 

 

 

 

但我用一个本机客户端程序去调用 这个【服务】 时,一直在报 【System.UnauthorizedAccessException:“对路径的访问被拒绝。”】这个错。

需要怎么设置才能让 这个【服务】支持 【非管理员权限】的程序可以访问到?

这个是我【客户端】调用【服务】的程序

public void ChangeNetwork(string ipAddress, string subnetMask, string defaultGateway, string dns)
        {
            try
            {
                using (var pipeClient = new NamedPipeClientStream(".", "ChangeNetworkPipe", PipeDirection.InOut))
                {
                    pipeClient.Connect(); // 连接到管道服务器

                    string request = $"{ipAddress},{subnetMask},{defaultGateway},{dns}";
                    byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(request);

                    pipeClient.Write(requestBytes, 0, requestBytes.Length); // 发送请求

                    // 读取响应
                    byte[] responseBytes = new byte[1024];
                    int bytesRead = pipeClient.Read(responseBytes, 0, responseBytes.Length);
                    string response = System.Text.Encoding.UTF8.GetString(responseBytes, 0, bytesRead);

                    Console.WriteLine("Response: " + response);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }

  • 写回答

3条回答 默认 最新

  • 爱编程的小芒果 2023-07-18 14:15
    关注

    确实只能给有管理员权限的程序调用

    评论

报告相同问题?

问题事件

  • 创建了问题 7月18日