Board logo

标题: vbs 要求判断登陆的是否为指定用户,然后再执行语句 [打印本页]

作者: vcstone     时间: 2007-11-30 12:10    标题: vbs 要求判断登陆的是否为指定用户,然后再执行语句

环境: xp sp2,  2003
希望实现:
        判断当前登陆的是否为指定用户(cba),如果是则执行特定语句,如果不是则退出.

请兄弟们指点一下
作者: vcstone     时间: 2007-11-30 14:42
已解决
set obj=createobject("wscript.shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
    if WshNetwork.UserName="fan" then
      obj.run "calc.exe"
     end if
测试时fan忘了加""号失败.汗喔!
作者: dato     时间: 2007-11-30 23:03
能否保留特定的比如两个用户,而且自动删除其它用户,机房里经常有人新建用户烦
作者: vcstone     时间: 2007-12-1 20:36
strComputer = "."
Set colGroups = GetObject("WinNT://" & strComputer & "/Administrators")
Set WshShell = WScript.CreateObject("WScript.Shell")
For Each objUser In colGroups.Members  
    IF objUser.Name<>"Administrator" Then
        WshShell.Run "net user " & objUser.Name & " /delete"
        Wscript.Echo "已删除用户" & objUser.Name
    END IF
Next

这段可以解决,删除组内特定用户外的其它用户..觉得应该有专门方法.不用用到net user..不过不懂.

另还想问一下高手们..我怎么才可以知道用这个
GetObject("WinNT://" & strComputer & "/Administrators")
能查询组内用户,就好像这些一样
GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set wbemServices = Getobject("winmgmts:\\" & strComputer)

GetObject("winmgmts:\\"&"."&"\root\cimv2")

我怎么才能知道用它们能干什么,怎样用它们?..有什么资料是介绍这些的..请指点一下.
非常感谢