alpine-linux-kiosk

echo -e "#!/bin/sh\nopenbox-session &\nfirefox -kiosk https://www.bing.com" > ~/.xinitrc && chmod +x ~/.xinitrc

setup-xorg-base && apk add openbox font-noto-cjk firefox

[可选] 为 Firefox 创建策略配置, 禁止用户访问开发者工具(F12)

echo ‘{“policies”: {“DisableDeveloperTools”: true}}’ | tee /usr/lib/firefox/distribution/policies.json

# 注意以 root 身份下执行

# 添加 agetty 包
apk add agetty

# 编辑配置文件
vi /etc/inittab
#将 tty1 开头的行注释掉, 插入下面内容:

tty1::respawn:/sbin/agetty –autologin lpwm –noclear tty1 linux
参考文档: TTY Autologin

RaiDrive

RaiDrive可以把网盘挂载到电脑本地,使我们能像操作C盘、D盘等电脑本地磁盘那样,直接在本地操作网盘文件。比如,可以在本地直接对网盘中的文件进行复制,粘贴,重命名等操作。如同给我们的电脑硬盘扩容了,理论上只要您添加的网盘足够多容量或者足够大,相当于给电脑添加了一块“无限”容量的网络硬盘。

若是搭配 Everything 搜索软件,还可以在电脑中快速搜索网盘文件。此外,如果已经搭建并使用了alist,raidrive挂载alist后(WebDAV挂载),则可间接实现一键挂载阿里云盘、百度网盘、onedrive、天翼云盘、123云盘、中国移动云盘等诸多网盘。

不过,RaiDrive的新版本分为免费版和Pro版,而免费版有功能限制(比如限制大文件传输等),并且偶尔会出现广告。而由于RaiDrive起初是全免费软件,故而一些早期的旧版本反而没有这些功能限制且天然去广告了。

本次分享的是RaiDrive的历史版本,也就是早期的一些老版本。具体包含所谓的最后一个全功能版本 RaiDrive 1.5.3.1(不过也有说2019.12.22那个是最后一个完全免费版本),还有raidrive 1.8.0等等,基本上涵盖了raidrive 1.6.2.416 到 2019.12.22 的所有旧版本。

软件下载

https://pan.quark.cn/s/33f5ef3233ba

https://www.123pan.com/s/hieA-qsgxH.html

https://url26.ctfile.com/d/948726-56175567-da8e0e?p=7890 (访问密码: 7890)

===
https://raidrive.mrdownload.com/en/for-windows/app/download/7266
2020.6.25
OpenBoxLab
====
Raidrive新手+拓展教程
https://blog.csdn.net/EricZCY/article/details/106720431
https://wws.lanzous.com/iLfRMdlbbub

https://production-downloads-webserver.storage.googleapis.com/softwares/29efabd1-4006-4e2c-9a74-c5b81dad13c7/raidrive-2020-6-25.exe?AWSAccessKeyId=GOOG1EMFSX4KQJNU4T4R4BCA2WP4NEBACPV7PBW7ACQN55XEWDJUEEZVM63TI&Expires=1749032405&Signature=FvYRuKYOPpoZbUfn7gB2bkQ3oDI%3D

NVIDIA-CUDA-CUDNN

CUDA
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.download.nvidia.cn/compute/cuda/12.4.1/local_installers/cuda_12.4.1_551.78_windows.exe

CUDNN
https://developer.nvidia.com/rdp/cudnn-archive
https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/12.x/cudnn-windows-x86_64-8.9.7.29_cuda12-archive.zip

参考:
https://zhuanlan.zhihu.com/p/32400431090

linux-命令行-关闭显示器

setterm --blank poke --term linux < /dev/tty1
=======================================================================
参考
https://www.cnblogs.com/dirgo/p/17376210.html

题外话:不得不说现在百度的搜索真的烂,除了广告,有用的信息一点也搜不到,bing倒是广告少,照样也搜不到有用信息,谷歌虽然作恶不少,某些技术还是可以的,但是国内不通过特殊方法又使用不了,解决方法:1.找谷歌的镜像站,但是不好找,就算找到了,可能过几天就失效了;2.找一些小众的搜索引擎,推荐”F搜”,不过最近有些不稳定了,只能说且用且珍惜吧,本次的解决方法就是通过它才搜到的.

这个需求主要是解决当你把笔记本或者平板当作服务器,平时只用ssh连接,想关闭屏幕节电;

本机环境:cpu为z3735f的酷比魔方平板,系统为Arch Linux,未启动任何桌面环境和窗口管理器,即位于默认终端tty1下

在其他电脑通过ssh工具连接上平板;

方法如下:

命令需要root权限,可用su切换

关闭屏幕命令:

setterm –blank force –term linux </dev/tty1

打开屏幕命令:

setterm –blank poke –term linux < /dev/tty1

注意:关闭后,必须通过打开命令开启屏幕,移动鼠标或点击键盘按键均无法再点亮屏幕

参考文章:

https://access.redhat.com/discussions/3076941#comment-1184861

https://forums.centos.org/viewtopic.php?t=75666

第一个链接即本文的解决方法,是从第二个链接的论坛帖子尝试方法2跳转的,我的可以实现,但楼主说不行,他最后还是安装了桌面环境,其实安装桌面环境(主要的两个解决方案为Xorg(x11)和wayland),并且启动了桌面或者窗口管理器之后,解决的方法就非常多了(比如export DISPLAY=:0.0;xset dpms force off;),除了楼主写的几个,还可以借助一些工具,其实也是对/sys/class/backlight进行了一些封装操作,具体可参考Arch 的wiki(背光实用程序) https://wiki.archlinuxcn.org/wiki/%E8%83%8C%E5%85%89  ,并且可以实现关闭后移动鼠标或点击键盘重新点亮屏幕.

—————————-2023-05-15更新—-

以上方法其实只是关闭了显示输出,当然在一定程度上也降低了功耗。

但仔细观察会发现,屏幕的背光没有关闭,在Arch上试过很多方法都不行,甚至一度想直接拆开拔掉显示排线。

直到今天安装了Debian以后,发现背光可以调节和关闭了,这说明arch对一些老的硬件支持不那么好,老硬件可以尝试Debian,方法依照arch的wiki即可:

https://wiki.archlinuxcn.org/wiki/%E8%83%8C%E5%85%89

说到底还是使用acpi接口,修改/sys/class/backlight/acpi_video0/max_brightness 文件记录的亮度值,如:

echo 5 > /sys/class/backlight/acpi_video0/brightness

 

win10.11打印机共享修复工具.bat

参考:https://www.52pojie.cn/thread-1993553-1-1.html
下载:https://wwpe.lanzoue.com/iEAzr2isriih

@echo off
rem 20240412 重写所有代码,针对Win11家庭版系统更新到202404补丁打印共享出错。By WqlSoft
rem 20240412 测试Win11家庭版系统作为主机时,Win7 Win10子机可以直接共享到打印机,LPR共享也正常,反之也可以。
rem 20240412 测试Win10系统作为主机时,Win10子机可以直接共享到打印机,LPR共享也正常,反之也可以。
rem 20240412 测试Win7系统作为主机时,Win10 Win11子机可以直接共享到打印机,LPR共享也正常,反之也可以。
rem 20240412 只作文件夹共享不需要重启系统,LPR共享时要双方重启。
rem 20240412 测试未关闭Defender的情况下不被杀,可以正常运行。 
rem 20240412 几个系统反复还原测试,正常。
rem 20241120 修改不自动安装LPR打印共享功能,给出5秒安装提示。
rem 20241214 增加域判断,本工具未在{已加入域}的系统中测试过
rem 20241214 解决报错找不到网络名0x80070043-未测试是否有效

rem =_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=

title =_=Windows10.11家庭版打印机共享-WqlSoft=_=计算机名:%computername%=_=当前时间:%time%_=_=_=_=_=

echo 非常感谢WqlSoft大佬制作了这个工具!
echo.
echo 我是二虎电脑,曾经使用过很多打印机共享修复工具,发现这个工具是最好用的,基本解决了碰到的Windows10.11无法共享的问题。
echo 所以把这个好工具分享给你,在运行过程中可能安全软件会提示,需要选择允许!
echo.

echo.
pause
cls

echo =_=_=_=_=_=获取管理员身份权限=_=开始_=_=_=_=_=_=_=_=_==_=_=_=
rem 自动请求以管理员权限运行
reg query HKU\S-1-5-20>nul 2>nul || echo CreateObject^("Shell.Application"^).ShellExecute "%~f0", "%*", "", "runas", 1 > "%temp%\getadmin.vbs" && cscript //b "%temp%\getadmin.vbs" && exit /b & del "%temp%\getadmin.vbs" /f /q>nul 2>nul
@echo.

@echo.      -----**当前系统是管理员身份**-----
rem *****************************域判断*********************************************************
setlocal EnableDelayedExpansion
rem 获取计算机名及其所属的域/工作组名称
for /F "tokens=2 delims==" %%i in ('wmic computersystem get domain /value ^| findstr /i "Domain"') do (
    set "domain=%%i"
)
rem 移除可能存在的尾随空格或换行符
set "domain=!domain:~0,-1!"
rem 使用PowerShell检查是否加入域
for /f "delims=" %%a in ('powershell -NoProfile -Command "(Get-WmiObject Win32_ComputerSystem).PartOfDomain"') do (
    set "isDomainMember=%%a"
)
if /i "%isDomainMember%"=="True" (
    echo ==================================================
    echo 此计算机已加入域:%domain%
    echo ==================================================
    echo 本工具未在{已加入域}的系统中测试过,请关闭本窗口.
        choice /c yn /t 4 /d n /M "本工具未在{已加入域}的系统中测试过,请关闭本窗口.默认5秒后退出 (Y/N)"
if errorlevel 2 (
   rem echo 这里是按N键后执行内容
   exit
) else (
   rem echo 这里是按Y键后执行内容
    )

) else (
    echo 此计算机未加入域,工作组为:%domain%
)
endlocal
rem ******************************域判断****结束**************************************************

rem 启用Guest账户
net user guest /active:yes >nul 2>&1
net user guest "" >nul 2>&1

rem 先开启系统的网络发现和局域网文件共享防火墙权限
netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes >nul
netsh advfirewall firewall set rule group="网络发现" new enable=yes >nul
netsh firewall set service type = fileandprint mode = enable scope = subnet >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa" /v "LimitBlankPasswordUse" /t REG_DWORD /d "00000000" /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v "LimitBlankPasswordUse" /t REG_DWORD /d "00000000" /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 0x1 /f
rem 解决Win10以上共享提示0X80004005错误  SMB 客户端允许不安全的来宾登录。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 0x1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /f /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 >NUL 2>nul
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation" /f /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 >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\MSV1_0" /v LmCompatibilityLevel /t REG_DWORD /d 0x1 /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

rem 解决报错找不到网络名0x80070043-未测试是否有效241214
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" /v BasicAuthLevel /t REG_DWORD /d 2 /f >nul 2>nul

rem 网络访问 限制匿名访问命名管道和共享
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v restrictnullsessaccess /t REG_DWORD /d 0x0 /f >nul 2>nul
rem 控制是否成为"浏览服务器"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v MaintainServerList /t REG_SZ /d Auto /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters" /v IsDomainMaster /t REG_SZ /d FALSE /f
rem 解决 windows 连接共享打印机 0x0000011b 错误
Reg add "HKLM\System\CurrentControlSet\Control\Print" /v "RpcAuthnLevelPrivacyEnabled" /t REG_DWORD /d "0" /f >nul 2>&1
rem 709修复
rem 禁用 RPC (Remote Procedure Call) 身份验证级别中的隐私保护
Reg add "HKLM\System\CurrentControlSet\Control\Print" /v "RpcAuthnLevelPrivacyEnabled" /t REG_DWORD /d "0" /f >nul 2>&1
rem 解决客户端弹出以管理员身份安装新的打印机驱动程序,值 0 允许非管理员在使用 Point and Print 时安装驱动程序
Reg add "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v "RestrictDriverInstallationToAdministrators" /t REG_DWORD /d "0" /f >nul 2>&1
rem “安装用于新连接的驱动程序时”:“显示警告和提升提示”。
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v NoWarningNoElevationOnInstall /t REG_DWORD /d 0 /f > nul 2>&1
rem “更新现有连接的驱动程序时”:“显示警告和提升提示”。
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v UpdatePromptSettings /t REG_DWORD /d 0 /f > nul 2>&1

rem 要通过注册表切换网络打印设置 启用 RPC 通信使用命名管道协议
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcUseNamedPipeProtocol /t REG_DWORD /d 1 /f
rem 要启用侦听传入连接
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcProtocols /t REG_DWORD /d 0x7 /f
rem 要强制执行 Kerberos 身份验证,
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v ForceKerberosForRpc /t REG_DWORD /d 1 /f
rem 安装驱动时不搜索Windows Update更新
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v DriverUpdateWizardWuSearchEnabled /t REG_DWORD /d 0 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v SearchOrderConfig /t REG_DWORD /d 0 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v DontSearchWindowsUpdate /t REG_DWORD /d 1 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" /v DontPromptForWindowsUpdate /t REG_DWORD /d 1 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /v DriverUpdateWizardWuSearchEnabled /t REG_DWORD /d 0 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /v SearchOrderConfig /t REG_DWORD /d 0 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /v DontSearchWindowsUpdate /t REG_DWORD /d 1 /f > nul 2>&1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /v DontPromptForWindowsUpdate /t REG_DWORD /d 1 /f > nul 2>&1
rem Microsoft 网络客户端:对通信进行数字签名 (始终)
reg add "HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v RequireSecuritySignature /t REG_DWORD /d 0 /f 
reg add "HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v EnableForcedLogoff /t REG_DWORD /d 0 /f


echo 正在配置防火墙...
netsh advfirewall firewall add rule name="LPR Port" dir=in action=allow protocol=TCP localport=515
netsh advfirewall firewall add rule name="LPD Port" dir=in action=allow protocol=TCP localport=721-731

rem 启用或关闭 Windows Defender 防火墙 (重启生效)
rem 专用网络设置
rem 关闭-启用 Windows Defender 防火墙
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v "EnableFirewall" /t REG_DWORD /d 0 /f
rem 关闭-阻止所有传入连接, 包括位于允许应用列表中的应用
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v "DoNotAllowExceptions" /t REG_DWORD /d 0 /f
rem 开启-Windows Defender 防火墙阻止新应用时通知我
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v "DisableNotifications" /t REG_DWORD /d 0 /f
rem 公用网络设置
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v "EnableFirewall" /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v "DoNotAllowExceptions" /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v "DisableNotifications" /t REG_DWORD /d 0 /f
rem 域网络设置
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v "EnableFirewall" /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v "DoNotAllowExceptions" /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v "DisableNotifications" /t REG_DWORD /d 0 /f

rem 设置为专用网络(0|公用网络,1|专用网络)Win10 以上为1,Win7为1
rem 启用延迟环境变量扩展功能
setlocal EnableDelayedExpansion
rem 定义要遍历的注册表键路径
set "keyPath=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles"

rem 获取操作系统版本信息
for /f "tokens=4-5 delims=. " %%i in ('ver') do (
    set "osVersion=%%i.%%j"
)

for /f "delims=" %%A in ('reg query "%keyPath%" /s ^| findstr /i "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkList\\Profiles\\"') do (
    rem 提取当前子键名
    set "subKey=%%A"
    set "subKey=!subKey:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\=!"

    rem 根据操作系统版本设置相应键值
    if %osVersion% LEQ 6.1 (
        rem 系统为Windows 7或更低版本,设置键值为1
        reg add "!keyPath!\!subKey!" /v Category /t REG_DWORD /d 1 /f > nul 2>&1 && (
            rem echo 已将子键:!keyPath!\!subKey! 的 "Category" 值改为 1
            echo 已将所有网卡都修改成工作网络。
        ) || (
            echo 子键:!keyPath!\!subKey! 不存在 "Category" 值。
        )
    ) else (
        rem 系统为Windows 10或更高版本,设置键值为1
        reg add "!keyPath!\!subKey!" /v Category /t REG_DWORD /d 1 /f > nul 2>&1 && (
            rem echo 已将子键:!keyPath!\!subKey! 的 "Category" 值改为 1
            echo 已将所有网卡都修改成专用网络。
        ) || (
            echo 子键:!keyPath!\!subKey! 不存在 "Category" 值。
        )
    )
)
rem 设置开机不再提示设置网络
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v HideWizard /t REG_DWORD /d 1 /f > nul 2>&1

rem **********设置为专用网络结束*****************


@echo off
SetLocal EnableDelayedExpansion
rem net accounts /maxpwage:unlimited
rem net share "Video"="D:\Video" /grant:%UserName%,read /users:3 >nul 2>nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "ForceGuest" /t REG_DWORD /d 1 >nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "ForceGuest" /t REG_DWORD /d 1 >nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "LimitBlankPasswordUse" /t REG_DWORD /d 0x0 /f >nul 2>nul
rem 禁止IPC$空连接 1为禁用
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "RestrictAnonymousSAM" /t REG_DWORD /d 0x0 /f >nul 2>nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "RestrictAnonymous" /t REG_DWORD /d 0 >nul 2>nul
rem 将Everyone权限应用于匿名用户
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa" /f /v "EveryoneIncludesAnonymous" /t REG_DWORD /d 1
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa\MSV1_0" /f /v "NtlmMinClientSec" /t REG_DWORD /d 0 >nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa\MSV1_0" /f /v "NtlmMinServerSec" /t REG_DWORD /d 0 >nul
reg add "HKLM\SYSTEM\ControlSet001\Control\Lsa\MSV1_0" /f /v "RestrictReceivingNTLMTraffic" /t REG_DWORD /d 1
reg add "HKLM\SYSTEM\ControlSet001\Services\NetBT\Parameters" /f /v "TransportBindName" /t REG_SZ /d \Device\
reg add "HKLM\SYSTEM\ControlSet001\Services\NetBT\Parameters" /f /v "UseNewSmb" /t REG_DWORD /d 1 >nul
reg add "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "RestrictNullSessAccess" /t REG_DWORD /d 1 >nul
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon" /v Start|findstr "0x4" && sc config Netlogon start= demand
rem 取消 简单共享向导
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "SharingWizardOn" /t REG_DWORD /d 0 /f

rem 限制IPC$的远程默认共享 禁止 $C $D
reg add "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "AutoShareServer" /t REG_DWORD /d 0 >nul
rem 禁止默认的管理共享及磁盘分区共享 禁止 $Admin
reg add "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "AutoShareWks" /t REG_DWORD /d 0 >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareServer /t REG_DWORD /d 0 /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v AutoShareWks /t REG_DWORD /d 0 /f >nul
rem 网络访问: 限制对命名管道和共享的匿名访问
reg delete "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "NullSessionPipes" >nul 2>nul
reg delete "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "SMB1" >nul 2>nul
reg delete "HKLM\SYSTEM\ControlSet001\Services\LanmanServer\Parameters" /f /v "SMB2" >nul 2>nul
reg delete "HKLM\SYSTEM\ControlSet001\Services\NetBT\Parameters" /f /v "SMBDeviceEnabled" >nul 2>nul
rem 启动服务
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
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS|findstr "0x0" && reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters" /v EnableLMHOSTS /t REG_DWORD /d 0x1 /f
rem 删除计划任务(Scheduled Tasks)加快网络访问速度
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" /f >nul 2>nul

rem 清空“拒绝从网络访问此计算机”
(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) >> "%TEMP%\zcl.inf"

secedit /configure /db "%TEMP%\zcl.sdb" /cfg "%TEMP%\zcl.inf" /log "%TEMP%\zcl.log" /quiet

del /q "%TEMP%\zcl.*"

rem 断开所有连接
net use * /del /y
rem 在局域网内不隐藏自己的计算机名
net config server /hidden:no
rem net share ipc$
gpupdate /force

echo 开启SMB1 支持
DISM /Online /Enable-Feature /FeatureName:SMB1Protocol /all /norestart

rem===============请在10秒内按Y键执行以下命令=============================
@echo off
ver | findstr "6." > nul && set os=win7
ver | findstr "10." > nul && set os=win10_or_win11

choice /c yn /t 4 /d n /M "是否启用LPD打印共享功能,默认5秒后放弃 (Y/N)"

if errorlevel 2 (
   rem echo 这里是按N键后执行内容
) else (
  
echo 开启LPD打印相关功能……


if "%os%"=="win7" (
    echo Windows 7 开启LPD打印相关功能……
    dism /online /enable-feature /featurename:"Printing-Foundation-Features" /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-LPDPrintService" /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-LPRPortMonitor" /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-InternetPrinting-Client" /norestart
    echo Windows 7 开启LPD打印相关功能……结束
) else if "%os%"=="win10_or_win11" (
    echo Windows 10 或 Windows 11 开启LPD打印相关功能……
    echo 开启SMB1 支持
    DISM /Online /Enable-Feature /FeatureName:SMB1Protocol /all /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-InternetPrinting-Client" /all /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-LPDPrintService" /all /norestart
    dism /online /enable-feature /featurename:"Printing-Foundation-LPRPortMonitor" /all /norestart
    echo Windows 11 开启LPD打印相关功能……结束
) else (
    echo 出错:未知系统!!
    sleep 5
)
)
    echo.
    echo.

echo ****************************正在启动相关系统服务*****稍等*******************************************
echo.

for %%a in (server Browser DHCP fdPHost lmhosts LanmanServer LanmanWorkstation NetBT SharedAccess SSDPSRV FDResPub WebClient) do (
        sc config "%%~a" start=auto >nul
        net start "%%~a" >nul 2>nul
        )
net stop spooler /yes > NUL
rem 删除打印任务
DEL C:\WINDOWS\SYSTEM32\SPOOL\PRINTERS\*.* /F /Q
net start spooler > NUL
net start LPDSVC >nul 2>nul
echo.
echo 当前计算机名: 【%computername%】

    ipconfig
    echo.
echo **************************************************************************************
@echo 【现在可直接共享目录了】【如要LPR方式共享打印机则先重启】,,拜拜,,
REM 打开设备和打印机
set "osVersion="
for /f "delims=" %%a in ('wmic os get Caption ^| findstr /i "Windows 11"') do set "osVersion=%%a"
if defined osVersion (
    start "" control /name Microsoft.DevicesAndPrinters
) else (
    start "" shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
)
echo.

choice /T 8 /D Y /M "完成!  重启后生效。By WqlSoft 2024.11.20 (Y/N)"
if errorlevel 2 (
    echo 你已放弃删除本脚本。
) else (
    del "%~f0"
    echo 删除自身.
)

exit /b