使用計算機SN號匹配對應的計算機名 作爲計算機名字的一個小腳本 win10可用

根據主板的SN碼匹配對應的 計算機名字 並且完成改名.

大家好,我是新來的小白.95年,目前在一家外企工作

  • 原因
    公司新來了一批機器,大概40-50臺左右,因爲要入域嘛,所以要更改計算機名字.
    你一個個翻SN 對應 Excel 哪一個hostname你會瘋掉的.
    就寫了一個小腳本.
    這個腳本是集合進去自己公司鏡像裏面的一個小腳本,所以單獨拆開來給你們講,畢竟搜了一圈沒搜到相關教程.
    未來有時間把鏡像也給你們講一下怎麼做. 教程很水,高手放過.

**

代碼如下.

**

@echo off

    %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
    
    
    
    for /f "tokens=2 delims==" %%i in ('wmic bios get serialnumber /value') do set SN=%%i
    for /f "tokens=2 delims=|" %%a in ('findstr "^%SN%" C:\Temp\SN.txt') do set compName=%%a
    wmic COMPUTERSYSTEM WHERE Name="%computername%" CALL rename name=%compName%

代碼解析

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

這一段主要是爲了提權,提權的意思就是提高權限,因爲你不保證你所有機器登錄的帳號一定是Admin,就是最高權限那個,
這時候你雙擊這個腳本,其實它還是以普通用戶去跑,並沒有使用到Admin權限.
你需要右鍵管理員才能跑這個腳本.
這個代碼其實是爲了模擬出右鍵>以管理員賬戶去跑這個功能.
聽明白了嗎同學們…
好了,要到第二段了…


for /f "tokens=2 delims==" %%i in ('wmic bios get serialnumber /value') do set SN=%%i

這裏主要運用到Cmd 的 查找命令跟設定變量以及分隔選中命令.

tokens=2 取第二個
delims== 用=號分隔
wmic bios get serialnumber /value 後面的/value是爲了多一個= 號
do set SN=%%i 設變量


 for /f "tokens=2 delims=|" %%a in ('findstr "^%SN%" C:\Temp\SN.txt') do set compName=%%a
        wmic COMPUTERSYSTEM WHERE Name="%computername%" CALL rename name=%compName%

‘findstr “^%SN%” C:\Temp\SN.txt’ 查找 變量%SN% 在這個txt文檔
查找到之後 用|分隔 取第二個,設變量爲compName=%%a

SN.TXT格式如下
SN|HOSTNAME

wmic COMPUTERSYSTEM WHERE Name="%computername%" CALL rename name=%compName%

更簡單,不說了.

完畢…

爲什麼這麼虎頭虎腦,因爲這破東西我沒保存,我退出去一次想死.
其實我寫了很多的…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章