在严格的网络管理环境中,最终用户的权限被限制得比较严格,被禁止随意改变系统的行为。在我们的网络环境中,学生是被禁止添加/删除QuickLaunch上的图标的,不仅如此,无线网络,打印机等等,都受到严格的权限控制,这些限制不仅是为了满足教育局的管理目标,同时也是为了能够保证电脑系统能提供持续的而一致的服务,并降低服务需求的措施之一。本文就是在这样的环境需求下书写的。

在系统部署的过程中,操作系统和软件等安装和基本配置可以被定制,之后还需要为用户环境进行定制,QuickLaunch的定制就是在实际工作中遇到的一个方面。通过查找资料,其实这个过程还是比较简单的。主要步骤是,在一台电脑上先定制好用户的图标,然后把Shortcuts目录和相关Registry复制下来,再把他们复制到Default用户目录中,这样每个新登陆用户就会自动拥有定制好的图标。

在现实中,还有两个问题,一是:对于已经有好多用户使用的电脑上,要部署QuickLaunch图标,需要或者把所有已经存在的本地用户目录删除,当下次登陆时,系统按照新用户处理,或者直接变更这些用户的图标。二是:在模板的基础上,如何把这个过程尽量的自动化一些。这个过程对于我本人来说是熟悉的,如何操作和以后的维护都好办。不过,在一个广域网络环境中,我们有200多所地处本市各地的学校,还有很多基层技术支持人员,他们会面对不同的学校需求,他们需要根据需求定制适合该学校软件环境和教师期望的电脑系统,虽然我们可以有文档辅助大家使用,甚至是培训,但是手动过程应该尽量减少,以减少各个技术人员的个人因素导致的额外问题。所以,定制模板并尽量自动化是一个需要考虑的技术问题。

下面,我们来看看我建议的实施过程,并包括所有的脚本/命令文件。

手动步骤:
1.备份定制

首先,找到一台试验机,最好是刚刚被重新镜像过的全新系统,所有的软件都已经安装完毕。使用一个至少可以定制QuickLaunch图标以及运行Regisrter的用户登录(最好是本地的 system administrator,后面解释原因),把使用的图标拖拽到QuickLaunch条上,并排列好顺序。然后备份该用户目录中的下列目录:

[html] view plaincopy
"%USERPROFLIE%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
之后使用RegEdit把下面的路径的注册表目录输出到一个文件中

[html] view plaincopy
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband

然后,为了可以方便地部署,需要修改注册表文件的一个部分,需要把HKEY_CURRENT_USER改变为可用的,我给他改为HKEY_USERS\TempHive,见图。其实不一定是TempHive,只要是一个前后使用相同名字的有效Registry键名即可。

1.测试

之后,登陆到本地系统管理员帐户,运行RegEdit程序,选择HKEY_USERS,在菜单中选择Load Hive,在文件打开窗中,选择一个用户的NTUSER.DAT文件,并给它一个名字,我们叫它TempHive。然后,在菜单中选择Import...,并选择刚才被修改了的Registry文件,并选择菜单Unload Hive,并保存。见下图:

如果看不见NTUSER.DAT需要在Folder Options中取消Hide protected operating system files(Recommended)。取消它之后,在Windows浏览器中,所有的文件都可见,比较令人烦,所以完成本操作后,最好重新选上。见下图:

把先前备份的那个TaskBar目录的所有文件都复制到该用户下面的对应目录中。

登陆到刚才修改了的该用户中,看看图标是不是都改过来了,如果修改的是Default用户,那么用一个新用户登录测试。

自动部署:
如果上面的测试结果有效,那么就可以使用下面的命令文件来自动化这个部署过程。

建立一个目录QuickLanuch_Win7,并建立子目录,Shortcuts和TempRegs。假定我们把TaskBar里的文件复制到Shortcuts中,把那个Registry文件复制到TemRegs中。再把下面的两个命令文件复制到QuickLaunch_Win7目录中。

下面的文件名是Install.cmd

[html] view plaincopy
ECHO OFF

:: ---------------------------------------------------------------------------------------
:: Add QuickLaunch icons for all users
:: History:
:: Initial: Oct 24, 2012 Tony Liu
::
:: Description: Install.cmd.
::
:: How TO:
:: Put all the program shortcuts in Shortcuts folders.
::
:: Copyright (c) 2012, Tony Liu'
::
:: This program is free software; you can redistribute it and/or
:: modify it under the terms of the GNU General Public License
:: as published by the Free Software Foundation; either version 2
:: of the License, or (at your option) any later version.
::
:: This program is distributed in the hope that it will be useful,
:: but WITHOUT ANY WARRANTY; without even the implied warranty of
:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
:: GNU General Public License for more details.
::
:: You should have received a copy of the GNU General Public License
:: along with this program; if not, write to the Free Software
:: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
::
:: Contact: Tonyliu2ca@gmail.com
:: ---------------------------------------------------------------------------------------

cd %~d0
cd %~d0%~p0

Echo ---------------------------------------------------------------------------- >> History.log
Echo : Add QuickLaunch icons for all users : >> History.log
Echo Start: %time%, %date% >> History.log
systeminfo | find "Host Name" >> History.log
Echo Windows Version: >> History.log
systeminfo | find "OS Name" | find "Windows 7" >> History.log
if %ERRORLEVEL% NEQ 0 goto End

for /F "delims=*" %%i in ('dir /A /B %SystemDrive%\Users') do @Putin.cmd "%%i" Shortcuts "History.log"

:End
Echo End: %time%, %date% >> History.log

下面的文件名是putin.cmd

[html] view plaincopy
echo off
:: ---------------------------------------------------------------------------------------
:: Process files in place for one user.
:: History:
:: Initial: Oct 24, 2012 Tony Liu
::
:: Description: Putin.cmd.
::
:: How TO:
:: Put all the program shortcuts in Shortcuts folders and import registry entry.
::
:: Copyright (c) 2012, Tony Liu'
::
:: This program is free software; you can redistribute it and/or
:: modify it under the terms of the GNU General Public License
:: as published by the Free Software Foundation; either version 2
:: of the License, or (at your option) any later version.
::
:: This program is distributed in the hope that it will be useful,
:: but WITHOUT ANY WARRANTY; without even the implied warranty of
:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
:: GNU General Public License for more details.
::
:: You should have received a copy of the GNU General Public License
:: along with this program; if not, write to the Free Software
:: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
::
:: Contact: Tonyliu2ca@gmail.com
:: ---------------------------------------------------------------------------------------

IF NOT Exist %~2 Exit /B 0

IF "%USERNAME%" == "%~1" (
Echo - %1 is Current user. >> %~3
) ELSE (
IF EXIST "%SystemDrive%\Users\%~1\NTUSER.DAT" (
IF EXIST "%SystemDrive%\Users\%~1\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" (
Del /F "%SystemDrive%\Users\%~1\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\*.lnk"
xcopy %2\*.* "%SystemDrive%\Users\%~1\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\" /Y /I /E /R /H /Q /C

REG load HKU\TempHive "%SystemDrive%\Users\%~1\NTUSER.DAT"
:: for /F "delims=*" %%i in ('dir /A /B ^"%~d0%~p0TempRegs\*.reg^"') do echo ..."%~d0%~p0TempRegs\%%i"
for /F "delims=*" %%i in ('dir /A /B ^"%~d0%~p0TempRegs\*.reg^"') do REG import "%~d0%~p0TempRegs\\%%i"
REG unload HKU\TempHive
Echo - %1 is done. >> %~3
)
) ELSE (
Echo - %1 isn't a user. >> %~3
)
)

如果没有错误,在这个目录中运行Install.cmd就可以在任何一台Win7中为所有用户定制QuickLaunch图标了。

自动获取:

通过对自己系统的研究和经验,每个管理员对自己系统都有一个了解,什么是基本的配置,比如我们,MS Word和Internet Explorer是两个所有系统都必备常用的图标,那么我可以做一个基本图标的模板为他人以后添加新图标使用;也可以根据情况作一个最大图标的模板,这样其他人只要是根据自己的情况把无需的删除即可。总之,模板好办。

前面说了,不仅要有模板还有尽量避免人为错误,那么上面的人为错误最容易犯的就是定制图标之后的那些人工步骤,我们通过下面的命令文件和一个VBS脚本,就可以轻松解决了。

把下面的命令文件保存在QuickLaunch_Win7目录中,叫做Make.cmd

[html] view plaincopy
:: ---------------------------------------------------------------------------------------
::
:: Make.cmd for Quicklaunch Win7
::
:: Description:
:: After admin make quick launch icons done in current user, this cmd will copy all the nessary info
:: to correct folder to be ready for deployment.
:: This cmd must be run on the user who make all the icons ready and map to local drive if it is saved
:: on network share folder.
::
:: History:
:: Oct 25, 2012
::
:: Copyright (c) 2012, Tony Liu'
::
:: This program is free software; you can redistribute it and/or
:: modify it under the terms of the GNU General Public License
:: as published by the Free Software Foundation; either version 2
:: of the License, or (at your option) any later version.
::
:: This program is distributed in the hope that it will be useful,
:: but WITHOUT ANY WARRANTY; without even the implied warranty of
:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
:: GNU General Public License for more details.
::
:: You should have received a copy of the GNU General Public License
:: along with this program; if not, write to the Free Software
:: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
::
:: Contact: Tonyliu2ca@gmail.com
:: ---------------------------------------------------------------------------------------

%~d0
cd %~d0%~p0

del Shortcuts\*.*
del TempRegs\*.*

xcopy "%USERPROFLIE%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\*.*" .\Shortcuts\ /Y /I /E /R /H /Q /C
reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband .\TempRegs\Taskband.reg /y

cscript Replace.vbs .\TempRegs\Taskband.reg "[HKEY_CURRENT_USER\" "[HKEY_USERS\TempHive\"

把下面的文件保存为Replace.vbs(这个VBScript是网上免费找到的)

[html] view plaincopy
Const ForReading = 1
Const ForWriting = 2

strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close

strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewText 'WriteLine adds extra CR/LF
objFile.Close

在其他技术人员定制完所有图标后,只要运行该Make.cmd,就可以完成上面手动的各个复制和修改步骤。

Tony L.

2012

转载于:https://www.cnblogs.com/blogpro/p/11446707.html

Win7如何部署定制的Quicklaunch图标相关推荐

  1. Win7:如何部署定制的Quicklaunch图标

    在严格的网络管理环境中,最终用户的权限被限制得比较严格,被禁止随意改变系统的行为.在我们的网络环境中,学生是被禁止添加/删除QuickLaunch上的图标的,不仅如此,无线网络,打印机等等,都受到严格 ...

  2. iOS 9应用开发教程之定制应用程序图标以及真机测试

    iOS 9应用开发教程之定制应用程序图标以及真机测试 定制ios9应用程序图标 在图1.12中可以看到应用程序的图标是网状白色图像,它是iOS模拟器上的应用程序默认的图标.这个图标是可以进行改变的.以 ...

  3. win7系统找不到我的电脑图标的应对办法

    我们在使用win7系统电脑的过程中或多或少都会遇到一些问题,最近有用户表示自己在使用电脑时发现我的电脑图标不见了,怎么显示我的电脑图标?针对用户提出的问题,今天小编就和大家分享一下win7系统找不到我 ...

  4. 解决win7能上网却右下角网络图标显示红色叉号的问题

    解决win7能上网却右下角网络图标显示红色叉号的问题 参考文章: (1)解决win7能上网却右下角网络图标显示红色叉号的问题 (2)https://www.cnblogs.com/william-le ...

  5. win7桌面不显示我的计算机名,win7系统桌面没有显示我的电脑图标的操作技巧

    win7系统使用久了,好多网友反馈说win7系统桌面没有显示我的电脑图标的问题,非常不方便.有什么办法可以永久解决win7系统桌面没有显示我的电脑图标的问题,面对win7系统桌面没有显示我的电脑图标到 ...

  6. windows7隐藏桌面计算机,教你win7小技巧之隐藏桌面图标

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到教你win7小技巧之隐藏桌面图标的问题,如果我们遇到了教你win7小技巧之隐藏桌面图标的情况,该怎么处理怎么才能解决教你 ...

  7. U盘图标更改 简单三步教你个性化定制U盘图标!自定义修改你的U盘

    U盘图标 教你个性化定制U盘图标! 先看看效果图 一.首先 1. 在U盘的根目录中创建一个TXT文本文件 (U盘的根目录也就是刚打开U盘的那个目录界面) 文档中输入代码: [autorun] ICON ...

  8. windows7隐藏桌面计算机,win7小技巧之隐藏桌面图标

    小编这里为大家带来这篇关于win7系统小技巧之隐藏桌面图标的教程,很多用户的电脑在使用一段时间之后,屏幕上就放满了各种各样的文件,让人眼花缭乱,那么我们怎样将这些图标暂时的隐藏起来,让桌面变得更整洁呢 ...

  9. win7桌面右下角有计算机图标,win7系统电脑任务栏右下角图标空白的解决方法

    我们在操作win7系统电脑的时候,常常会遇到win7系统电脑任务栏右下角图标空白的困惑吧,一些朋友看过网上零散的win7系统电脑任务栏右下角图标空白的处理方法,并没有完完全全明白win7系统电脑任务栏 ...

最新文章

  1. NSNotification消息通知实现源码(观察者模式原理)
  2. 面向对象程序设计基本概念
  3. 七牛云徐晶:低延迟互动时代看好WebRTC和SRT
  4. 修改WordPress主题导致整个站点404无法访问
  5. 【java】java原生序列化和Kryo序列化性能实例对比分析
  6. 自动拷贝远程服务器文件夹,怎么从远程服务器上拷贝文件夹
  7. MOSS2007匿名调查列表使用分页符导致的错误分析
  8. Anaconda版本选择 Python3.6版本的Anaconda下载
  9. java贪吃蛇项目总结_贪吃蛇总结
  10. 二元二次方程例题_二元二次方程组-解法-例题
  11. @PreAuthorize、@Secured、 @RolesAllowed优先级
  12. 欢迎大家加入Xcode公社
  13. mx450和gtx1050ti哪个好
  14. Firefox input 光标丢失
  15. 【硬件】机器人平台搭建
  16. 使用Monkeyrunner进行Android自动化的总结
  17. 《程序员健康指南》作者Joe Kutner:在运动中工作
  18. android固定位置拍照,Android调用系统相机拍照并保存到指定位置
  19. Android studio 关于页面跳转问题
  20. 声呐数据集---处理

热门文章

  1. x86服务器MCE(Machine Check Exception)问题
  2. 空指针异常NullPointerException(小结)
  3. 关于浏览器方向的大厂面试题
  4. Sass、LESS 和 Stylus区别总结
  5. 利用天翎知识文档+群晖NAS搭建企业知识库,享用智能检索
  6. WPF 使用 Direct2D1 画图 绘制基本图形
  7. 2020vue运行出现ESLint is disabled since its execution has not been approved or denied yet. Use the ligh
  8. 【蓝桥杯】《试题 基础练习 特殊回文数》详解
  9. Python读写Excel文件-1
  10. 为什么开发与测试老掐架呢