监控Windows操作系统用户增删修改
来源:互联网 发布:访客网络设置限速多少 编辑:程序博客网 时间:2024/04/28 01:15
监控Windows操作系统的用户信息更改,可以采用监控注册表来实现。
在注册表中,用户和用户组信息保存在HKEY_LOCAL_MACHINE的SAM\\SAM\\Domains\\Account下面。用户信息保存在SAM\\SAM\\Domains\\Account\\Users下面;用户组信息保存在SAM\\SAM\\Domains\\Account\\Aliases下面。
当然可以采用写注册表过滤驱动来实现监控,但是写驱动比较麻烦,而且有时候我们只需要知道注册表有更改,然后再去获取用户信息就OK。
以下代码实现,当用户和用户组有更改时,系统通知事件出来。
#include <Windows.h>#include <stdio.h>#define SYS_ACCOUNT_REG_KEY_W L"SAM\\SAM\\Domains\\Account"#define SYS_ACCOUNT_REG_KEY_A "SAM\\SAM\\Domains\\Account"int main(int argc, char **argv){ HANDLE hEvent; LSTATUS ret; HKEY hKey; DWORD dwRet; hEvent = CreateEventW(NULL, FALSE, TRUE, L"RegistryNotify"); if (NULL == hEvent) { printf("Create event failed.\n"); return GetLastError(); } ret = RegOpenKeyExW(HKEY_LOCAL_MACHINE, SYS_ACCOUNT_REG_KEY_W, 0, KEY_NOTIFY, &hKey); if (ERROR_SUCCESS != ret) { CloseHandle(hEvent); printf("Open Key %s failed.\n", SYS_ACCOUNT_REG_KEY_A); return ret; } while(TRUE) { ret = RegNotifyChangeKeyValue(hKey, TRUE, REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY, hEvent, TRUE); if (ERROR_SUCCESS != ret) { printf("RegNotifyChangeKeyValue failed.\n"); break; } dwRet = WaitForSingleObject(hEvent, INFINITE); if (WAIT_FAILED == dwRet) { ret = GetLastError(); printf("WaitForSingleObject failed.\n"); break; } else { printf("System account change occur...\n"); } } RegCloseKey(hKey); CloseHandle(hEvent); return ret;}
- 监控Windows操作系统用户增删修改
- 监控Windows操作系统用户增删修改
- MySQL(一)增删修改用户、授予用户权限
- 【运维规范】修改Windows 操作系统用户的密码之前,应该做的核查工作
- 监控Windows 域用户登陆情况 python
- windows修改用户目录名
- Powershell监控操作系统用户账号事件并预警
- Powershell监控操作系统用户账号事件并预警
- Powershell监控操作系统用户账号事件并预警
- 用户进程与windows操作系统回收资源
- Windows桌面操作系统:用户体验观点
- 修改Ubuntu Windows 双操作系统启动顺序
- [Windows操作系统] DOS 批处理 修改xml文件
- java修改操作系统时间(linux和windows)
- windows 用户登录和注销监控|windows session 状态改变监控
- 修改Windows XP默认登陆用户
- Windows 7修改用户登录方式
- Windows下载修改Firefox用户文件
- 袁军晓专家提示:8种早餐吃法最错误 油条早餐会致癌
- 用Eclipse生成jar文件
- 使用POI读写Excel文件
- [文字工具] Beyond Compare 3.3.5
- 窗口子类化
- 监控Windows操作系统用户增删修改
- struts2整合spring应用实例
- discuz上传附件失败
- 内存映射文件(只读)
- 不要让开源架构代替我们的设计
- Android自定义状态栏通知(Status Notification)的正确实现
- 袁军晓专家提示:大蒜番茄 8种食物最滋补女人身体
- 记录下stl vector不能乱用,注意
- SimpleOnGestureListener