标题: [网络连接] 【已解决】关于禁止用netbios的批处理 [打印本页]
作者: zb848 时间: 2017-12-21 09:42 标题: 【已解决】关于禁止用netbios的批处理
禁止用netbios
先查看一下当前所有网络接口信息
wmic nicconfig get caption,index,TcpipNetbiosOptions
找到你要修改的网卡对应的序号
wmic nicconfig where index=7 call SetTcpipNetbios 2
--------------------------------------------------------------------------------
禁止用netbios具体流程大概是上面的方法,但每台机器的网卡index值是不同的,所以wmic nicconfig where index=7 call SetTcpipNetbios 2 这条命令中的网卡index难以确定
用wmic nicconfig get caption,index,TcpipNetbiosOptions查看可以看到,网卡中TcpipNetbiosOptions是有值的,其他的都没有值。
TcpipNetbiosOptions的值,0代表默认,1代表启用,2代表禁用
请问怎么通过TcpipNetbiosOptions不为空,获取TcpipNetbiosOptions不为空值的对应的index的值,放入 wmic nicconfig where index=7 call SetTcpipNetbios 2 语句index中达到禁用netbios的目的?
作者: zb848 时间: 2017-12-21 10:40
找到一方法
wmic nic where "netconnectionid='本地连接'" get caption,index
不知道怎么用
作者: WHY 时间: 2017-12-21 11:08
wmic nicconfig where "TcpipNetbiosOptions='0' or TcpipNetbiosOptions='1'" call SetTcpipNetbios 2
作者: zb848 时间: 2017-12-21 11:19
wmic nicconfig where "TcpipNetbiosOptions='0' or TcpipNetbiosOptions='1'" call SetTcpipNetbios 2
WHY 发表于 2017-12-21 11:08
十分感谢。
但还是有问题,当网卡没有插网线时,TcpipNetbiosOptions的值也没有(不是0、1、2中的任一个),请问这个怎么办?
TcpipNetbiosOptions没有值,但MACAddress 中是有值的
我改成
wmic nicconfig where "MACAddress<>''" call SetTcpipNetbios 2
但不行
是不是因为有2个MACAddress不为空的值
这还是只有一个网卡的情况下,如果有2个网卡,那么即使在插入网线情况下,TcpipNetbiosOptions也会有2行值
作者: WHY 时间: 2017-12-21 14:01
网线拔掉了,也就是你从此不准备连网啦,关闭NETBIOS还有什么意义?
作者: zb848 时间: 2017-12-21 14:47
本帖最后由 zb848 于 2017-12-21 14:56 编辑
网线拔掉了,也就是你从此不准备连网啦,关闭NETBIOS还有什么意义?
WHY 发表于 2017-12-21 14:01
我的工作是管理单位的电脑,单位信息安全要求必须关闭关闭NETBIOS,所有新装的电脑下发前都必须关闭NETBIOS,我自己封装了个系统,每次新机器都是用封装系统装机,封装系统可以在启动后调用批处理进行安全设置,这时候是没有插入网线的(电脑只能用于内部网络,严禁连接外网,现在还不知道发到那个单位,IP也无法确定 )
只有下发到下级 单位后使用后才插入网线(内部网络),我不可能跑到下级单位去给他进行安全设置,所以要在之前就做好安全设置,就是在封装系统启动后调用批处理进行安全设置。
其实问题解决办法是,能不能读取网卡的索引号index,只要能读取这个号,就可用命令设置这个index的TcpipNetbiosOptions值
作者: WHY 时间: 2017-12-21 16:34
好吧,至少你应该知道对应的网卡名称或者网络连接名称才行- @echo off
- for /f %%i in ('wmic nic where "NetConnectionID='以太网' or NetConnectionID='本地连接' or NetConnectionID='无线网络连接'" get Index^|findstr [0-9]') do (
- wmic nicconfig where "Index='%%i' and TcpipNetbiosOptions!='2'" call SetTcpipNetbios 2
- )
- pause
复制代码
作者: zb848 时间: 2017-12-21 17:18
好吧,至少你应该知道对应的网卡名称或者网络连接名称才行
WHY 发表于 2017-12-21 16:34
在插入网线时可能用,但不插入网线时无效
作者: WHY 时间: 2017-12-21 21:23
错误码 84 (IP not enabled on adapter)告诉你需要 IPEnabled=True,也就是需要联网
作者: yu2n 时间: 2017-12-21 21:48
Configuring NetBIOS over TCP/IP
https://social.technet.microsoft ... forum=winservercore
You can edit the registry to change the NetBIOS configuration. Under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters\Interfaces, find the GUID(s) with NetbiosOptions set to 0 and set them to 2. This is the equivalent of selecting disabled in the GUI.
With Server Core you can use regedit and connect remotely to set this or use the reg.exe command line tool.
Andrew
And here is the VBS script to run.
You will need admin rights, or put in a GPO under Computer Configuration/Policies/Windows Settings/Scripts/Startup:
- OPTION EXPLICIT
- Const HKEY_LOCAL_MACHINE = &H80000002
- Const sNetKey = "System\CurrentControlSet\Services\NetBT\Parameters\Interfaces\"
- Dim oReg ' Registry object
- Dim sSubKey ' SubKey instance
- Dim aSubKeys ' SubKeys array
- Dim dwValue ' registry value
- Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
- oReg.EnumKey HKEY_LOCAL_MACHINE, sNetKey, aSubKeys
- ' Top layer is interfaces
- For Each sSubKey in aSubKeys
- oReg.GetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", dwValue
- If dwvalue <> 2 Then
- oReg.SetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", 2
- End If
- Next
复制代码
作者: /zhqsystem/zhq 时间: 2017-12-22 00:49
为了公司的安全性建议开双网独立运行,物理机制比软件设置机制更好你会关,别人也会开,万能的某度什么都知道
作者: zb848 时间: 2017-12-22 08:02
本帖最后由 zb848 于 2017-12-22 08:07 编辑
yu2n 发表于 2017-12-21 21:48
请问大神,这个好像不是批处理,怎么用啊?
作者: zb848 时间: 2017-12-22 08:05
为了公司的安全性建议开双网独立运行,物理机制比软件设置机制更好你会关,别人也会开,万能的某度什么都知道
/zhqsystem/zhq 发表于 2017-12-22 00:49
谢谢你的提示,我单位是严格内外网物理隔离的(双线独立运行),内网机是不允许接入外网的,有外网的都是双机的
作者: yu2n 时间: 2017-12-22 13:37
本帖最后由 yu2n 于 2017-12-22 14:53 编辑
回复 12# zb848
将代码另存为 "C:\0.vbs",直接双击运行;也可用命令 WScript.exe "C:\0.vbs" 运行。
注意:
1. 此脚本需要修改注册表 HKEY_LOCAL_MACHINE 部分,需要以管理员权限运行。
2. 此脚本会禁用本机所有物理网卡的 Netbios。(包括已禁用、断线中的网卡)
3. 此脚本运行后,重启电脑才能生效。
补充:
以下命令执行后会马上生效,但是会跳过已禁用、断线中的网卡。- wmic nicconfig where "TcpipNetbiosOptions!=NULL" call SetTcpipNetbios 2
复制代码
作者: zb848 时间: 2017-12-22 15:31
回复 zb848
将代码另存为 "C:\0.vbs",直接双击运行;也可用命令 WScript.exe "C:\0.vbs" 运行。 ...
yu2n 发表于 2017-12-22 13:37
十分感谢。
作者: freesoft00 时间: 2017-12-25 12:59
回复 10# yu2n
不知道批处理是否可以完成。不用vbs
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |