找回密码
 加入
搜索
查看: 8622|回复: 9

XP用户名更改

[复制链接]
发表于 2008-8-14 17:28:29 | 显示全部楼层 |阅读模式
现应上级要求每台计算用不同的用户名和密码登陆(200台+ ,,三个工厂)


大概意思如下    随机更改XP用户名\密码且开机自动登陆   保存计算机名用户名密码到局域网内某电脑共享目录内(以便以后出问题查询)

求高人帮做下小弟感谢了

[ 本帖最后由 ynygu 于 2008-8-30 19:47 编辑 ]
发表于 2008-8-14 18:01:53 | 显示全部楼层
发个相关的脚本,希望对你有帮助
"autoit3"脚本(自动更改IP_DNS_CScdkey计算机名)
notbad 发表于 2007-12-14 18:00:00  
"autoit3"脚本编写(自动更改IP,DNS,CScdkey,计算机名)
自动更改IP,DNS,CScdkey,计算机名
我看了ban_r”和“凌风Online”的该IP脚本,把他俩的东西整合了,自己也添加了一些东西,在2K和XP中直接可以使用,不必考虑注册表中路径不同,希望大家给于批评和指导。

$bn = "E&Y工作组"
$ip_Z = "255.255.255.0"
$ip_D = "61.134.1.4"
$ip_D1 = "61.134.3.11"
$num = InputBox ("E&Y工作组","请输入机号","","")

;*****判断是否输入机号*****

IF $num = "" Then
MsgBox(0, "错误", "没有输入机号")
Exit
EndIF

;****设置CScdkey****

$CDKey = FileOpen("CScdkey.txt", 0)
If $CDKey = -1 Then
MsgBox(0, "错误", "找不到CScdkey.txt")
Exit
EndIf
$CD = FileReadLine($CDKey,$num)
FileClose($CDKey)
RegWrite ("HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings\","KEY","REG_SZ",$CD)
RegWrite ("HKEY_CURRENT_USER\Software\Valve\HALF-LIFE\Settings\","KEY","REG_SZ",$CD)

;****设置机号****

If $num < 10 Then
$name = $bn&"00"
ElseIf $num < 100 Then
$name = $bn&"0"
Else
$name = $bn
EndIf
RegDelete ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName")
RegWrite ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName","REG_SZ",$name&$num)
RegDelete ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","NV Hostname")
RegWrite ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","NV Hostname","REG_SZ",$name&$num)
RegDelete ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","Hostname")
RegWrite ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","Hostname","REG_SZ",$name&$num)

;*****计算IP和网关*****

IF        $num < 240 Then
          $num = $num + 10
          $ip_I = "192.168.0."&$num&""
          $ip_G = "192.168.0.1"
ElseIF $num < 480 Then
          $num = $num - 230
          $ip_I = "192.168.1."&$num&""
          $ip_G = "192.168.1.1"
ElseIF $num < 720 Then
          $num = $num - 470
          $ip_I = "192.168.2."&$num&""
          $ip_G = "192.168.2.1"
ElseIF $num < 960 Then
          $num = $num - 710
          $ip_I = "192.168.3."&$num&""
          $ip_G = "192.168.3.1"
EndIF

;*****注册表地址*****

$key1="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\"&$n_reg&"\Parameters\Tcpip"
$key2="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\"&$n_reg
$key3="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\"&$n_reg&"\Parameters\Tcpip"
$key4="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip\Parameters\Interfaces\"&$n_reg
$key5="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\"&$n_reg&"\Parameters\Tcpip"
$key6="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$n_reg

;*****更改IP*****

RegWrite( $key1, "EnableDHCP", "REG_DWORD", 0 )
RegWrite( $key1, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key2, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key3, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key4, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key5, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key6, "IPAddress", "REG_MULTI_SZ", $ip_I )

;*****更改子网掩玛*****

RegWrite( $key1, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key2, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key3, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key4, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key5, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key6, "SubnetMask", "REG_MULTI_SZ", $ip_Z )

;*****更改网关*****

RegWrite( $key1, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key2, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key3, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key4, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key5, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key6, "DefaultGateway", "REG_MULTI_SZ", $ip_G )

;*****更改NDS*****

RegWrite( $key2, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
RegWrite( $key4, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
RegWrite( $key6, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;####################################################










MAC地址更改IP

应为要用MAC地址更改自己就必须有所有机子的MAC地址和固定IP

我不是很建议用这个脚本,可是为了省事用这个也不错,嘿嘿

为了方便大家,我又写了一个自动储存本机的MAC地址和IP还有计算机名,大家可以将本地路径改为网络路径,这样就可以长期使用下去了。

#i nclude <Array.au3>
#i nclude <file.au3>
RunWait(@ComSpec & " /c " & "IPCONFIG.EXE /all"     & " > " & "IPINFO.TXT", @MyDocumentsDir, @SW_HIDE)
$file = FileOpen(@MyDocumentsDir&"\IPINFO.TXT", 0)
$line = FileReadLine($file,27)
$mac = stringmid($line, 45)
;MsgBox(0,"",$mac)
$line1 = FileReadLine($file,31)
$ip = stringmid($line1, 45)
;MsgBox(0,"",$ip)
$line2 = FileReadLine($file,7)
$name = stringmid($line2, 45)
;MsgBox(0,"",$name)
FileClose($file)
RunWait(@ComSpec & " /c " & "DEL.EXE IPINFO.TXT", @MyDocumentsDir, @SW_HIDE)


Dim $temp,$i=1
if not _FileReadToArray("config.txt",$temp) then FileWriteLine("config.txt","        MAC地址         计算机名       IP地址 ")
_FileReadToArray("config.txt",$temp)
$file1 = FileOpen("config.txt", 0)
while 1
$line3 = FileReadLine($file1,$i)
$result = StringInStr($line3, $mac)
$i=$i+1
if $result<>"" then exit
if $i>$temp[0] then ExitLoop
wend
$write=$mac&"     "&$name&"     "&$ip
FileWriteLine("config.txt",$write)

写出的config.txt格式为:

        MAC地址         计算机名       IP地址
00-05-5D-6A-30-EC     th252     192.168.1.62

请大家注意我的计算机名,前2位为网吧缩写,后3位为机号,如果大家的计算机名不一样那就的要将脚本改一下。

以下是根据MAC地址表改IP的脚本

#i nclude <Array.au3>
#i nclude <file.au3>
Dim $temp,$i=2
$ip_Z = "255.255.255.0"
$ip_D = "61.134.1.4"
$ip_D1 = "61.134.3.11"

if not _FileReadToArray("config.txt",$temp) Then
MsgBox(0,"错误","没有找到MAC地址对应表")
Exit
Else
endif
;;;********读取自己的MAC地址*********
RunWait(@ComSpec & " /c " & "IPCONFIG.EXE /all"     & " > " & "IPINFO.TXT", @MyDocumentsDir, @SW_HIDE)
$file = FileOpen(@MyDocumentsDir&"\IPINFO.TXT", 0)
$line = FileReadLine($file,27)
$mac = stringmid($line, 45)
;MsgBox(0,"",$mac)
FileClose($file)
RunWait(@ComSpec & " /c " & "DEL.EXE IPINFO.TXT", @MyDocumentsDir, @SW_HIDE)

;;;********在MAC表中找有没有自己*******
$file1 = FileOpen("config.txt", 0)
while 1
$line3 = FileReadLine($file1,$i)
$result = StringInStr($line3, $mac)
$i=$i+1
if $result<>"" then
ExitLoop
Elseif $i>$temp[0] then
MsgBox(0,"错误","表中没有本机MAC地址数据")
exit
endif
wend
;;;******读取MAC表中数据******
$line4 = FileReadLine($file1,$i-1)
$ip_I = stringmid($line4, 27)
;MsgBox(0,"",$ip_I)
$name = stringmid($line4, 20,5);;;这里面的5是计算机名的长度
;MsgBox(0,"",$name)
;****设置CScdkey****
$num=Stringright($name,3)
$CDKey = FileOpen("CScdkey.txt", 0)
If $CDKey = -1 Then
MsgBox(0, "错误", "找不到CScdkey.txt")
Exit
EndIf
$CD = FileReadLine($CDKey,$num)
FileClose($CDKey)
RegWrite ("HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings\","KEY","REG_SZ",$CD)
RegWrite ("HKEY_CURRENT_USER\Software\Valve\HALF-LIFE\Settings\","KEY","REG_SZ",$CD)
;****设置机号****
RegDelete ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName")
RegWrite ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName","REG_SZ",$name)
RegDelete ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","NV Hostname")
RegWrite ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","NV Hostname","REG_SZ",$name)
RegDelete ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","Hostname")
RegWrite ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters","Hostname","REG_SZ",$name)

;*****计算网关*****
IF        $num < 240 Then
          $ip_G = "192.168.0.1"
ElseIF $num < 480 Then
          $ip_G = "192.168.1.1"
ElseIF $num < 720 Then
          $ip_G = "192.168.2.1"
ElseIF $num < 960 Then
          $ip_G = "192.168.3.1"
EndIF
;*****注册表地址*****

$key1="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\"&$n_reg&"\Parameters\Tcpip"
$key2="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\"&$n_reg
$key3="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\"&$n_reg&"\Parameters\Tcpip"
$key4="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip\Parameters\Interfaces\"&$n_reg
$key5="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\"&$n_reg&"\Parameters\Tcpip"
$key6="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$n_reg

;*****更改IP*****

RegWrite( $key1, "EnableDHCP", "REG_DWORD", 0 )
RegWrite( $key1, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key2, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key3, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key4, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key5, "IPAddress", "REG_MULTI_SZ", $ip_I )
RegWrite( $key6, "IPAddress", "REG_MULTI_SZ", $ip_I )

;*****更改子网掩玛*****

RegWrite( $key1, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key2, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key3, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key4, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key5, "SubnetMask", "REG_MULTI_SZ", $ip_Z )
RegWrite( $key6, "SubnetMask", "REG_MULTI_SZ", $ip_Z )

;*****更改网关*****

RegWrite( $key1, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key2, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key3, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key4, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key5, "DefaultGateway", "REG_MULTI_SZ", $ip_G )
RegWrite( $key6, "DefaultGateway", "REG_MULTI_SZ", $ip_G )

;*****更改NDS*****

RegWrite( $key2, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
RegWrite( $key4, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
RegWrite( $key6, "NameServer", "REG_SZ", $ip_D&","&$ip_D1 )
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;####################################################
发表于 2008-8-14 18:04:40 | 显示全部楼层
另外 微软的脚本中心 提供VBS修改方案
 楼主| 发表于 2008-8-14 18:48:02 | 显示全部楼层
不能完成了...

[ 本帖最后由 ynygu 于 2008-8-14 19:44 编辑 ]
发表于 2008-8-14 20:55:59 | 显示全部楼层
这个应该不是很难吧,AUTOIT和批处理结合应该没问题
用户名和密码保存最好用FTP来做
发表于 2008-8-15 04:56:55 | 显示全部楼层
    想动手写了!
发表于 2008-8-15 07:34:06 | 显示全部楼层
_RenameUser("Administrator","admin")

Func _RenameUser($User,$NewUser)

;================================
;用法:_RenameUser(用户名称,新的帐户名称)
;注意:此函数需要系统WMI服务的支持。
;版权:www.autoitx.com Make By Sanhen
;================================
        
Local $strComputer,$objWMIService
Local $colAccounts, $objAccount 

$strComputer = "."

$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colAccounts = $objWMIService.ExecQuery _
    ("Select * From Win32_UserAccount Where LocalAccount = True And Name = '"&$User&"'")

For $objAccount in $colAccounts
    $objAccount.Rename($NewUser)
Next

EndFunc
 楼主| 发表于 2008-8-16 18:33:54 | 显示全部楼层
感谢三恨的热心帮助
要是能把每句注释上就好了像我这们的新人很难明白的
发表于 2008-8-16 19:08:08 | 显示全部楼层
原帖由 ynygu 于 2008-8-16 18:33 发表
感谢三恨的热心帮助
要是能把每句注释上就好了像我这们的新人很难明白的


问题是:WMI注释了也不懂~~
发表于 2008-8-16 20:40:11 | 显示全部楼层
都写成UDF直接调用就行了,不一定每行都要弄个明白
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 11:02 , Processed in 0.077097 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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