第一篇:DOS批處理設(shè)置(修改)IP、wins、計(jì)算機(jī)名及工作組名
DOS批處理設(shè)置(修改)IP、wins、計(jì)算機(jī)名及工作組名 2009-03-18 13:35 單位電腦幾百臺(tái),新增電腦、維修重裝系統(tǒng)、拆東墻補(bǔ)西墻等等的事,單位電腦維修人員屢做屢厭,又非做不可,總冇找到最好的辦法解決ip地址、局域網(wǎng)共享等的方法,總也免不了手工設(shè)置。這不,設(shè)ip、工作組的事也是天天有的做。被問(wèn)有冇得簡(jiǎn)單、直接點(diǎn)的法子?于是在網(wǎng)上收集了哈子,整理了個(gè)適合社會(huì)主義本單位特色的小工具。不是為了擺哈子,實(shí)為防止日后遺失,再有用得著的;再或許更多人有值得借鑒的也說(shuō)不準(zhǔn)。
單位樓棟、樓層、科室網(wǎng)段分布較多,各段間不能相互訪問(wèn),但可訪問(wèn)中心指定電腦;各科電腦內(nèi)部可彼此訪問(wèn)。因此,維修人員將系統(tǒng)按機(jī)型備好,臨時(shí)按需改ip、計(jì)算機(jī)名及工作組名。這兩道工序之外,還有一套一套的應(yīng)用系統(tǒng)環(huán)境,也不是一成不變的;且科室不同,環(huán)境要求不同。哎,不說(shuō)了,蠻遭孽的!餓就按要求整了。
@echo off cls color 0a echo.echo #-----------------------echo 功能:IP地址及計(jì)算機(jī)名快速設(shè)置 echo 說(shuō)明:供單位電腦維護(hù)人員使用
echo #-----------------------rem 當(dāng)前及默認(rèn)設(shè)置
for /f “tokens=15” %%i in('ipconfig /all^|find /i “ip address”')do set IP=%%i if %IP%.==.set IP=192.168.0.1 set MASK=255.255.255.0 for /f “tokens=1-3 delims=.” %%i in(“%IP%”)do set dmn=%%i.%%j.%%k set GATEWAY=%dmn%.254 set wgname= for /f “tokens=*” %%i in('wmic computersystem get workgroup')do(if not defined wgname(set “wgname=%%i”))set mywins= for /f “tokens=12” %%i in('ipconfig /all^|find /I “Primary WINS Server”')do set mywins=%%i echo %mywins% rem 本單位固定wins服務(wù)器地址 set mynewwins=192.168.0.100 rem 暫不需設(shè)dns rem set DNS1= rem set DNS2= goto BEGIN :BEGIN echo.echo 請(qǐng)輸入以下操作選項(xiàng)序號(hào)并回車: echo
1、使用方法,2、顯示當(dāng)前設(shè)置,3、手動(dòng)交互設(shè)置,4、退出 set KEY=1 set /p KEY=請(qǐng)輸入:
if %KEY% == 1 goto USAGE if %KEY% == 2 goto CURRE if %KEY% == 3 goto MANUAL goto END :USAGE cls echo.echo 使用方法:
echo #---------------------echo
1、網(wǎng)卡必需啟用,網(wǎng)絡(luò)連接中默認(rèn)為“本地連接”;
echo
2、手動(dòng)設(shè)置將一步一步要求你輸入樓棟、樓層、科室拼音簡(jiǎn)碼 echo 以及 ip、網(wǎng)關(guān)、dns等,并自動(dòng)按此設(shè)置
echo 其中計(jì)算機(jī)名為你輸入的樓棟+樓層+科室+ip最后一節(jié)數(shù)字。echo
3、手工設(shè)置完畢將自動(dòng)重啟 goto BEGIN :CURRE echo.echo 正在顯示當(dāng)前ip設(shè)置.......netsh-c interface ip dump echo.echo 當(dāng)前計(jì)算機(jī)名為: %COMPUTERNAME% set wgname= for /f “tokens=*” %%i in('wmic computersystem get workgroup')do(if not defined wgname(set “wgname=%%i”))echo.echo 當(dāng)前工作組名:%wgname% echo.netsh interface ip show wins goto BEGIN :MANUAL ECHO.ECHO.echo 請(qǐng)輸入本機(jī)所在樓棟拼音簡(jiǎn)稱(譬如辦公樓輸入:bgl)set /p Bq=請(qǐng)輸入: echo.echo 請(qǐng)輸入本機(jī)所在樓層(譬如黨辦在5樓輸入:5)set /p Floor=請(qǐng)輸入: echo.echo 請(qǐng)輸入本機(jī)所在科室名簡(jiǎn)稱(譬如黨辦輸入:db,主任辦公室后加A,職員辦公室后加B;即dba或dbb)set /p Depart=請(qǐng)輸入: echo.echo 請(qǐng)輸入 IP 地址,本機(jī)當(dāng)前ip為:%IP% set /p IP=請(qǐng)輸入:
rem 網(wǎng)關(guān)掩碼不要求輸,自動(dòng)填
rem set /p MASK= [請(qǐng)輸入子網(wǎng)掩碼MASK 地址]: rem echo.rem set /p GATEWAY= [請(qǐng)輸入網(wǎng)關(guān)GATEWAY地址]: rem 暫不要求設(shè) dns rem echo.rem set /p DNS1= [請(qǐng)輸入主 DNS地址]: rem echo.rem set /p DNS2= [請(qǐng)輸入第二DNS地址]: echo.if %Bq%.==.goto CURRE if %IP%.==.goto CURRE for /f “tokens=1-3 delims=.” %%i in(“%IP%”)do set dmn=%%i.%%j.%%k set GATEWAY=%dmn%.254 for /f “tokens=4 delims=.” %%i in(“%IP%”)do set addr=%%i set computername=%Bq%_%Floor%_%Depart%_%addr% set newwg=%Bq%_%Floor%_%Depart% ECHO 即將生效的 計(jì)算機(jī)名是 %computername% ECHO 即將生效的 IP 地址是 %IP% ECHO 即將生效的子網(wǎng)掩碼 MASK 是 %MASK% ECHO 即將生效的網(wǎng)關(guān)GATEWAY地址是 %GATEWAY% ECHO 即將生效的工作組名是 %newwg% ECHO 即將生效的Wins地址是 %mynewwins% rem ECHO 即將生效的 主DNS 地址是 %DNS1% rem ECHO 即將生效的第二DNS地址是 %DNS2% echo.echo 請(qǐng)輸入操作選項(xiàng)序號(hào)并回車:
echo
1、馬上更改,2、重新設(shè)置,3、退出 set REEN=2 set /p REEN=請(qǐng)輸入: if %REEN% == 1 goto DO if %REEN% == 2 goto MANUAL goto END :DO echo.echo 正在更改計(jì)算機(jī)名請(qǐng)稍后......echo.reg add HKLMSYSTEMCurrentControlSetControlComputerNameActiveComputerName /v ComputerName /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetControlComputerNameComputerName /v ComputerName /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v Hostname /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v “NV Hostname” /t REG_SZ /d %computername% /f > nul echo.echo 正在更改IP請(qǐng)稍后......echo.echo IP地址及子網(wǎng)掩碼設(shè)置完成
netsh interface ip set address name=“本地連接” source=static addr=%IP% mask=%MASK% echo 網(wǎng)關(guān)地址設(shè)置完成
netsh interface ip set address name=“本地連接” gateway=%GATEWAY% gwmetric=0 rem echo 主DNS地址設(shè)置完成
rem netsh interface ip set dns name=“本地連接” source=static addr=%DNS1% register=PRIMARY rem echo 第二DNS地址設(shè)置完成 rem netsh interface ip add dns name=“本地連接” addr=%DNS2% index=2 echo 更改工作組:%wgname%為%newwg% wmic computersystem where Name=“%COMPUTERNAME%” call JoinDomainOrWorkgroup Name=“%newwg%” echo 設(shè)置wins: %mynewwins% netsh interface ip delete wins “本地連接” all netsh interface ip set wins name=“本地連接” source=static addr=%mynewwins% echo 重啟電腦
%systemroot%system32iisreset.exe /reboot /timeout:0 goto END :END echo.echo 退出
第二篇:用命令行怎樣通過(guò)IP地址知道對(duì)方的計(jì)算機(jī)名和工作組名
局域網(wǎng)中,用命令行怎樣通過(guò)IP地址知道對(duì)方的計(jì)算機(jī)名和工作組名? 方法:nbtstat-A ip Nbtstat命令
顯示基于 TCP/IP 的 NetBIOS(NetBT)協(xié)議統(tǒng)計(jì)資料、本地計(jì)算機(jī)和遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 名稱表和 NetBIOS 名稱緩存。Nbtstat 可以刷新 NetBIOS 名稱緩存和使用 Windows Internet 名稱服務(wù)(WINS)注冊(cè)的名稱。使用不帶參數(shù)的 nbtstat 顯示幫助。語(yǔ)法
nbtstat[-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval] 參數(shù)
-a remotename 顯示遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 名稱表,其中,RemoteName 是遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 計(jì)算機(jī)名稱。NetBIOS 名稱表是與運(yùn)行在該計(jì)算機(jī)上的應(yīng)用程序相對(duì)應(yīng)的 NetBIOS 名稱列表。-A IPAddress 顯示遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 名稱表,其名稱由遠(yuǎn)程計(jì)算機(jī)的 IP 地址指定(以小數(shù)點(diǎn)分隔)。-c 顯示 NetBIOS 名稱緩存內(nèi)容、NetBIOS 名稱表及其解析的各個(gè)地址。-n 顯示本地計(jì)算機(jī)的 NetBIOS 名稱表。Registered 的狀態(tài)表明該名稱是通過(guò)廣播還是 WINS 服務(wù)器注冊(cè)的。-r 顯示 NetBIOS 名稱解析統(tǒng)計(jì)資料。在配置為使用 WINS 且運(yùn)行 Windows XP 或 Windows Server 2003 操作系統(tǒng)的計(jì)算機(jī)上,該參數(shù)將返回已通過(guò)廣播和 WINS 解析和注冊(cè)的名稱號(hào)碼。-R 清除 NetBIOS 名稱緩存的內(nèi)容并從 Lmhosts 文件中重新加載帶有 #PRE 標(biāo)記的項(xiàng)目。-RR 釋放并刷新通過(guò) WINS 服務(wù)器注冊(cè)的本地計(jì)算機(jī)的 NetBIOS 名稱。-s 顯示 NetBIOS 客戶端和服務(wù)器會(huì)話,并試圖將目標(biāo) IP 地址轉(zhuǎn)化為名稱。-S 顯示 NetBIOS 客戶端和服務(wù)器會(huì)話,只通過(guò) IP 地址列出遠(yuǎn)程計(jì)算機(jī)。Interval 重新顯示選擇的統(tǒng)計(jì)資料,可以在每個(gè)顯示內(nèi)容之間中斷 Interval 中指定的秒數(shù)。按 Ctrl+C 停止重新顯示統(tǒng)計(jì)信息。如果省略該參數(shù),netstat 將只顯示一次當(dāng)前的配置信息。/? 在命令提示符下顯示幫助。注釋
? Nbtstat 命令行參數(shù)區(qū)分大小寫(xiě)。? 下表描述由 nbtstat 生成的列標(biāo)題。
標(biāo)題 描述 Input 接收的字節(jié)數(shù)。Output 發(fā)送的字節(jié)數(shù)。
In/Out 該連接是否從計(jì)算機(jī)傳出或者從其他計(jì)算機(jī)傳入到本地計(jì)算機(jī)。Lift 名稱表緩存項(xiàng)在被清除之前所存留的時(shí)間。Local Name 與連接相關(guān)的本地 NetBIOS 名稱。Remote Host 與遠(yuǎn)程計(jì)算機(jī)相關(guān)的名稱或 IP 地址。<03> 轉(zhuǎn)化為十六進(jìn)制的 NetBIOS 名稱的最后一個(gè)字節(jié)。每個(gè) NetBIOS 名稱長(zhǎng)度均為 16 個(gè)字符。最后一個(gè)字節(jié)通常有特殊的意義,因?yàn)橄嗤拿Q(只有最后一個(gè)字節(jié)不同)可能在一 臺(tái)計(jì)算機(jī)上出現(xiàn)幾次。例如,<20> 在 ASCII 文本中是一個(gè)空格。Type 名稱類型。名稱可以是唯一名稱,也可以是組名稱。Status 遠(yuǎn)程計(jì)算機(jī)上是否在運(yùn)行 NetBIOS 服務(wù)(已注冊(cè)),或同一計(jì)算機(jī)名是否已注冊(cè)了相同的 服務(wù)(沖突)。State NetBIOS 連接的狀態(tài)。
下表描述可能的 NetBIOS 連接狀態(tài)。
State 描述 Connected 會(huì)話已建立。
Associated 連接的終結(jié)點(diǎn)已經(jīng)被創(chuàng)建并與 IP 地址關(guān)聯(lián)。Listening 該終結(jié)點(diǎn)對(duì)入站連接可用。Idle 該終結(jié)點(diǎn)已被打開(kāi)但不能接收連接。
Connecting 會(huì)話處于連接階段。在此階段正在解析所選目標(biāo)的由名稱到 IP 地址的映射。Accepting 當(dāng)前正在接受入站會(huì)話,并將立即連接。Reconnecting 會(huì)話將試圖重新連接(如果第一次連接嘗試失?。utbound 會(huì)話正處于連接階段。當(dāng)前正在創(chuàng)建 TCP 連接。Inbound 入站會(huì)話處于連接階段。Disconnecting 會(huì)話正在斷開(kāi)連接。Disconnected 本地計(jì)算機(jī)已斷開(kāi)連接,并正等待遠(yuǎn)程系統(tǒng)的確認(rèn)。
? 只有當(dāng)“Internet 協(xié)議(TCP/IP)”協(xié)議在“網(wǎng)絡(luò)連接”中安裝為網(wǎng)絡(luò)適配器屬性的組件時(shí),該命令才可用。示例
要顯示 NetBIOS 計(jì)算機(jī)名為 CORP07 的遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 名稱表,請(qǐng)鍵入: nbtstat-a CORP07 要顯示所分配 IP 地址為 10.0.0.99 的遠(yuǎn)程計(jì)算機(jī)的 NetBIOS 名稱表,請(qǐng)鍵入: nbtstat-A 10.0.0.99 要顯示本地計(jì)算機(jī)的 NetBIOS 名稱表,請(qǐng)鍵入: nbtstat-n 要顯示本地計(jì)算機(jī) NetBIOS 名稱緩存的內(nèi)容,請(qǐng)鍵入: nbtstat-c 要清除 NetBIOS 名稱緩存并重新裝載本地 Lmhosts 文件中帶標(biāo)記 #PRE 的項(xiàng)目,請(qǐng)鍵入: nbtstat-R 要釋放通過(guò) WINS 服務(wù)器注冊(cè)的 NetBIOS 名稱并對(duì)其重新注冊(cè),請(qǐng)鍵入: nbtstat-RR 要每 5 秒以 IP 地址顯示 NetBIOS 會(huì)話統(tǒng)計(jì)資料,請(qǐng)鍵入: nbtstat-S 5 格式圖例
格式 意義 斜體
用戶必須提供的信息 粗體
用戶必須像顯示的一樣準(zhǔn)確鍵入的元 素
省略號(hào)(...)可在命令行中重復(fù)多次的參數(shù) 在括號(hào)([])之間 可選項(xiàng)目
在大括號(hào)({})之間;將選項(xiàng)用管線(|)隔開(kāi)。例如:{even|odd} 用戶必須從中只選擇一個(gè)選項(xiàng)的選項(xiàng) 組
Courier font 代碼或程序輸出