自动获取笔记本电脑SN并将其设置为计算机名

公司最近新采购了一批笔记本,为后期加域等需求,需要每个电脑不重名。
另外还有其他需求,可以在监控平台和资产系统打通以后通过获取到的计算机名定位到人,于是有了这个东西。
两种实现方式,一是通过bat调用ps1,二是单个bat实现。
分别说一下。
一、bat调用ps1改名(注意修改文件中路径)
bat:

@echo off
:: Get Administrator Rights
set _Args=%*
if "%~1" NEQ "" (
  set _Args=%_Args:"=%
)
fltmc 1>nul 2>nul || (
  cd /d "%~dp0"
  cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~dp0"" && ""%~dpnx0"" ""%_Args%""", "", "runas", 1 > "%temp%\GetAdmin.vbs"
  "%temp%\GetAdmin.vbs"
  del /f /q "%temp%\GetAdmin.vbs" 1>nul 2>nul
  exit
)

@set Path=%Path%;%SystemRoot%\system32\WindowsPowerShell\v1.0\& powershell -ExecutionPolicy Unrestricted "X:\x\renamesn.ps1"

del X:\x\sn.txt

::del %0

exit

ps1(建议放在%temp%下):

wmic bios get serialnumber > sn.txt
$sn = (Get-Content sn.txt -TotalCount 3)[-1] -replace "(?m)\s",""
Rename-Computer -NewName $sn
exit

二、单个bat直接实现:

@echo off

setlocal enabledelayedexpansion

REM 获取笔记本电脑的序列号
for /f "tokens=2 delims==" %%a in ('wmic csproduct get identifyingnumber /value') do (
    set "serial_number=%%a"
)

REM 设置计算机名为序列号
wmic computersystem where name="%COMPUTERNAME%" call rename name="%serial_number%"

echo 计算机名已设置为 %serial_number%

::del %0

exit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值