none
通过WSUS API连接远程WSUS服务器时,提示 对主体权限请求失败 RRS feed

  • 问题

  • 尊敬的工程师:

    您好,我在使用WSUS API接口过程中出现如下错误,我在通过WSUS 提供的API进行连接WSUS服务器时,提示如下异常:

    2019-03-02 18:17:26.584 -- [Error] Exception Info: 对主体权限的请求失败。

        Exception Object:Microsoft.UpdateServices.Administration

        Exception Stack:

         Microsoft.UpdateServices.Administration.AdminProxy.CreateUpdateServer(Object[] args)

        H3CiMCWsusToolProj.WsusServerManager.detectWsusServer(String serverName, Boolean useSecureConnection, Int32 portNumber)

        Called By: Microsoft.UpdateServices.Administration.IUpdateServer CreateUpdateServer(System.Object[])

    我的C#代码是这样的:

    AdminProxy proxy = new AdminProxy();
                try
                {
                    proxy.GetRemoteUpdateServerInstance(serverName, useSecureConnection, portNumber);
                    LogUtil.getLog().LogInfo("detect WsusServer result success!");
                }
                catch (ArgumentNullException e)
                {
                    result = false;
                    errorCode = ErrorCode.WSUS_SERVER_NAME_NULL_ERR;
                    LogUtil.getLog().LogException(e);
                }

    问题产生的条件是这样的:

    目前我是这样使用的,基本调用是这样的,Java调用C++的dll库,C++再调用C#的dll库,在C#中调用了WSUS API进行WSUS服务器的连接,在C++、C#的dll生成好之后,Java这边进行单元测试的时候,上面代码中入参中的WSUS服务器地址(即GetRemoteUpdateServerInstance接口中的第一个参数)只要是指向存在的WSUS服务器,就可以正常连接到对应的WSUS服务器上; 

    但是,当放入到我们自己的Java工程中时,就只能连接到当前工程所在的安装有WSUS的服务器上,具体如下面所述:

    如果我的C#程序运行在装有WSUS的服务器上的话,上面代码中入参中的WSUS服务器是当前WSUS服务器的话,不启用SSL连接,端口使用缺省端口8530,是可以正常连接WSUS服务器的;

    但是,如果入参中WSUS服务器地址是另外一台WSUS服务器的话,就无法连接了,就会提示上面的异常,即便是指定对应的上游或者下游WSUS服务器,也是提示权限问题,同一个域下面的WSUS服务器也会提示权限问题

    我看到WSUS提供的API也没有设置账号密码的相关接口,目前只有AdminProxy下面的若干个接口是用来连接WSUS的,比如:GetRemoteUpdateServerInstance(serverName, useSecureConnection, portNumber); 以及GetUpdateServer(serverName, useSecureConnection, portNumber)等,每一种我都已经尝试过了,但是都提示权限问题了

    麻烦帮忙看一下该问题的具体原因,万分感谢!



    2019年3月4日 3:28

全部回复