您好,登錄后才能下訂單哦!
默認情況下安裝字體需要管理員權限。
如果只是把字體文件復制到%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 usr=administrator@kaedeleo.com
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管理員知道哪些失敗了,以保證所有人都獲取到這個“根”腳本。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。