找回密码
 加入
搜索
查看: 6342|回复: 22

这段代码如何转换?

[复制链接]
发表于 2008-5-28 20:56:46 | 显示全部楼层 |阅读模式
在MS的网站找了两段代码,试了试不知道如何转换成Au3的。请高手赐教!
枚举本地组及其成员:
strComputer = "atl-win2k-01"
Set colGroups = GetObject("WinNT://" & strComputer & "")
colGroups.Filter = Array("group")
For Each objGroup In colGroups
    Wscript.Echo objGroup.Name
    For Each objUser in objGroup.Members
        Wscript.Echo vbTab & objUser.Name
    Next
Next

枚举本地计算机上的用户帐户:
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
For Each objUser In colAccounts
    Wscript.Echo objUser.Name
Next

[ 本帖最后由 hehui 于 2008-6-5 13:56 编辑 ]
发表于 2008-5-28 21:48:34 | 显示全部楼层
[au3]$strComputer="."
$colLocalComputer = ObjGet("WinNT://" & $strComputer)
Dim $group[1]=["group"]
$colLocalComputer.Filter = $group
For $objGroup In $colLocalComputer
        MsgBox(0,"组名称",$objGroup.Name)
        For $objUser In $objGroup.Members
                MsgBox(0,$objGroup.Name & "组中包含的用户",$objUser.Name)
        Next
Next


[/au3]
发表于 2008-5-28 21:52:40 | 显示全部楼层
[au3]$strComputer="."
$colLocalComputer = ObjGet("WinNT://" & $strComputer)
Dim $user[1]=["user"]
$colLocalComputer.Filter = $user
For $objuser In $colLocalComputer
        MsgBox(0,"用户",$objuser.Name)       
Next[/au3]
发表于 2008-5-28 23:18:35 | 显示全部楼层
strComputer = "atl-fs-01"
Set objAdmins = GetObject("WinNT://" & strComputer & "/Administrators")
Set objGroup = GetObject("WinNT://finance")
objAdmins.Remove(objGroup.ADsPath)
这是找到的另一段删除用户的vbs,如何转换
是不是直接用remove方法就可以

[ 本帖最后由 netegg 于 2008-5-29 00:11 编辑 ]
发表于 2008-5-28 23:26:13 | 显示全部楼层
第一个没试,第二个ok
发表于 2008-5-28 23:28:59 | 显示全部楼层
这是标准的VBS脚本转来AU3的。如果不行,请检查你的系统。
在2003 SP2下两个执行都是没有任何问题的。
发表于 2008-5-29 12:36:24 | 显示全部楼层
删除本地用户 建议使用 net user /delete finance

下面这段代码只是丛组中删除用户的..
[au3]$strComputer="."
$objAdmins = ObjGet("WinNT://" & $strComputer & "/Administrators")
$objGroup = ObjGet("WinNT://finance")
$objAdmins.Remove($objGroup.ADsPath)[/au3]
发表于 2008-5-29 16:38:36 | 显示全部楼层
楼上的仁兄,承教了,能简单说明下用类似方法删除本地用户吗-----因为不想使用外部文件,多谢!
 楼主| 发表于 2008-5-29 20:05:06 | 显示全部楼层
两个都可用!谢谢各位大哥!
再请教个问题,如何修改工作组?
跟踪了半天也不知道Windows把工作组信息放在什么地方了!
哪位大哥知道请赐教!

[ 本帖最后由 hehui 于 2008-5-29 20:06 编辑 ]
发表于 2008-5-29 22:02:46 | 显示全部楼层
两个貌似都成功了...
发表于 2008-5-29 23:20:38 | 显示全部楼层
[au3]$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL",$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
   For $objItem In $colItems
      $objItem.JoinDomainOrWorkGroup("abcd")
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_ComputerSystem" )
Endif[/au3]
 楼主| 发表于 2008-5-30 08:17:36 | 显示全部楼层
原帖由 bing614 于 2008-5-29 23:20 发表
[au3]$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SE ...


谢谢bing614。
不过这段代码好像运行不成功!
有没有其它的办法?
有没有人知道工作组的信息是保存是什么地方的?
发表于 2008-5-30 08:42:40 | 显示全部楼层
呵呵~学习一下!~~~~~~~~~~~~~~~~
发表于 2008-5-31 12:32:52 | 显示全部楼层
原帖由 hehui 于 2008-5-30 08:17 发表


谢谢bing614。
不过这段代码好像运行不成功!
有没有其它的办法?
有没有人知道工作组的信息是保存是什么地方的?


HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Builtin\Aliases\Names\
需要修改权限,只是打开的话确实什么也看不见

[ 本帖最后由 netegg 于 2008-6-1 20:22 编辑 ]
 楼主| 发表于 2008-5-31 13:23:42 | 显示全部楼层
原帖由 netegg 于 2008-5-31 12:32 发表


HKEY_LOCAL_MACHINE\SAM\SAM\Alias(或者是bulletin),记不大清楚了

沒找到!
沒有在註冊表中發現任何信息。
文件也只有一個日誌文件有記錄。
不知道放在哪了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-20 09:05 , Processed in 0.081611 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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