域环境users提权调用lsrunase.exe 批处理完成安装字体
admin
2023-02-05 00:40:06
0

字体安装2.0
由于字体安装之前的批处理采用字体文件复制到c:\windows\fonts下再注册注册表的方式,一部分字体安装不上,重新修改了批处理方式。

一. 字体安装批处理
1.vbs脚本运行安装D:\fonts下的字体安装包,安装时fonts.vbs同时会检测C:\windows\fonts\字体名称与D:\fonts里的字体名是否一致,如果存在则忽略掉。缺点:若是表面字体名不一致,会提示重复安装,手动单击选择即可。
参考的事例:
http://blog.jasondahmen.com/2011/11/24/the-true-ultimate-font-install-for-windows-7-and-xp-vbs/
代码如下fonts.vbs
Option Explicit
' Installing multiple Fonts in Windows 7
' http://www.cloudtec.ch 2011
' Edited by Jason Dahmen

Dim objShell, objFSO, wshShell
Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile

Set objShell = CreateObject("Shell.Application")
Set wshShell = CreateObject("WScript.Shell")
Set objFSO = createobject("Scripting.Filesystemobject")

strFontSourcePath = "D:\fonts\"
If objFSO.FolderExists(strFontSourcePath) Then
If objFSO.FolderExists("C:\Users\") Then
' Start Windows 7/Vista
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFont.InvokeVerb("Install")
Set objFont = Nothing
Else
End If
End If
Next
Else
' Start Windows XP
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFSO.CopyFile "D:\fonts*", "c:\windows\fonts\"
Set objFont = Nothing
Else
End If
End If
Next
End If
Else
Wscript.Echo "Font Source Path does not exists"
End IF

注意:安装只包含ttf,otf,ttc三种字体文件,可以自己在代码加字体后缀( If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then),满足95%,特殊类型的字体安装再扩展。

  1. 使用vbs封装成exe文件工具,封装vbs脚本,命名可执行文件的fonts.exe。
    (bat不能直接运行VBS,水平有限直接做成了exe来执行)
    下载地址:https://download.csdn.net/download/qq_16066381/9760279

域环境users提权调用lsrunase.exe 批处理完成安装字体

二.使用Quick_Batch_File_Compiler封装以管理员运行的批处理.批处理用到lsrunas.exe加密域管理员密码来运行fonts.exe

  1. 代码:Fonts-intsall.bat
    @echo off
    if "%1"=="h" goto begin
    start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
    :begin
    \10.10.12.201\soft\install\lsrunase\lsrunase.exe /user:administrator /password:3lp9huRP3uydxg== /domain:zzecwwmir.com /command:d:\fonts\fonts.exe /runpath:d:\fonts\
    rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装

参考lsrunase.exe
https://www.cnblogs.com/colinliu/p/5666715.html

2.Quick_Batch_File_Compiler封装命名为 双击本软件_安装字体.exe

三.介于软件bug,做了其他辅助性的批处理来完善使用
字体提示已安装太多情况1.强制结束安装进程,2.清理fonts下已安装的字体

11强制结束_安装字体.bat
@echo off
taskkill /f /im fonts.exe
结束字体安装进程

12删除以前的文件里的字体安装文件.bat
@echo off
del /f /q /a /s D:\fonts*.otf
del /f /q /a /s D:\fonts*.ttf
del /f /q /a /s D:\fonts*.fon
del /f /q /a /s D:\fonts*.ttc
rem 删除字体

Desk.bat 删除之前的快捷方式,创建新的快捷方式,并运行完删除自己
@echo off
copy /y "D:\fonts\安装字体.lnk" c:\users\public\desktop
rem 在公共桌面创建快捷方式
ping 127.1 -n 2 >nul
del D:\fonts\安装字体.lnk
del /f /q /a /s %0
rem 删除批处理本身

四.封装自解压
自解压的封装方法百度一下。
域环境users提权调用lsrunase.exe 批处理完成安装字体

1.解压后的Fonts.exe 属性隐藏,防止误删
2.注意命名的安装软件排在所有文件前面。字体文件很多情况下,会造成找不到
域环境users提权调用lsrunase.exe 批处理完成安装字体

五.宣导,或者编辑安装方法文档。

相关内容

热门资讯

伊朗遭遇1979年来最严峻挑战... 作者:钱小岩伊朗正遭遇1979年成立“伊斯兰共和国”以来最大的挑战。据新华社报道,伊朗多地近期出现针...
泽安智成取得管道检测设备专利,... 国家知识产权局信息显示,安徽泽安智成科技有限公司取得一项名为“一种管道用的检测设备”的专利,授权公告...
瞄准人工智能、机器人、新能源,... 近期,全国多所高校相继成立新学院,聚焦具身智能、人工智能、集成电路、生命科学、未来农业等前沿领域,新...
我国自研原位传感器完成验证 可... 近日,由中国科学院西安光学精密机械研究所吴国俊团队牵头研制的多型国产海洋生物地球化学原位传感器完成多...
美国又要对伊朗动手了? 委内瑞拉之后谁会是美国下一个动手的目标,目前处在骚乱中的伊朗危险陡增。有消息说,美国已在制定对伊朗的...
李宁卖咖啡,体育巨头要走茶饮赛... 文|新10亿商业参考 近期,体育用品巨头李宁的跨界动作引发市场广泛关注——旗下独立咖啡品牌“宁咖啡...
微软即刻终止古老部署工具包MD... 微软突然宣布终止历史悠久的微软部署工具包(MDT)服务,让仍在使用该平台的系统管理员们急忙寻找替代方...
小学和幼儿园老师2年减少45万 作者 | 第一财经 林靖近年来,出生人口变化对教育领域产生较大影响。当前,我国人口发展出现了新特征:...
钱大妈港交所披露招股书 社区生... 1月12日晚间,中国社区生鲜连锁企业钱大妈国际控股有限公司(以下简称“钱大妈”)在港交所披露招股书,...
开局之年怎么干?2026年中国... 2026年是“十五五”开局之年站在新起点上一幅通往未来的壮阔画卷正徐徐铺展↓↓↓【1】2026年,推...