Windows使用批处理脚本快速创建访问共享文件夹的快捷方式

前言

前阵子要给公司很多电脑安装访问共享文件夹快捷方式,方便各部门使用共享文件夹访问共享文件,实现内部办公资源共享,前期没有设置,现在又没有专门的分发软件,需要每台电脑都去帮忙新建一个访问共享文件的快捷方式

你要告诉每个人访问共享的账号密码让他们登录,登录时可能遇到的问题下面会讲到。
你要教他们设置又比较费劲,“公司有IT,干嘛还要自己动手?”
要去对每个人的鼠标摸一下还是也还是比较油腻的。

于是寻思使用Windows批处理脚本实现快速批量创建快捷方式及Windows管理凭据

关于Windows共享的知识

先来讲一下Windows下访问共享文件夹的一点小知识。

由于Windows的策略默认会使用当前账号(普遍为Administrator)密码去访问共享文件夹(共享服务器端的同名账户是禁用的或不允许空密码访问,当客户端还用同名账户去验证的时候,服务器返回这个账户禁止,客户端就不换用户直接终止了共享访问),因此访问共享文件时会出现两种情景。

  1. 当电脑设置有密码时提示账号密码错误,也就会有输入账号密码的弹窗出现。
登录共享
  1. 在没有设置密码的电脑访问时,因为不允许使用空密码访问的策略,则会提示无法访问共享,并且没有出现输入账号密码的提示框,无法使用共享账号登录。
拒绝访问
  • 解决方案 1:

修改组策略,不启用空密码只能控制台登录,使得电脑没设置密码的情况下也会出现登录的弹窗,即可以使用账号登录。

策略设置
  • 解决方案 2:

设置Windows凭据(当Windows凭据管理其中设置有账号密码时,会使用设置的账号密码访问),让系统使用凭据去访问共享文件夹。

凭据管理器

简单流程如下:


flowchat

st=>start: 运行

e=>end: 访问成功

op=>operation:  \\共享路径

cond=>condition: 当前账号是否有密码?

cond2=>condition: 账号密码是否正确?

op2=>operation: 登录窗口

e2=>end: 访问失败

st->op->cond

cond(yes)->cond2

cond(no)->e2

cond2(yes)->e

cond2(no)->op2

op2->cond

一种解决方案

面对可能出现的问题,我的解决方案就是设置一个Windows凭据和一个桌面快捷方式,实现快捷登录访问共享。

因此,我要设置的就是

  1. 自动创建一个访问共享文件夹的桌面快捷方式
创建快捷方式
  1. 自动创建部门对应的Windows登录凭据
创建Windows凭据

批处理脚本的实现

通过这个思路,我就可以做一个.cmd或者.bat的批处理文件来实现自动创建桌面 快捷方式Windows凭据

然后将脚本文件通过公司企业邮箱发送给各部门同事们,让他们双击安装就可以了。

脚本分析:


//使用cmdkey命令创建Windows凭据,然后调用vbscript生成桌面快捷方式

[图片上传失败...(image-368bfa-1555080339117)]

完整脚本如下:

简约版


@echo off

echo 此脚本用于创建部门扫描文件盘快捷方式

cmdkey /add:192.168.1.240 /user:hr /pass:hr@2019

set Program=\\192.168.240\人力资源部

set LnkName=人力资源部扫描盘

set WorkDir=

set Desc=人力资源部部扫描文件存放共享盘

if not defined WorkDir call:GetWorkDir "%Program%"

(echo Set WshShell=CreateObject("WScript.Shell"^)

echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)

echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)

echo oShellLink.TargetPath="%Program%"

echo oShellLink.WorkingDirectory="%WorkDir%"

echo oShellLink.WindowStyle=1

echo oShellLink.Description="%Desc%"

echo oShellLink.Save)>makelnk.vbs

echo 正在创建桌面快捷方式...请勿退出,耐心等待!

makelnk.vbs

del /f /q makelnk.vbs

mshta vbscript:msgbox("设置完成!--IT部,By Wolfman",64,"IT部")(Window.close)

exit

goto :eof

:GetWorkDir

set WorkDir=%~dp1

set WorkDir=%WorkDir:~,-1%

goto :eof

简约版效果展示
简约版效果

美化版


@echo off

title 安装扫描盘--By Wolfman

mode con cols=43 lines=8

color 1f

echo ※※※※※※※※※※※※※※※※※※※※※※

echo ※  公司专用共享盘快捷方式安装脚本      ※

echo ※          IT部出品                ※

echo ※先关掉360,腾讯管家,金山毒霸等杀毒软件 ※

echo ※※※※※※※※※※※※※※※※※※※※※※

echo.

pause

cmdkey /add:192.168.1.240 /user:hr /pass:hr@2019

set Program=\\192.168.1.240\人力资源部

set LnkName=人力资源部扫描盘

set WorkDir=

set Desc=人力资源部扫描共享盘

if not defined WorkDir call:GetWorkDir "%Program%"

(echo Set WshShell=CreateObject("WScript.Shell"^)

echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)

echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)

echo oShellLink.TargetPath="%Program%"

echo oShellLink.WorkingDirectory="%WorkDir%"

echo oShellLink.WindowStyle=1

echo oShellLink.Description="%Desc%"

echo oShellLink.Save)>makelnk.vbs

echo ※※※※※※※※※※※※※※※※※※※※※

echo ※                                ※

echo ※            执行完毕            ※

echo ※                                ※

echo ※※※※※※※※※※※※※※※※※※※※※

makelnk.vbs

del /f /q makelnk.vbs

exit

goto :eof

:GetWorkDir

set WorkDir=%~dp1

set WorkDir=%WorkDir:~,-1%

goto :eof

简约版效果展示

[图片上传失败...(image-21aa3a-1555080339117)]

[图片上传失败...(image-f4d55f-1555080339117)]

这样,我们就能快速的创建共享文件的快捷方式了!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,250评论 0 10
  • 0 操作成功完成。1 功能错误。2 系统找不到指定的文件。3 系统找不到指定的路径。4 系统无法打开文件...
    ccq_inori阅读 7,996评论 0 0
  • WinRAR - 最新版本的更新 版本 5.50 1. WinRAR 和命令行 RAR 默认使用 RAR ...
    王舒璇阅读 7,053评论 0 2
  • 初衷:一台服务器上只有一个80端口,如果要部署多套网站,难免会有www.veblen.com:80808080或者...
    Veb阅读 6,917评论 2 17
  • 一直以来都觉得道德经是个好东西,但是没有去研究过,对道家的了解也是停留在几个片面的认知,甚至还有些错误的理解,哪怕...
    Hyleon阅读 2,241评论 0 0

友情链接更多精彩内容