AD组策略部署Bginfo:桌面自动显示用户信息

5星 · 超过95%的资源 需积分: 50 20 下载量 149 浏览量 更新于2024-07-21 1 收藏 936KB DOC 举报
本文主要介绍了如何使用Active Directory (AD) 组策略部署Bginfo软件,实现在用户的桌面背景上自动显示用户信息,以提高IT管理和技术支持效率。Bginfo是一款轻量级的应用程序,它可以在Windows系统登录时显示预定义的文本或图像信息。 首先,作者提到在日常IT管理中,由于用户对计算机基本信息(如计算机名、IP地址和登录账户)的缺乏了解,这给技术支持带来了不便。为了简化这一过程,bginfo被选择用于在用户登录时提供这些信息。操作步骤如下: 1. **安装与配置Bginfo**: 在域控制器(DC)上安装并配置Bginfo软件,确定要显示的信息以及显示位置。 2. **保存与权限设置**: 创建一个名为"zhkd.bgi"的BGI文件,并确保只有经过验证的用户能够读取和运行此文件。通过设置高级选项,确保权限应用于文件夹内的所有文件。 3. **复制至Netlogon共享目录**: 将Bginfo文件夹复制到域控制器的Netlogon共享路径,便于组策略的部署。 4. **创建登录脚本**: 创建一个名为"logon.cmd"的文本文件,在其中编写命令行参数,用于执行Bginfo.exe并指定背景图片文件。 5. **组策略部署**: 编辑目标组织单位(OU)的组策略设置,将自定义的"logon.cmd"脚本添加到登录脚本列表中。 6. **刷新组策略**: 通过命令gpupdate/force强制刷新组策略,确保新设置在客户端生效。 7. **测试与验证**: 用户重新登录后,检查桌面背景是否显示了预期的信息。如果未生效,可能需要再次刷新组策略。 通过这样的部署,不仅可以提供用户所需的计算机信息,还可以减轻IT管理员的工作负担,提升整体IT管理效率。这种自动化的方法适用于需要频繁获取用户登录信息的场景,如远程支持、审计或日常运维。

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <graphics.h> #include <conio.h> #include <mmsystem.h> #pragma comment(lib,"winmm.lib") IMAGE background; IMAGE array[16]; IMAGE arrayY[16]; struct bgInfo { int x; int y; int speed; }; struct bgInfo bg = { 1000, 0, 5 }; enum 方向 { LEFT, RIGHT }; struct roleInfo { int x; int y; int direct; }; struct roleInfo role = { 300, 400 ,RIGHT }; void loadResource() { loadimage(&background, "Background\\background.jpg"); for (int i = 0; i < 16; i++) { char fileName[50] = ""; sprintf(fileName, "Helix_attack\\Helix_attack_r%d.gif", i + 1); loadimage(array + i, fileName); sprintf(fileName, "Helix_attack\\Helix_attacky_r%d.gif", i + 1); loadimage(arrayY + i, fileName); } } void drawStand(int i) { putimage(0, 0, 1000, 700, &background, bg.x, bg.y); putimage(role.x, role.y, arrayY + i, SRCAND); putimage(role.x, role.y, array + i, SRCPAINT); } void drawKey(int beginFrame, int endFrame) { int i = beginFrame; while (i < endFrame) { putimage(0, 0, 1000, 700, &background, bg.x, bg.y); putimage(role.x, role.y, arrayY + i, SRCAND); putimage(role.x, role.y, array + i, SRCPAINT); i++; Sleep(50); } } DWORD WINAPI playMusic(LPVOID lpVoid) { mciSendString("open 1.mp3", 0, 0, 0); mciSendString("play 1.mp3 wait", 0, 0, 0); mciSendString("close 1.mp3", 0, 0, 0); return 0; } void keyDown() { fflush(stdin); char userKey = _getch(); switch (userKey) { case 'a': case 'A': case 75: bg.x -= bg.speed; role.x -= 5; if (bg.x <= 0) bg.x = 0; break; case 'd': case 'D': case 77: bg.x += bg.speed; role.x += 5; if (bg.x >= background.getwidth() - 1000) bg.x = background.getwidth() - 1000; break; case 'w': case 'W': case 72: role.y -= 5; break; case 's': case 'S': case 80: role.y += 5; break; case ' ': CreateThread(0, 0, playMusic, 0, 0, 0); drawKey(4, 16); break; } } int main() { loadResource(); initgraph(1000, 700); int i = 0; while (1) { drawStand(i); i++; if (i == 4) i = 0; Sleep(50); if (_kbhit()) { keyDown(); } } _getch(); closegraph(); return 0; }

2023-07-17 上传