【AD】【组策略】利用启动脚本为域普通用户安装字体的方法

默认情况下安装字体需要管理员权限。
如果只是把字体文件复制到%systemroot%\fonts内,是无法被系统认定为字体已经安装的。同时需要在以下位置的注册表写入一个项。
hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts,具体格式你可以自己查看。
那么知道怎么算正确安装脚本后。就可以使用启动脚本来做了。因为启动脚本用的是nt authority\system权限。

安装前字体文件夹内默认如下:

注册表内如下:

脚本执行完安装后如下:

注册表:

脚本内容如下:



@echo off
::以下内容为了测试脚本是否正常执行可删除
::---------------------------------------------------------------------------
rem 该脚本会在启动时在C盘根目录创建一个计算机名称加日期的文件夹
set y=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
md "c:\%y%+%computername%"
::----------------------------------------------------------------------------

::下面是为了设置fonts的名字
set x=%date:~0,4%%date:~5,2%%date:~8,2%

::共享路径
set paath=\192.168.1.160\abc
::共享主机的访问权限
set [email protected]
set psd=1
::共享IP
set ip=192.168.1.160

::因为是启动脚本所以要先创建空连接目标计算机
net use \%ip%\ipc$ /user:%usr% %psd%

::测试空连接有没有正常,要有写入权限,测试,可删除。
::---------------------------------------------------------------------------
whoami >%paath%\1.txt
::----------------------------------------------------------------------------

::利用当天日期的一个txt文档名来判断是否需要执行下面的内容,这样,这个脚本就可控了。
if exist %paath%\%x%.txt goto abc else goto xyz

:abc
::复制字体到字体目录内并添加如下注册表信息
xcopy %paath%\%x%.TTF %systemroot%\fonts && reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v %x%(TrueType) /t reg_sz /d %x%.ttf
xcopy %paath%\%x%1.TTF %systemroot%\fonts && reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v %x%1(TrueType) /t reg_sz /d %x%1.ttf
xcopy %paath%\%x%2.TTF %systemroot%\fonts && reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v %x%2(TrueType) /t reg_sz /d %x%2.ttf
xcopy %paath%\%x%3.TTF %systemroot%\fonts && reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v %x%3(TrueType) /t reg_sz /d %x%3.ttf
xcopy %paath%\%x%4.TTF %systemroot%\fonts && reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v %x%4(TrueType) /t reg_sz /d %x%4.ttf

::必须重启才能生效
shutdown /r /t 00 /f

:xyz
exit



脚本内容应该都看得明白,里面测试的东西是方便你排错,用好了可以删掉,做个脱水版。说下里面一些为什么这么做。
设计部门可能会使用字体的情况比较多,设置这个脚本日常启动就行。
【if exist %paath%\%x%.txt goto abc else goto xyz】
里面也写了,这是为了控制。如果平时不需要安装字体,到这一步就结束了。
需要安装,你只需要将字体改成当天的日期就行,比如将微软雅黑.ttf改成20180523.ttf放到对应的目录就行。
如果是多个,就根据脚本里的内容改名。默认给了5个。
如下图:

假如A用户要你安装某个字体,你就把字体按照上图改成当天的日期后改名放到目录内。新建一个当天日期的txt放里面。告知用户A,重启计算机,重启完毕后什么都不要操作,安装完字体后电脑会自动重启,要生效必须重启。然后登录即可。
有人会问会不会无限重启,如果源ttf一直在的话。
不会,第二次执行的时候因为目标文件夹已经有文件,会询问是否覆盖而不执行下去。然后你把日期.ttf删掉即可。
过了10分钟,A用户又要你安装某个字体了。
那么如果你一开始用的20180523,那么就用下面的名字,叫他重启,就自动安装完了。



因为思考这个的关系,引申出是不是我可以做一个永久自动运行的启动脚本与登陆脚本。
这个脚本也是由共享目录内的日期.txt来控制是否执行。
这个脚本本身不执行多余操作,只通过共享目录的日期.txt来激活,启动另一个BAT或Powershell。
这样我就可以很方便的再执行其他脚本,而不需要再做新的组策略刷新等操作。避免莫名原因的失败。
那么为了避免无限loop,用xcopy覆盖不执行下面命令和if exsit来判断解决。
这个脚本起先应该将计算机或用户名回写到共享目录,让IT管理员知道哪些失败了,以保证所有人都获取到这个“根”脚本。

原文地址:http://blog.51cto.com/xifanliang/2119669

时间: 2024-10-07 21:59:32

【AD】【组策略】利用启动脚本为域普通用户安装字体的方法的相关文章

如何通过ad组策略让domain users用户可以远程桌面?

1.打开组策略----策略----Windows设置----安全设置----本地策略----用户权限分配----允许通过远程桌面服务登录----添加允许登录的组或者用户名. 2.如果你希望domain user用户登录到域控制器!将domain users组加入Remote Desktop Users组.不赘述. 3.如果你希望domain user用户登录到客户机!需要在客户机本地创建Remote Desktop Users组,并将domain users加入该组!操作如下: 1)打开组策略-

关于Windows 2008R2的AD组策略在XP和2003中扩展

关于VDI项目出现的08R2的AD组策略高级功能无法在XP和03R2上生效的问题, 微软又一个专门的补丁, for windows server 2003 http://www.microsoft.com/zh-cn/download/details.aspx?id=6955 for windows XP http://www.microsoft.com/zh-cn/download/details.aspx?id=3628 参见以下KB http://support.microsoft.com

AD组策略软件分发域

实验步骤:首先将放置有软件安装包的文件夹共享软件安装包类型是msi格式进入组策略管理在域中建立gpo或者使用Default Domain Policy进行直接编辑如果需要强制安装使用分配如果按用户需求则使用分布编辑完使用gpupdate刷新策略一:把软件放到一个文件夹,共享,设置共享权限和NTFS权限 设置NTFS权限(本案列为了方便测试,添加everyone)把Everyone添加进去,设置完全修改权限二:打开组策略管理在空白处右击,选择数据包三:选择文件的路径,选择共享\192.168.1.

一个WIndows Server 2008 R2 AD组策略复制排错过程(Warning 13508)

问题描述: ======================================================================================= 下面是两个AD服务器DC01和DC02上的日志报错信息: 域控dc02 在2016-10-19 at 17.37.02事件日志信息 NtFrs      2016/10/19 17:02:38  Warning 13508    文件复制服务有困难启用复制: 从 DC-01 到 DC02 为 c:\window

使用AD组策略实现USB 只读、读写、禁用的管控

前提: 1.windows2008R2中,针对USB的管控策略不支持winXP: 2.传统修改注册表的形式,在插拔U盘设备后会被USB驱动自动重置键值破解: 已知问题: 1.禁用后的USB被启用后,IPHONE手机无法连接计算机: 方案: 为了细化USB权限分级,增强USB权限管控,降低数据泄露的风险,经讨论决定对OU的USB管控策略进行升级.对申请权限细化为只读.读写.禁用三类. 通过计算机策略分别实现USB的开启.只读.禁用权限管控. 对计算机OU进行调整,建立下级子OU,以对应三种权限.

WIndows AD 组策略Default Domain Controllers Policy排错分享

一.问题描述 在域控上打开"组策略管理器"查看Default Domain Controllers Policy策略"高级审核策略配置"时,提示如下报错: 二.问题原因 1. 默认域控策略"Default Domain Controllers Policy"无法打开"高级审核策略配置的原因是由于此策略的Audit.csv文件损坏导致,解决方法是重命名该文件. 三.解决过程 1.默认域控策略"Default Domain Con

AD组策略的那点事(处理顺序)

组策略执行时处理顺序是:本地->站点->域->OU. 同一策略,计算机配置优先于用户配置. 组策略还定期刷新 GPO,确保组策略应用新的和更改后的 GPO,而不是等待计算机重新启动或用户注销.这些刷新之间的时间段称为组策略刷新间隔,默认时间长度是 90 分钟,外加一小段内置的随机时间,为的是防止所有计算机同时刷新.如果在一天的中间更改 GPO,则组策略将在约 90 分钟内应用所做的更改.无需等到这一天结束,即用户注销或重新启动其计算机时.在高级方案中,可以更改默认刷新间隔.

AD组策略软件分发

实验步骤:首先将放置有软件安装包的文件夹共享软件安装包类型是msi格式进入组策略管理在域中建立gpo或者使用Default Domain Policy进行直接编辑如果需要强制安装使用分配如果按用户需求则使用分布编辑完使用gpupdate刷新策略一:把软件放到一个文件夹,共享,设置共享权限和NTFS权限设置NTFS权限(本案列为了方便测试,添加everyone)二:打开组策略管理在空白处右击,选择数据包三:选择文件的路径,选择共享\192.168.1.2 DC的IP地址选择已分配(强制用户安装)已

Win7 系统下给 Users 组用户安装字体的权限

"开始"-"运行"以下四条命令 attrib -r -s c:\Windows\Fontstakeown /f c:\Windows\Fonts /r /d ncacls c:\Windows\Fonts /e /t /g users:ccacls c:\Windows\System32\FNTCACHE.DAT /e /t /g users:c 确保下面注册让user用户有权限HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Window