[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 【已解决】关于禁止用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的目的?

找到一方法

wmic nic where "netconnectionid='本地连接'" get  caption,index

不知道怎么用

TOP

wmic nicconfig where "TcpipNetbiosOptions='0' or TcpipNetbiosOptions='1'" call SetTcpipNetbios 2

TOP

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行值

TOP

网线拔掉了,也就是你从此不准备连网啦,关闭NETBIOS还有什么意义?

TOP

本帖最后由 zb848 于 2017-12-21 14:56 编辑
网线拔掉了,也就是你从此不准备连网啦,关闭NETBIOS还有什么意义?
WHY 发表于 2017-12-21 14:01



我的工作是管理单位的电脑,单位信息安全要求必须关闭关闭NETBIOS,所有新装的电脑下发前都必须关闭NETBIOS,我自己封装了个系统,每次新机器都是用封装系统装机,封装系统可以在启动后调用批处理进行安全设置,这时候是没有插入网线的(电脑只能用于内部网络,严禁连接外网,现在还不知道发到那个单位,IP也无法确定 )

只有下发到下级 单位后使用后才插入网线(内部网络),我不可能跑到下级单位去给他进行安全设置,所以要在之前就做好安全设置,就是在封装系统启动后调用批处理进行安全设置。

其实问题解决办法是,能不能读取网卡的索引号index,只要能读取这个号,就可用命令设置这个index的TcpipNetbiosOptions值

TOP

好吧,至少你应该知道对应的网卡名称或者网络连接名称才行
  1. @echo off
  2. for /f %%i in ('wmic nic where "NetConnectionID='以太网' or NetConnectionID='本地连接' or NetConnectionID='无线网络连接'" get Index^|findstr [0-9]') do (
  3.     wmic nicconfig where "Index='%%i' and TcpipNetbiosOptions!='2'" call SetTcpipNetbios 2
  4. )
  5. pause
复制代码

TOP

好吧,至少你应该知道对应的网卡名称或者网络连接名称才行
WHY 发表于 2017-12-21 16:34



    在插入网线时可能用,但不插入网线时无效

TOP

错误码 84 (IP not enabled on adapter)告诉你需要 IPEnabled=True,也就是需要联网

TOP

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:
  1. OPTION EXPLICIT
  2. Const HKEY_LOCAL_MACHINE    = &H80000002
  3. Const sNetKey = "System\CurrentControlSet\Services\NetBT\Parameters\Interfaces\"
  4. Dim oReg            ' Registry object
  5. Dim sSubKey         ' SubKey instance
  6. Dim aSubKeys        ' SubKeys array
  7. Dim dwValue         ' registry value
  8. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
  9. oReg.EnumKey HKEY_LOCAL_MACHINE, sNetKey, aSubKeys
  10. ' Top layer is interfaces
  11. For Each sSubKey in aSubKeys
  12.     oReg.GetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", dwValue
  13.     If dwvalue <> 2 Then
  14.         oReg.SetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", 2
  15.     End If
  16. Next
复制代码
1

评分人数

    • zb848: 十分感谢技术 + 1
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

为了公司的安全性建议开双网独立运行,物理机制比软件设置机制更好你会关,别人也会开,万能的某度什么都知道
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 zb848 于 2017-12-22 08:07 编辑
yu2n 发表于 2017-12-21 21:48


请问大神,这个好像不是批处理,怎么用啊?

TOP

为了公司的安全性建议开双网独立运行,物理机制比软件设置机制更好你会关,别人也会开,万能的某度什么都知道
/zhqsystem/zhq 发表于 2017-12-22 00:49


谢谢你的提示,我单位是严格内外网物理隔离的(双线独立运行),内网机是不允许接入外网的,有外网的都是双机的

TOP

本帖最后由 yu2n 于 2017-12-22 14:53 编辑

回复 12# zb848


    将代码另存为 "C:\0.vbs",直接双击运行;也可用命令 WScript.exe "C:\0.vbs" 运行。

注意:
1. 此脚本需要修改注册表 HKEY_LOCAL_MACHINE 部分,需要以管理员权限运行。
2. 此脚本会禁用本机所有物理网卡的 Netbios。(包括已禁用、断线中的网卡)
3. 此脚本运行后,重启电脑才能生效。


补充:
以下命令执行后会马上生效,但是会跳过已禁用、断线中的网卡。
  1. wmic nicconfig where "TcpipNetbiosOptions!=NULL" call SetTcpipNetbios 2
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复  zb848


    将代码另存为 "C:\0.vbs",直接双击运行;也可用命令 WScript.exe "C:\0.vbs" 运行。 ...
yu2n 发表于 2017-12-22 13:37



十分感谢。

TOP

返回列表