中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]批处理删除所有分区的默认共享
« [1] [2] »
作者:
标题: [已结]批处理删除所有分区的默认共享 上一主题 | 下一主题
chineselgs
高级用户

论坛灌水专业户


积分 613
发帖 266
注册 2006-4-19
来自 河南省
状态 离线
『楼 主』:  [已结]批处理删除所有分区的默认共享

请帮我解释下面的批处理的每个命令的意思:

net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share admin$ /del
net share ipc$ /del
del c:\winnt\logo1_.exe


谢谢!!!

[ Last edited by willsort on 2006-6-14 at 17:08 ]



饮马恒河畔,剑指天山西,碎叶城揽月,库叶岛赏雪,黑海之滨垂钓,贝尔加湖面张弓;中南半岛访古,东京废墟祭祖!
  
2006-6-9 18:47
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (342210799)  编辑帖子  回复  引用回复
Scott0902
中级用户





积分 466
发帖 237
注册 2005-10-12
状态 离线
『第 2 楼』:  

关闭NT默认服务,最后删除logo1_.exe

2006-6-9 19:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chineselgs
高级用户

论坛灌水专业户


积分 613
发帖 266
注册 2006-4-19
来自 河南省
状态 离线
『第 3 楼』:  

谢谢啦!!!



饮马恒河畔,剑指天山西,碎叶城揽月,库叶岛赏雪,黑海之滨垂钓,贝尔加湖面张弓;中南半岛访古,东京废墟祭祖!
  
2006-6-9 19:46
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (342210799)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  其实楼主所帖的脚本并不能删除所有分区的默认共享,并且有可能删不掉ipc$共享,更要命的是,还有可能在下次启动的时候自动重新生成默认的admin$共享。
  下面帖一个经过本人注释过和小小改动过的脚本出来,楼主可以对比一下。
@echo off
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
::     先列举存在的分区,然后再逐个删除以分区名命名的共享;
::     通过修改注册表防止admin$共享在下次开机时重新加载;
::     IPC$共享需要administritor权限才能成功删除
::
::                             jm 改动于 2006-5-12
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

title 默认共享删除器
echo.
echo ------------------------------------------------------
echo.
echo 开始删除每个分区下的默认共享.
echo.
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(
    if exist %%a:\nul (
        net share %%a$ /delete>nul 2>nul && echo 成功删除名为 %%a$ 的默认共享 || echo 名为 %%a$ 的默认共享不存在
    )
)
net share admin$ /delete>nul 2>nul && echo 成功删除名为 admin$ 的默认共享 || echo 名为 admin$ 的默认共享不存在
echo.
echo ------------------------------------------------------
echo.
net stop Server>nul 2>nul && echo Server服务已停止.
net start Server>nul 2>nul && echo Server服务已启动.
echo.
echo ------------------------------------------------------
echo.
echo 修改注册表以更改系统默认设置.
echo.
echo 正在创建注册表文件.
echo Windows Registry Editor Version 5.00> c:\delshare.reg
:: 通过注册表禁止Admin$共享,以防重启后再次加载
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg
echo "AutoShareWks"=dword:00000000>> c:\delshare.reg
echo "AutoShareServer"=dword:00000000>> c:\delshare.reg
:: 删除IPC$共享,本功能需要administritor权限才能成功删除
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>> c:\delshare.reg
echo "restrictanonymous"=dword:00000001>> c:\delshare.reg
echo 正在导入注册表文件以更改系统默认设置.
regedit /s c:\delshare.reg
del c:\delshare.reg && echo 临时文件已经删除.
echo.
echo ------------------------------------------------------
echo.
echo 程序已经成功删除所有的默认共享.
echo.
echo 按任意键退出...
pause>nul
[ Last edited by namejm on 2006-6-9 at 19:52 ]

2006-6-9 19:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chineselgs
高级用户

论坛灌水专业户


积分 613
发帖 266
注册 2006-4-19
来自 河南省
状态 离线
『第 5 楼』:  

非常感谢楼上的!!!!



饮马恒河畔,剑指天山西,碎叶城揽月,库叶岛赏雪,黑海之滨垂钓,贝尔加湖面张弓;中南半岛访古,东京废墟祭祖!
  
2006-6-10 14:32
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (342210799)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 6 楼』:  


───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:修改标题 - 帮我解释一下~
───────────────── 版务记录 ─────────────────




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-6-14 17:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flysp
中级用户




积分 207
发帖 41
注册 2004-10-24
状态 离线
『第 7 楼』:  

学习中……

2006-6-15 17:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 8 楼』:  

不用输出 .reg 文件啦,用 reg 命令直接改就是了




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-6-15 22:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoung0
初级用户





积分 54
发帖 18
注册 2005-11-5
状态 离线
『第 9 楼』:  

恩。if exist %%a:\nul  可以不用nul吧。-  -

2006-9-18 05:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kennyfan
中级用户




积分 259
发帖 112
注册 2006-9-18
状态 离线
『第 10 楼』:  

呵呵.4楼厉害!~

2006-9-18 11:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『第 11 楼』:  

4楼的你们也别全信,多数都是花架子.闷不懂的,也不知是从哪抄来的。其实就是
一句话,修改注册表项才是真的。
------------------------------
@echo off
echo  Windows Registry Editor Version 5.00> c:\lswj.reg
echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\lswj.reg
echo "AutoShareWks"=dword:00000000>> c:\lswj.reg
echo "AutoShareServer"=dword:00000000>> c:\lswj.reg
regedit /s c:\lswj.reg
del c:\lswj.reg
------------------------------
如果要恢复,你就改成 1 即:

@echo off
echo  Windows Registry Editor Version 5.00> c:\lswj.reg
echo  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\lswj.reg
echo "AutoShareWks"=dword:00000001>> c:\lswj.reg
echo "AutoShareServer"=dword:00000001>> c:\lswj.reg
regedit /s c:\lswj.reg
del c:\lswj.reg

----------=---------

2006-9-28 09:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 12 楼』:  

楼上兄弟的修改注册表的确是最可取的, 但4楼的代码也很全面.

我也发段批处理删除共享的代码:
@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
    if not "%%i"=="命令成功完成。" if /i not "%%i"=="ipc$" net share %%i /delete
)
pause

[ Last edited by pengfei on 2006-9-28 at 11:29 ]

2006-9-28 09:40
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 13 楼』:  

  嘿嘿,我那段代码确实是网上抄袭过来的,对注册表不是很懂,只添加了判断盘符的功能,并添加了点注释而已。

  再贴一段网上copy的东西出来,这个要全面一点,大家可以各取所需:
     

五板斧封杀Windows默认共享

Windows 2000/XP/2003版本的操作系统提供了默认共享功能,这些默认的共享都有“$”标志,意为隐含的,包括所有的逻辑盘(C$,D$,E$……)和系统目录Winnt或Windows(admin$)。

  带来的问题:

  微软的初衷是便于网管进行远程管理,这虽然方便了局域网用户,但对我们个人用户来说这样的设置是不安全的。如果电脑联网,网络上的任何人都可以通过共享硬盘,随意进入你的电脑。所以我们有必要关闭这些共享。更为可怕的是,黑客可以通过连接你的电脑实现对这些默认共享的访问。

  关闭这些默认共享的方法很多,笔者整理了五种,相信总有一种适合您。

  小知识:

  访问WindowsXP默认共享非常简单:一是通过“开始”→“运行”,输入“\\计算机名或IP地址\D$或admin$”(不包括两侧的引号,下同);二是使用IE等浏览器,在地址栏中输入上述格式或“file://10.80.34.33/d$”。

      一、右键“停止共享”法

  到“计算机管理”窗口中某个共享项(比如H$)上右键单击,选择“停止共享” 并确认后就会关闭这个共享,它下面的共享图标就会消失,重复几次所有的项目都可以停止共享。

  注意:但这种方法治标不治本,如果机器重启的话,这些共享又会恢复。此法比较适合于永不关闭的服务器,简单而且有效。

  二、批处理自启动法

  打开记事本,输入以下内容(记得每行最后要回车):

  net share ipc$ /delete
  net share admin$ /delete
  net share c$ /delete
  net share d$ /delete
  net share e$ /delete

  ……(你有几个硬盘分区就写几行这样的命令)

  保存为NotShare.bat(注意后缀!),然后把这个批处理文件拖到“程序”→“启动”项,这样每次开机就会运行它,也就是通过net命令关闭共享。

  如果哪一天你需要开启某个或某些共享,只要重新编辑这个批处理文件即可(把相应的那个命令行删掉)。

  三、注册表改键值法

  “开始”→“运行”输入“regedit”确定后,打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters”项,双击右侧窗口中的“AutoShareServer”项将键值由1改为0,这样就能关闭硬盘各分区的共享。如果没有AutoShareServer项,可自己新建一个再改键值。然后还是在这一窗口下再找到“AutoShareWks”项,也把键值由1改为0,关闭admin$共享。最后到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”项处找到“restrictanonymous”,将键值设为1,关闭IPC$共享。

  注意:本法必须重启机器,但一经改动就会永远停止共享。

  四、停止服务法

  还是到“计算机管理”窗口中,单击展开左侧的“服务和应用程序”并选中其中的“服务”,此时右侧就列出了所有服务项目。共享服务对应的名称是“Server”(在进程中的名称为services),找到后双击它,在弹出的“常规”标签中把“启动类型”由原来的“自动”更改为“已禁用”。然后单击下面“服务状态”的“停止”按钮,再确认一下就OK了。

  五、卸载“文件和打印机共享”法

  右击“网上邻居”选“属性”,在弹出的“网络和拨号连接”窗口中右击“本地连接”选“属性”,从“此连接使用下列选定的组件”中选中“Microsoft网络的文件和打印机共享”后,单击下面的“卸载”按钮并确认一下。

  注意:本方法最大的缺陷是当你在某个文件夹上右击时,弹出的快捷菜单中的“共享”一项消失了,因为对应的功能服务已经被卸载掉了!




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-28 10:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『第 14 楼』:  

我也发段批处理删除共享的代码:
@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
    if not "%%i"=="命令成功完成。" net share %%i /delete
)
pause
你这段批处理删除共享不灵的哦!会拒绝访问和发生错误5

2006-9-28 11:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 15 楼』:  

IPC$共享是无法删除的, 出现错误也不足为怪...

加了个判断, 跳过ipc$. 它的执行原理是列出所有共享, 然后一个个删除.

@echo off
for /f "skip=4 tokens=1" %%i in ('net share') do (
    if not "%%i"=="命令成功完成。" if /i not "%%i"=="ipc$" net share %%i /delete
)
pause

[ Last edited by pengfei on 2006-9-29 at 06:06 ]

2006-9-28 11:26
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: