您的位置: 网站首页 > 系统技术 > 阅读文章

最新的局域网打印机共享一键设置 BAT 程序 – 解决无法共享问题

  前天下午楼下有两台电脑要共享打印机,都是 Windows 7,所有的设置都做了,也都能相互 Ping 通,就是死活不能共享,奇怪了。。是不是 Windows 7 Home 家庭版就是不能共享的?有待进一步验证。其实局域网的共享涉及到诸多修改,比如相关系统服务的开启,Guest用户的启用,组策略的相关权限设置,防火墙的关闭或设置,此还有“网络与共享中心”下的启用网络发现、启用文件和打印机共享等。

  一般电脑小白根本不会设置,即使是技术人员,一项一项去设置也很麻烦。于是就在想,有没有程序可以一键进行设置,程序网上找的,做了一定的修改升级,经测试,可解决共享问题,不过由于情况复杂,不能保证 100% 完全解决问题。程序代码如下,保存为.bat文件,右击以管理员身份运行即可。

@echo off
color 2f
mode con cols=50 lines=30
title  局域网共享一键设置程序 — by Hack520.com
ver | findstr "5.">nul || set bulid=nt6 && goto sc_yhbl
set bulid=nt5
:sc_yhbl
reg query "HKCU\Environment" /v temp >nul 2>nul||set "usertemp=%USERPROFILE%\" && goto sc_top
set usertemp=%temp%\
:sc_top
cls
del /q %temp%\info.txt>nul 2>nul
:sc_menu
echo.&echo.&echo.
echo             局域网共享一键设置 2018.04.28
echo.
echo    --------------------------------------------
echo.&echo.&echo.
echo               1、查看网络信息
echo.
echo               2、简单共享(无密码)
echo.
echo               3、密码共享
echo.
echo               4、共享和权限设置
echo.
echo               5、软件更新与反馈
echo.&echo.&echo.&echo.&echo.
set select=
set str1=12345
set /p select= 输入数字,按回车:
if not defined select goto sc_wrong
echo %select%|findstr "[%str1%]">nul||goto sc_wrong
if %select%==1 (goto sc_info)
if %select%==2 (goto sc_zd)
if %select%==3 (goto sc_sd)
if %select%==4 (goto sc_gl) 
if %select%==5 (goto sc_update) 
:sc_wrong
mshta vbscript:msgbox("只能输入1-7的数字",64,"提示")(window.close) 
goto sc_top
:sc_info
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                  正在处理信息....
if "%bulid%"=="nt6" goto sc_nt6
:sc_nt5
(echo.
echo.)>>%usertemp%info.txt
ping www.baidu.com -n 1 >nul || echo              互联网状态:       [ 离线 ]>>%usertemp%info.txt && goto sc_ver_nt5
echo              互联网状态:       [ 在线 ]>>%usertemp%info.txt
:sc_ver_nt5
(echo ----------------------------------------------------------
echo.)>>%usertemp%info.txt
for /f "skip=1 tokens=2-4 delims=, " %%a in ('wmic os get caption') do (
if exist %windir%\SysWOW64 echo         系统版本:       %%a %%b %%c  64位>>%usertemp%info.txt & goto sc_ver_nt5_next
echo         系统版本:       %%a %%b %%c  32位>>%usertemp%info.txt
)
:sc_ver_nt5_next
(echo.
echo         计算机名:            %COMPUTERNAME%
echo.)>>%usertemp%info.txt
for /f "tokens=2 delims= " %%a in ('net config workstation^|findstr /c:"工作站域"') do echo         工作组:              %%a>>%usertemp%info.txt & goto sc_info_nt5
:sc_info_nt5
(echo.
echo         当前用户:            %USERNAME%
echo.)>>%usertemp%info.txt
for /f "delims=" %%a in ('date /t') do echo         本机日期:            %%a>>%usertemp%info.txt
echo.>>%usertemp%info.txt
for /f "delims=" %%a in ('time /t') do echo         本机时间:            %%a>>%usertemp%info.txt
echo ---------------------------------------------------------->>%usertemp%info.txt
goto sc_info_more
:sc_nt6
(echo.
echo.)>>%usertemp%info.txt
ping www.baidu.com -n 1 >nul || echo          互联网状态:       [ 离线 ]>>%usertemp%info.txt && goto sc_ver_nt6
echo          互联网状态:       [ 在线 ]>>%usertemp%info.txt
:sc_ver_nt6
(echo --------------------------------------------------
echo.)>>%usertemp%info.txt
for /f "skip=1 tokens=2-5 delims=?, " %%a in ('wmic os get caption') do (
if exist %windir%\SysWOW64 echo    系统版本:      %%a %%b %%c %%d 64位>>%usertemp%info.txt & goto sc_ver_nt6_next
echo    系统版本:       %%a %%b %%c %%d 32位>>%usertemp%info.txt
)
:sc_ver_nt6_next
(echo.
echo    计算机名:            %COMPUTERNAME%
echo.)>>%usertemp%info.txt
for /f "tokens=2 delims= " %%a in ('net config workstation^|findstr /c:"工作站域"') do echo    工作组:              %%a>>%usertemp%info.txt
(echo.
echo    当前用户:            %USERNAME%
echo.)>>%usertemp%info.txt
for /f "delims=" %%a in ('date /t') do echo    本机日期:            %%a>>%usertemp%info.txt
echo.>>%usertemp%info.txt
for /f "delims=" %%a in ('time /t') do echo    本机时间:            %%a>>%usertemp%info.txt
echo -------------------------------------------------->>%usertemp%info.txt
:sc_info_more
if "%bulid%"=="nt5" ipconfig /all|findstr /v /c:"Windows IP Configuration"|findstr /v /c:"Host Name"|findstr /v /c:"Primary Dns Suffix"|findstr /v /c:"Node Type"|findstr /v /c:"IP Routing Enabled"|findstr /v /c:"WINS Proxy Enabled">>%usertemp%info.txt && goto sc_info_next
ipconfig /all|findstr /v /c:"Windows IP 配置"|findstr /v /c:"主机名"|findstr /v /c:"主 DNS 后缀"|findstr /v /c:"节点类型"|findstr /v /c:"IP 路由已启用"|findstr /v /c:"WINS 代理已启用">>%usertemp%info.txt
:sc_info_next
start /w notepad %temp%\info.txt
del /q %temp%\info.txt>nul 2>nul
goto sc_top
:sc_zd
call :sc_qxfix
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                    开始修复......
net user guest /active:yes>nul 2>nul
net user guest "">nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0x0 /f>nul 2>nul
goto sc_main
:sc_sd
call :sc_qxfix
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                    开始修复......
net user guest /active:no>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v NtlmMinClientSec /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v NtlmMinServerSec /t REG_DWORD /d 0x0 /f>nul 2>nul
goto sc_main
:sc_main
sc config LanmanWorkstation start= auto>nul 2>nul
sc config LanmanServer start= auto>nul 2>nul
sc config Winmgmt start= auto>nul 2>nul
sc config RpcSs start= auto>nul 2>nul
sc config Netman start= auto>nul 2>nul
sc config RasMan start= demand>nul 2>nul
sc config SSDPSRV start= auto>nul 2>nul
sc config BFE start= auto>nul 2>nul
sc config ALG start= demand>nul 2>nul
sc config SharedAccess start= auto>nul 2>nul
net start SharedAccess /y>nul 2>nul
sc config Browser start= auto>nul 2>nul
net start Browser /y>nul 2>nul
sc config Dnscache start= auto>nul 2>nul
net start Dnscache /y>nul 2>nul
sc config Dhcp start= auto>nul 2>nul
net start Dhcp /y>nul 2>nul
sc config lmhosts start= auto>nul 2>nul
net start lmhosts /y>nul 2>nul
sc config Spooler start= auto>nul 2>nul
net start Spooler /y>nul 2>nul
sc config upnphost start= demand>nul 2>nul
net start upnphost /y>nul 2>nul
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon" /v Start|findstr "0x4">nul 2>nul && sc config Netlogon start= demand>nul 2>nul
reg add "HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v TransportBindName /t REG_SZ /d \Device\ /f>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v SMB1 /F>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v SMB2 /F>nul 2>nul
reg delete "HKLM\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v SMBDeviceEnabled /F>nul 2>nul
sc config netbt start= system>nul 2>nul
net start netbt>nul 2>nul
if "%bulid%"=="nt6" goto sc_sernt6
:sc_sernt5
sc config PlugPlay start= auto>nul 2>nul
sc config TapiSrv start= auto>nul 2>nul
sc config Nla start= auto>nul 2>nul
net start Nla /y>nul 2>nul
netsh firewall set opmode mode=disable>nul 2>nul
goto sc_main2_etc
:sc_sernt6
sc config DcomLaunch start= auto>nul 2>nul
sc config RpcEptMapper start= auto>nul 2>nul
sc config SamSs start= auto>nul 2>nul
sc config nsi start= auto>nul 2>nul
sc config SstpSvc start= demand>nul 2>nul
sc config MpsSvc start= auto>nul 2>nul
net start MpsSvc /y>nul 2>nul
sc config NlaSvc start= auto>nul 2>nul
sc config netprofm start= auto>nul 2>nul
sc config fdPHost start= auto>nul 2>nul
sc config FDResPub start= auto>nul 2>nul
sc config HomeGroupListener start= auto>nul 2>nul
sc config WMPNetworkSvc start= auto>nul 2>nul
net start WMPNetworkSvc /y>nul 2>nul
sc config HomeGroupProvider start= auto>nul 2>nul
net start HomeGroupProvider /y>nul 2>nul
netsh advfirewall set allprofiles state off>nul 2>nul
:sc_main2_etc
(echo [Unicode]
echo Unicode=yes
echo [Version]
echo signature="$CHICAGO$"
echo Revision=1
echo [Privilege Rights]
echo sedenynetworklogonright = 
echo senetworklogonright = Everyone,Administrators,Users,Power Users,Backup Operators,guest)>>%usertemp%zcl.inf
secedit /configure /db %usertemp%zcl.sdb /cfg %usertemp%zcl.inf /log %usertemp%zcl.log /quiet
del /q %usertemp%zcl.*>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v LmCompatibilityLevel /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v restrictanonymous /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v restrictanonymoussam /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v everyoneincludesanonymous /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v NoLmHash /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareServer /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareWks /t REG_DWORD /d 0x1 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v restrictnullsessaccess /t REG_DWORD /d 0x0 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v MaintainServerList /t REG_SZ /d Auto /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v IsDomainMaster /t REG_SZ /d FALSE /f>nul 2>nul
for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces" /s /e /f "0x2"^|findstr "\Tcpip_"') do reg add "%%a" /v NetbiosOptions /t REG_DWORD /d 0x0 /f>nul 2>nul
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS|findstr "0x0">nul 2>nul && reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS /t REG_DWORD /d 0x1 /f>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" /f>nul 2>nul
net use * /del /y>nul 2>nul
net config server /hidden:no>nul 2>nul
net share ipc$>nul 2>nul
goto sc_tip
:sc_gl
cls
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest|findstr "0x1">nul 2>nul||goto classic
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x0 /f>nul 2>nul
set jlb=y
:classic
echo.&echo.&echo.&echo.
echo         功能:管理共享,修改共享文件夹权限
echo   ----------------------------------------------
echo.&echo.&echo.&echo.&echo.
echo                    【使用说明】
echo.&echo.
echo        点左侧“共享”可查看本机所有共享;
echo.
echo        右键点左侧“共享”可“新建共享”;
echo.
echo        右键点右侧共享可“停止共享”(能多选);
echo.
echo        右键点右侧共享选“属性”可修改权限;
echo.&echo.&echo.&echo.&echo.&echo.&echo.
fsmgmt.msc
if "%jlb%"=="y" reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x1 /f>nul 2>nul
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                     设置完成!
echo.&echo.&echo.
echo            按键盘任意键返回,或直接关闭!
pause>nul 2>nul
goto sc_top
:sc_tip
mshta vbscript:msgbox("修复完成,请重启计算机",64,"提示")(window.close) 
goto sc_exit
:sc_update
cls
start "%ProgramFiles%\Internet Explorer\iexplore.exe" "http://www.hack520.com/303.html"
goto sc_top
goto :eof
:sc_qxfix
cls
echo.&echo.&echo.
echo                    【使用说明】
echo    --------------------------------------------
echo.
echo       鼠标复制共享文件夹地址栏路径粘贴到下方
echo.
echo         如果只共享打印机,就按下回车键跳过
echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo 粘贴路径,按回车:
echo.&echo.
set /p lj=
for %%a in ("%lj%") do set name=%%~na
net share "%name%"="%lj%">nul 2>nul
if "%bulid%"=="nt5" cacls "%lj%" /t /e /p everyone:f >nul 2>nul && goto :eof
icacls "%lj%" /grant everyone:(oi)(ci)f>nul 2>nul
goto :eof
    • 本文标签:
    • 人气热度:335
    • 生产日期:2018年4月28日 - 15时39分43秒