找回密码
 加入
搜索
查看: 4651|回复: 4

[原创] 计算机随机命名

[复制链接]
发表于 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] > 0 Then 
                If StringIsAlNum($CmdLine[1])=0 Then
                        MsgBox(16,"错误","参数错误!"&@CRLF&"参数只能为数字或字母"&@CRLF&"例如:计算机命名.exe pc")
                        Exit
                EndIf        
                $PR=StringMid($CmdLine[1],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)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 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)
就这三行代码有用
 楼主| 发表于 2010-4-24 18:33:12 | 显示全部楼层
回复 2# zhoujinshi520
主要是系统封装,部署时调用的。比如说机房网克后,统一生成有规律的计算机名,方便管理,这样总比部署时自动生成的难看的计算机名好。
发表于 2012-12-30 12:23:54 | 显示全部楼层
下来研究 下
发表于 2013-4-16 09:58:48 | 显示全部楼层
有用!!!!!!!!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-28 17:06 , Processed in 0.246783 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表