千家信息网

java 中怎么访问windows安全日志

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关java 中怎么访问windows安全日志,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。//查询window日
千家信息网最后更新 2026年11月02日java 中怎么访问windows安全日志

本篇文章给大家分享的是有关java 中怎么访问windows安全日志,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

//查询window日志public void queryWindowsData(String ip,String user,String space,String password,String domain){   try   {      //创建session认证连接      JISession dcomSession =JISession.createSession(domain,user,password);      dcomSession.useSessionSecurity(true);      JIProgId progId = JIProgId.valueOf("WbemScripting.SWbemLocator");      progId.setAutoRegistration(true);      JIComServer comServer = new JIComServer(progId, ip,            dcomSession);      IJIDispatch wbemLocator = (IJIDispatch) JIObjectFactory.narrowObject(comServer.createInstance().queryInterface(IJIDispatch.IID));      //parameterstoconnecttoWbemScripting.SWbemLocator      JIVariant[] results = wbemLocator.callMethodA("ConnectServer", new Object[]{            JIVariant.OPTIONAL_PARAM(),            (space == null) ? JIVariant.OPTIONAL_PARAM() : new JIString(space)            , JIVariant.OPTIONAL_PARAM(), JIVariant.OPTIONAL_PARAM(),            JIVariant.OPTIONAL_PARAM() ,            JIVariant.OPTIONAL_PARAM() ,            0 ,            JIVariant.OPTIONAL_PARAM()      });      IJIDispatch wbemServices=(IJIDispatch)JIObjectFactory.narrowObject(results[0].getObjectAsComObject());      //String sql = "SELECT * FROM Win32_ComputerSystem";      SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      Calendar cc=Calendar.getInstance();      //utc时间-8       //eventcode = 4769 表示通过加域登录的用户      cc.add(Calendar.HOUR_OF_DAY, -9);//1小时前 ,8是减去UTC时间      String dateString = sdf.format(cc.getTime());      //WQL查询日志      String QUERY_FOR_ALL_LOG_EVENTS = "Select * from Win32_NTLogEvent Where Logfile = 'Security' and " +            "EventCode = '4769' and EventType = 4 and TimeWritten >' "+dateString+"'";      try {         results = wbemServices.callMethodA("ExecQuery", new Object[]{new JIString(QUERY_FOR_ALL_LOG_EVENTS), JIVariant.OPTIONAL_PARAM(),           JIVariant.OPTIONAL_PARAM(), JIVariant.OPTIONAL_PARAM()});         IJIDispatch wOSd = (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());         int count = wOSd.get("Count").getObjectAsInt();         IJIComObject enumComObject = wOSd.get("_NewEnum").getObjectAsComObject();         IJIEnumVariant enumVariant = (IJIEnumVariant) JIObjectFactory.narrowObject(enumComObject.queryInterface(IJIEnumVariant.IID));         IJIDispatch wbemObject_dispatch = null;         for (int c = 0; c < count; c++) {            Object[] values = enumVariant.next(1);            JIArray array = (JIArray) values[0];            Object[] arrayObj = (Object[]) array.getArrayInstance();            for (int j = 0; j < arrayObj.length; j++) {               // (IJIDispatch) JIObjectFactory.narrowObject(((JIVariant) arrayObj[j]).               wbemObject_dispatch = (IJIDispatch) JIObjectFactory.narrowObject(((JIVariant) arrayObj[j]).getObjectAsComObject());            }            String str = (wbemObject_dispatch.callMethodA("GetObjectText_", new Object[]{1}))[0]                  .getObjectAsString2();            query(str);         }      } catch (JIException e) {         e.printStackTrace();      }   }   catch (Exception e)   {      e.printStackTrace();   }}

以上就是java 中怎么访问windows安全日志,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

日志 安全 时间 更多 知识 篇文章 查询 实用 小时 就是 工作会 文章 用户 看吧 知识点 行业 详情 资讯 资讯频道 跟着 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 山东特亿宝互联网科技有限公司 互联网科技公司起名 互联网科技工作委员会 互联网科技官网 互联网科技公司税收优惠 喔噻互联网科技 丰台科技园 互联网 天扬科技互联网广告 云创客互联网科技公司 科技互联网大厂 深圳育鹏互联网科技有限公司招聘 洛阳共同富裕互联网科技有限公司 互联网行业科技股 特约风豹互联网科技为什么扣费 互联网企业科技类企业如何做账 下一代互联网重大应用科技园 湖北辰鑫科技互联网 中国互联网公司的科技投入 科技和互联网行业的特点 深圳互联网络科技有限公司 杭州互联网科技公司 上海电发互联网科技有限公司 科技互联网的估值 本届互联网博览会上的黑科技 深圳市罗太互联网科技有限公司 济南有互联网科技公司吗 上海科技产业互联网平台 江苏互联网科技小贷 上海万顺科技互联网有限公司招聘
0