wujianfu 发表于 2010-4-24 18:00:41

计算机随机命名

花了一个下午的时间,编写了个计算机随机命名工具。参考了自由天空某位会员的代码,在此表示感谢。
代码如下:#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=G:\素材大全\图标资源\系统图标\20(1).ico
#AutoIt3Wrapper_Res_Comment=计算机随机命名
#AutoIt3Wrapper_Res_Description=计算机随机命名
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=阿福所有 侵权不究
#AutoIt3Wrapper_Res_File_Add=计算机命名.ini
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
Global $iniPath, $PR, $PcName,$L
$iniPath=StringTrimRight(@ScriptName,3)&"ini"
$PR=StringMid(iniRead($iniPath, "CompName", "PR", ""),1,3)
PcName()
Func PcName()
        Dim $a,$b,$c,$d
        $a=Random(65,90,1)
        Do
                $b=Random(65,90,1)
        Until $b<>$a
    Do
            $c=Random(65,90,1)
           Until $c<>$b And $c<>$a
    Do
                $d=Random(65,90,1)
        Until $d<>$c And $d<>$b And $d<>$a
        $L=Chr($a)&Chr($b)&Chr($c)&Chr($d)
    If $CmdLine > 0 Then
                If StringIsAlNum($CmdLine)=0 Then
                        MsgBox(16,"错误","参数错误!"&@CRLF&"参数只能为数字或字母"&@CRLF&"例如:计算机命名.exe pc")
                        Exit
                EndIf       
                $PR=StringMid($CmdLine,1,3)
                $PcName=$PR&"-"&StringTrimLeft(@YEAR,2)&@MON&@MDAY&"-"&$L
        Else       
                If$PR=""Then
                   $PcName="PC"&"-"&StringTrimLeft(@YEAR,2)&@MON&@MDAY&"-"&$L
          Else
                   If StringIsAlNum($PR)=0 Then
                          MsgBox(16,"错误","配置文件错误!"&@CRLF&"计算机名称前缀只能为数字或字母"&@CRLF&"例如:pc")
                          Exit
                        EndIf
                   $PcName=$PR&"-"&StringTrimLeft(@YEAR,2)&@MON&@MDAY&"-"&$L
          EndIf
        EndIf   
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName", "REG_SZ", $PcName)
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "NV Hostname", "REG_SZ", $PcName)
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Hostname", "REG_SZ", $PcName)
EndFunc
If Not FileExists($iniPath) Then
   FileInstall("计算机命名.ini",@ScriptDir&"\"&$iniPath,1)
   
EndIf       
TrayTip("通知","计算机已命名为:"&$PcName,5)
Sleep(5000)

zhoujinshi520 发表于 2010-4-24 18:21:59

你做这有什么用
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName", "REG_SZ", $PcName)

RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "NV Hostname", "REG_SZ", $PcName)

RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Hostname", "REG_SZ", $PcName)
就这三行代码有用

wujianfu 发表于 2010-4-24 18:33:12

回复 2# zhoujinshi520
主要是系统封装,部署时调用的。比如说机房网克后,统一生成有规律的计算机名,方便管理,这样总比部署时自动生成的难看的计算机名好。

2482230 发表于 2012-12-30 12:23:54

下来研究 下

tu0129 发表于 2013-4-16 09:58:48

有用!!!!!!!!!
页: [1]
查看完整版本: 计算机随机命名