记一次利用脚本自动创建桌面快捷方式的处理过程

发布时间:2024年01月14日

一、背景

????????工作中我们可能常常遇到一些需要批量处理的工作任务的场景,例如,为了方便用户快速打开某个应用程序,我们需要在用户的桌面上创建对应的快捷方式。如果手动一个个创建,不仅耗时费力,而且容易出错且没有什么意义。为了解决这个问题,我们决定采用脚本自动化处理的方式,以提高工作效率。

二、应用场景

????????某公司需要为员工批量配置办公电脑,其中一项需求就是在员工的桌面上创建多个快捷方式。这些快捷方式指向的是公司内部常用的应用程序和文件,以便员工能够快速访问和使用。然而,手动创建这些快捷方式不仅效率低下,而且容易出错。因此,我们需要一个自动化的解决方案来解决这个问题。

????????比如我司近期部署了nextcloud系统,现在需要在每一台电脑桌面创建一个快捷方式,以便员工可以快速的访问和使用。

三、解决方案

环境说明

终端管理平台:360天擎管理系统、域控制器

用户终端操作系统:win10

浏览器:Google

浏览器安装路径:有以下两个,一个是PROGRAMFILES目录下,另一个则是在用户目录下

set "chromePath1=%PROGRAMFILES%\Google\Chrome\Application\chrome.exe" ?

set "chromePath2=%LocalAppData%\Google\Chrome\Application\chrome.exe" ?

为了实现自动创建桌面快捷方式的需求,我做了以下两种尝试

方案一:

通过直接创建url快捷方式,然后通过天擎或者域控将url快捷方式分发至用户的桌面

这种方式直接明了,三下五除二就搞定,可是正如截图所示,我们采用的是SSL加密的方式访问nextcloud链接,但是因为自签名的SSL证书,不被浏览器信任访问的时候总是会提示以下内容

????????虽然点击高级-继续访问即可,但是对用户来说他就会觉得这个网站是不是有什么问题,甚至是不知道如何操作,每次遇到问题都会来找你,你也会觉得很烦

????????所以我就在想,有什么方式可以让自签名的ssl证书网站通过Google浏览器访问也不会有以上提示呢??于是有了以下的方案二。

方案二:

????????经过查询相关资料后得知,在访问此类网站的时候可以增加忽略证书错误的参数(--test-type --ignore-certificate-errors),以跳过这个不安全提示,如下图所示

也就是你的快捷方式需要增加这个参数打开才会没有报错,但是这个快捷方式是lnk而不是上面说到的url类型的

目标地址为(注意修改为你电脑桌面的谷歌实际安装路径

C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome.exe --test-type --ignore-certificate-errors https://nextcloud.xxx.com

????????于是此时就出现了另一个问题,每个电脑的浏览器路径可能不一样,而且lnk类型的快捷方式不能直接通过天擎或者域控分发给计算机,而必须是在用户电脑上直接创建。

????????所以为了解决这个问题,我的思路是通过分发脚本然后在用户电脑上自动创建lnk类型的nextcloud快捷方式。

????????后来我们采用了批处理脚本(Batch Script)的方式进行处理(结合了VB)。我将脚本附在文末,具体步骤如下:

1、编写脚本:使用文本编辑器(如Notepad++)编写批处理脚本,其中包含创建快捷方式的命令。

说明:脚本大概就是通过bat将echo输出的内容写入到vbs文件,保存后执行成功则删除vbs文件本身,因为我的谷歌路径有多个,你也可以写个for循环让代码看起来比较优雅。

2、保存脚本:将编写好的脚本保存为“.bat”文件格式。

3、执行脚本:将“.bat”文件复制到需要创建快捷方式的员工电脑固定路径下,同时执行该脚本。(我司使用360天擎管理系统统一分发脚本文件,如果你们公司没有类似的终端管理系统,当然也可以通过配置域控的策略统一分发脚本文件至员工电脑)

4、配置定时任务执行脚本:如果你担心哪天被员工删除,那么你可以通过设置计划任务(Task Scheduler),定期自动运行该脚本,以便为员工自动创建桌面快捷方式。

5、效果,在用户桌面上会生成nextcloud云盘.lnk 的快捷方式,双击运行即可。

四、总结

????????通过使用批处理脚本的方式,我们成功实现了自动创建桌面快捷方式的需求。这不仅提高了工作效率,减少了人工操作的错误率,而且为员工提供了更加便捷的工作体验。在未来的工作中,我们可以继续探索和应用更多的自动化技术,以提高工作效率和降低工作成本。

? ? ? ?

好了

今天的分享就到这里了

下一次不知道什么时候见了

主打的就是一个随心所欲

不过倒是想研究一下开源网盘nextcloud的域账号认证,且自助通过邮箱账户重置域账户密码

下篇文章见吧!

原文链接

五、脚本附件

脚本附件:

@echo off ?

set "deskpath=%USERPROFILE%\Desktop\NextCloud云盘.lnk"

set "chromePath1=%PROGRAMFILES%\Google\Chrome\Application\chrome.exe" ?

set "chromePath2=%LocalAppData%\Google\Chrome\Application\chrome.exe" ?

if exist "%chromePath1%" ( ?

????type nul > CreateShortcut.vbs ?

????echo Set oWS = WScript.CreateObject^("WScript.Shell"^)>>CreateShortcut.vbs ?

????echo sLinkFile = "%deskpath%">>CreateShortcut.vbs ?

????echo Set oLink = oWS.CreateShortcut^(sLinkFile^)>>CreateShortcut.vbs ?

????echo oLink.TargetPath = "%chromePath1%">>CreateShortcut.vbs ?

????echo oLink.Arguments = "--test-type --ignore-certificate-errors https://nextcloud.xxx.com">>CreateShortcut.vbs ?

????echo oLink.Save>>CreateShortcut.vbs ?

????cscript //nologo CreateShortcut.vbs >nul ?

????del CreateShortcut.vbs ?

????del "%USERPROFILE%\Desktop\NextCloud云盘.url"

) ?

if exist "%chromePath2%" ( ?

????type nul > CreateShortcut.vbs ?

????echo Set oWS = WScript.CreateObject^("WScript.Shell"^)>>CreateShortcut.vbs ?

????echo sLinkFile = "%deskpath%">>CreateShortcut.vbs ?

????echo Set oLink = oWS.CreateShortcut^(sLinkFile^)>>CreateShortcut.vbs ?

????echo oLink.TargetPath = "%chromePath2%">>CreateShortcut.vbs ?

????echo oLink.Arguments = "--test-type --ignore-certificate-errors https://nextcloud.xxx.com">>CreateShortcut.vbs ?

????echo oLink.Save>>CreateShortcut.vbs ?

????cscript //nologo CreateShortcut.vbs >nul ?

????del CreateShortcut.vbs ?

????del "%USERPROFILE%\Desktop\NextCloud云盘.url"

)else ( ?

????echo Chrome browser not found. ?

) ?

文章来源:https://blog.csdn.net/ihaveapanchan/article/details/135573578
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。