曲径通幽论坛

标题: 删除所有分区的默认共享 [打印本页]

作者: easy    时间: 2014-5-12 13:02
标题: 删除所有分区的默认共享
下面代码用来删除所有分区的默认共享:
  1. @echo off
  2. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  3. ::
  4. ::     先列举存在的分区,然后再逐个删除以分区名命名的共享;
  5. ::     通过修改注册表防止admin$共享在下次开机时重新加载;
  6. ::     IPC$共享需要administritor权限才能成功删除
  7. ::
  8. ::                             jm 改动于 2006-5-12
  9. ::
  10. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  11. title 默认共享删除器
  12. echo.
  13. echo ------------------------------------------------------
  14. echo.
  15. echo 开始删除每个分区下的默认共享.
  16. echo.
  17. 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 @(
  18.     if exist %%a:\nul (
  19.         net share %%a$ /delete>nul 2>nul && echo 成功删除名为 %%a$ 的默认共享 || echo 名为 %%a$ 的默认共享不存在
  20.     )
  21. )
  22. net share admin$ /delete>nul 2>nul && echo 成功删除名为 admin$ 的默认共享 || echo 名为 admin$ 的默认共享不存在
  23. echo.
  24. echo ------------------------------------------------------
  25. echo.
  26. net stop Server>nul 2>nul && echo Server服务已停止.
  27. net start Server>nul 2>nul && echo Server服务已启动.
  28. echo.
  29. echo ------------------------------------------------------
  30. echo.
  31. echo 修改注册表以更改系统默认设置.
  32. echo.
  33. echo 正在创建注册表文件.
  34. echo Windows Registry Editor Version 5.00> c:\delshare.reg
  35. :: 通过注册表禁止Admin$共享,以防重启后再次加载
  36. echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>> c:\delshare.reg
  37. echo "AutoShareWks"=dword:00000000>> c:\delshare.reg
  38. echo "AutoShareServer"=dword:00000000>> c:\delshare.reg
  39. :: 删除IPC$共享,本功能需要administritor权限才能成功删除
  40. echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>> c:\delshare.reg
  41. echo "restrictanonymous"=dword:00000001>> c:\delshare.reg
  42. echo 正在导入注册表文件以更改系统默认设置.
  43. regedit /s c:\delshare.reg
  44. del c:\delshare.reg && echo 临时文件已经删除.
  45. echo.
  46. echo ------------------------------------------------------
  47. echo.
  48. echo 程序已经成功删除所有的默认共享.
  49. echo.
  50. echo 按任意键退出...
  51. pause>nul
复制代码

说明:

&& 符号表示,如果前面执行正确,则执行它后面的语句,否则不执行。
|| 符号表示,如果前面执行不正确,则执行它后面的语句。
for 语句后面的 do 的括号前使用了 @ 符号表示括号里头的命令执行不回显。

Server 服务提供 RPC 支持以及文件,打印和命名管道的共享。如果打开该服务,系统在每次注销或重新启动后,默认共享就会打开。

regedit /s 以静默方式导入注册表文件。






欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2