分类 软件 下的文章

相关资料来至:
1.github-【资料库】 https://github.com/gsuberland/lbfo_win10
2.原博主博客-【Re-enabling NIC Teaming (LBFO) in Windows 10 & other desktop SKUs, even after Microsoft removed it】 https://codeinsecurity.wordpress.com/2020/05/27/re-enabling-nic-teaming-lbfo-in-windows-10-desktop-skus-even-after-microsoft-removed-it/
3.github问题讨论区-【WIN32_EXIT_CODE : 1077 (0x435) #1】 https://github.com/gsuberland/lbfo_win10/issues/1

搬运优化补充了相关内容,经win10 x64 22H2和Win11 21H2验证可用。
具体安装步骤如下:
1.提取Windows Server 2022的install.wim镜像文件,存放工程目录下;
2.执行extract.bat文件,完成从install.wim镜像文件提取LBFO服务文件;
3.用管理员权限执行cmd命令:psexec -s -i cmd,进入system权限的cmd命令窗口,再执行install.bat,完成LBFO服务安装;
4.进入控制面板->网络和Internet->网络连接->找到“以太网”接口图标,鼠标右键“属性(R)”->以太网属性页,单击“安装(N)...”->选择网络功能类型页->选择“服务”-“添加(A)...”->选择网络服务页,单击“从磁盘安装(H)...”->从磁盘安装页,单击"浏览(B)..."->选择“C:\Windows\System32\DriverStore\FileRepository\mslbfoprovider.inf_amd64_f9d27a6b05ef21aa\mslbfoprovider.inf”文件->从磁盘安装页,单击"确认”,完成LBFO服务启用。
5.用管理员权限打开PowerShell命令行窗口,参照如下命令,完成VLAN网卡创建。

获取网络适配器信息

Get-NetAdapter

创建虚拟交换机:“Vbox”为虚拟交换机,"以太网" 为本地网络接口(根据自己实际修改)

New-NetLBFOTeam -Name "Vbox" -TeamNicName "Vbox"  -TeamMembers "以太网" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm IPAddresses -Confirm:$false

创建VLAN网卡,案例是创建了Vlan7、Vlan8和Vlan9

Add-NetLbfoTeamNic -Team "Vbox" -VlanID 7 -Confirm:$false
Add-NetLbfoTeamNic -Team "Vbox" -VlanID 8 -Confirm:$false
Add-NetLbfoTeamNic -Team "Vbox" -VlanID 9 -Confirm:$false

移除VLAN网卡

Remove-NetLbfoTeamNic -Team "Vbox" -VlanID 9
Remove-NetLbfoTeamNic -Team "Vbox" -VlanID 8
Remove-NetLbfoTeamNic -Team "Vbox" -VlanID 7

移除虚拟交换机

Remove-NetLBFOTeam -Name "Vbox"

附件已经包含从Windows Server 2022提权的文件,解压后从步骤3往下做就可以了。
lbfo_win10-master.zip

固定IP使用旁路的网关,自由分配的IP使用主路由网关。
1.把DHCP服务器,设置主路由的地址和对应的DNS。
微信图片_20231229010309.png
2.把需要从旁路由出去的设备设置成静态地址分配。
微信图片_20231229010501.png

--- package/network/services/dnsmasq/files/dnsmasq.init
+++ package/network/services/dnsmasq/files/dnsmasq.init
@@ -339,9 +339,9 @@
 
     if [ $DNSMASQ_DHCP_VER -eq 6 ]; then
         addrs="${ip:+,$ip}${hostid:+,[::$hostid]}"
-        xappend "--dhcp-host=$macs${duids:+,$duids}$hosttag$addrs$nametime"
+        xappend "--dhcp-host=set:ssr,$macs${duids:+,$duids}$hosttag$addrs$nametime"
     else
-        xappend "--dhcp-host=$macs$hosttag${ip:+,$ip}$nametime"
+        xappend "--dhcp-host=set:ssr,$macs$hosttag${ip:+,$ip}$nametime"
     fi
 }
 
@@ -951,6 +951,17 @@
     [ ! -d "$dnsmasqconfdir" ] && mkdir -p $dnsmasqconfdir
     xappend "--user=dnsmasq"
     xappend "--group=dnsmasq"
+
+    br_lan="$( ifconfig |grep "Bcast" | sed 's/.*addr://;s/Bcast.*//' )"
+    br_lan6="$( ifconfig |grep -A1 "Bcast" |grep inet6.*addr| sed 's/.*inet6.*addr://;s/\/.*//' )"
+    xappend "--dhcp-option=tag:ssr,option:router,$br_lan"
+    xappend "--dhcp-option=tag:ssr,option:dns-server,$br_lan"
+    xappend "--dhcp-option=tag:ssr,option:nis-server,$br_lan"
+    xappend "--dhcp-option=tag:ssr,option:ntp-server,$br_lan"
+    xappend "--dhcp-option=tag:ssr,option6:dns-server,$br_lan6"
+    xappend "--dhcp-option=tag:ssr,option6:nis-server,$br_lan6"
+    xappend "--dhcp-option=tag:ssr,option6:sntp-server,$br_lan6"
+
     echo >> $CONFIGFILE_TMP
 
     config_get_bool enable_tftp "$cfg" enable_tftp 0


--- feeds/luci/modules/luci-base/po/zh-cn/base.po
+++ feeds/luci/modules/luci-base/po/zh-cn/base.po
@@ -838,8 +838,9 @@
 "\"<code>6,192.168.2.1,192.168.2.2</code>\" which advertises different DNS "
 "servers to clients."
 msgstr ""
-"设置 DHCP 的附加选项,例如设定 \"<code>6,192.168.2.1,192.168.2.2</code>\" 表"
-"示通告不同的 DNS 服务器给客户端。"
+"设置 DHCP 的附加选项,例如设定 \"<code>3,192.168.2.1</code>\" 表"
+"示指定客户端的网关地址;\"<code>6,210.2.4.8,192.168.2.1</code>\" 表"
+"示指定客户端的 DNS 服务器地址。"
 
 msgid "Delete"
 msgstr "删除"

补丁下载地址:02_fixed_router_dns_dnsmasq.zip

;忙碌的上班生活,让我们分身乏术,每天下班都还得记得做一件小事关闭计算机。
;人毕竟不是机器,难免有时会因其他琐事而疏忽了正在待机的计算机,造成不环保,所以写了这个程序辅助大家关闭计算机,为节约资源做点贡献!
;“程序名.EXE /I”为注册本程序服务,以后可以随系统运行而运行,一劳永逸;“程序名.EXE /U”为移除本程序服务,你仍可以通过手工运行此程序来获得此服务。
;正常下班关机时间大约为17点,加班下班时间为21点。

#Include <Date.au3>
#NoTrayIcon

Global $afternoon="16:58",$night="20:58"

If $CmdLine[0] > 0 Then
 If StringUpper($CmdLine[1]) ="/I" Then
  If ProcessExists("AutoHalt.EXE") Then
     ProcessClose("AutoHalt.EXE")
  sleep(250)
  EndIf
  FileCopy(@ScriptFullPath,@WindowsDir&"\AutoHalt.EXE",1)
  sleep(250)
  RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "AutoHalt", "REG_SZ", @WindowsDir&"\AutoHalt.EXE")
  Run("AutoHalt.EXE",@WindowsDir)
  MsgBox( 0, "消息", "注册成功,计算机已经启用自动关机服务")
 EndIf
 If StringUpper($CmdLine[1]) ="/U" Then
  RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "AutoHalt")
  If ProcessExists("AutoHalt.EXE") Then
     ProcessClose("AutoHalt.EXE")
  sleep(250)
  EndIf
  MsgBox( 0, "消息", "自动关机服务已经成功移除")
 EndIf
 Exit 
EndIf

If WinExists("AutoHalt") Then Exit
AutoItWinSetTitle("AutoHalt")

If _NowTime(4) > $afternoon AND _NowTime(4) < $night Then
 $b = False
Else
 $b = True
EndIf

HotKeySet("^!u", "cancel")

While 1
   sleep(1000*60)
    If _NowTime(4)> $afternoon and _NowTime(4)< $night and $b Then
  $b = False
  halt()
 EndIf
 If _NowTime(4)> $night and not($b) Then
  $b = true
  halt()
 EndIf
WEnd

Func halt()
 $c = MsgBox( 4369, "下班时间到了!", "确定要立即关闭计算机吗?"&@CRLF&"默认将于1分钟后自动关闭计算机 ",60 )
 IF  $c = 1 Then

  IF MsgBox( 4369, "下班时间到了!", "请再次确定是否要立即关闭计算机?" ) = 1 Then
   Shutdown(13)
  EndIf
 EndIf
 IF  $c = -1 Then
  Shutdown(13)
 EndIf
EndFunc

Func cancel()
 If _NowTime(4)< $afternoon  Then
  If $b Then
   $b = False
   ToolTip("下班自动关机已经取消!", 0, 0,"",0,1)
   Sleep(1000)
  Else
   $b = True
   ToolTip("下班自动关机已经启用!", 0, 0,"",0,1)
   Sleep(1000)   
  EndIf
 EndIf
 ToolTip("", 0, 0,"",0,1)
EndFunc

如题所云,就是个BATCH文件

内容如下

@echo off
title "简单的静态/动态DHCP转换工具"
echo.
echo #设置环境变量
set name="本地连接"
set addr=172.0.0.100
set mask=255.255.255.0
set gateway=172.0.0.1
set dns1=202.101.103.55
set dns2=218.85.157.99

echo #判断%name%是否启用DHCP
for /F " tokens=1,2,* " %%i in ('netsh interface ip show config %name% ') do if %%i==DHCP if %%j==启用 if %%k==否 (
echo #经检测%name%的DHCP已经关闭,现将启用DHCP,请稍候。。。。。
echo #%name%的接口IP配置
echo #设自动获取IP
netsh interface ip set address name=%name% source=dhcp >NUL
echo #设自动获取DNS
netsh interface ip set dns name=%name% source=dhcp register=PRIMARY >NUL
netsh interface ip set wins name=%name% source=dhcp >NUL
) else (
echo #经检测%name%的DHCP已经启用,现将设置为静态的DHCP,请稍候。。。。。
echo #设静态IP:%addr%,子网掩码:%mask%
netsh interface ip set address name=%name% source=static addr=%addr% mask=%mask% >NUL
echo #设默认网关:%gateway%
netsh interface ip set address name=%name% gateway=%gateway% gwmetric=0 >NUL
echo #设首选DNS:%dns1%
netsh interface ip set dns name=%name% source=static addr=%dns1% register=PRIMARY >NUL
echo #设备用DNS:%dns2%
netsh interface ip add dns name=%name% addr=%dns2% index=2 >NUL
netsh interface ip set wins name=%name% source=static addr=none >NUL
)
echo #
echo #显示%name%配置结果
netsh interface ip show config %name%

@pause

前一阵子已经制作过WIN7引导文件嵌入菜单,现在再发个XP引导文件嵌入可选菜单,使用方法和WIN7引导文件嵌入菜单的方法一致,只是在那基础上增加了一个隐藏的后台GRLDR,按CTRL+HOME,就可以进入GRLDR的命令行,使得光盘的使用性更加灵活。
3edd751ex7df70dde7587&690.jpg
原理:引导文件首先会从“SHOYO”目录引导,若失败则引导“I386”目录,接着引导BOOTFIX.BIN文件,出现从光盘引导的提示,按任意键就从光盘引导,否就从硬盘引导。

修改点示意图如下,简单明了
3edd751ex7df72954e52b&690.jpg
本例包含8个菜单项,11字节的“w2ksect.bin”、12字节的“recovery.bin”……故菜单项数hex:08,引导文件名长度hex:0B,其后就是引导文件名,以此类推。

通过修改这些区域,可以制作出符合我们要求的菜单。最大可以存放26个菜单项。

提示:请确保每个引导文件名长度的准确性,只要错一个引导文件名的长度将会影响后序引导文件名的索引,当然一定要保持菜单文本起始位置的不变和引导文件大小的不变。

建议:被引导文件最好是grub4dos,可以很方便的将引导菜单内置,看起来更简洁。镜像格式为支持ISO-9600的编码。
DEMO镜像下载