监控Windows操作系统用户增删修改
2013-07-11 11:24
225 查看
监控Windows操作系统的用户信息更改,可以采用监控注册表来实现。
在注册表中,用户和用户组信息保存在HKEY_LOCAL_MACHINE的SAM\\SAM\\Domains\\Account下面。用户信息保存在SAM\\SAM\\Domains\\Account\\Users下面;用户组信息保存在SAM\\SAM\\Domains\\Account\\Aliases下面。
当然可以采用写注册表过滤驱动来实现监控,但是写驱动比较麻烦,而且有时候我们只需要知道注册表有更改,然后再去获取用户信息就OK。
以下代码实现,当用户和用户组有更改时,系统通知事件出来。
在注册表中,用户和用户组信息保存在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 操作系统用户的密码之前,应该做的核查工作
- 3、MySQL增删改查、用户权授、系统函数、字段修改
- MySQL5.7以上版本root用户空密码修改(windows系统、zip版MySQL)
- Windows 2008 R2 域服务器web方式修改域用户密码
- Zabbix监控报警windows用户登陆
- 安装Ubuntu后,图形界面下修改Windows的为默认操作系统,并且更新Ubuntu后不变
- spotlight_监控Linux_无需修改用户权限
- windows 平台修改mysql root用户密码的方法
- Windows 2000/2003下如何使用组策略禁止用户修改密码
- Android中开发工具Android Studio修改created用户(windows环境)
- Windows下载修改Firefox用户文件
- windows 7下命令行修改用户密码
- Windows如何修改MySQL用户root密码
- 修改操作系统用户密码,造成SQL Server服务启动失败
- Windows如何修改MySQL用户root密码
- userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
- VMware上的windows xp profession操作系统的虚拟机安装oracle数据库时解锁用户和修改用户的操作
- 如何实现Windows系统Users组用户可修改IP属性和限制Users组用户访问文件的权限!