Aquí hay un programa reciente que hace algo parecido:
http://www.emesn.com/autoitforum/viewto ... 199#p14199
Por otro lado:
Arrancar en modo admin con RunAs() y el comando net y lo que quieras, net user te permite bastantes cosas pero para cambiar grupo/usuario.
net group x: Aņadir/ver/modificar grupos de usuarios en un dominio
/Domain:x -> nombre del dominio
/add x -> aņadir un grupo nuevo
net user usuario clave: Aņadir/ver/modificar usuarios en un dominio
/domain:nombre -> nombre del dominio
/add x -> agregar usuario al dominio
net user para llamarlo con Autoit algunos ejemplos en http://ss64.com/nt/net_useradmin.html :
desde el cmd o Run() o RunAs() http://support.microsoft.com/kb/251394
y en http://technet.microsoft.com/en-us/libr ... 90718.aspx
Aquí un ejemplo de como usar los objetos
wscript que con la opcion NETWORK accedes a esto::
http://www.emesn.com/autoitforum/viewto ... =13&p=9313
Ejemplo de conversión de VbScript a Autoit solo cambia lo que está entre parentesis ;) :
Código: Seleccionar todo
En WsScript
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = 'HP QuietJet'")
For Each objPrinter in colInstalledPrinters
objPrinter.CancelAllJobs()
Next
-->>Lo mismo en Autoit creando el objeto y luego llamado a las funciones y métodos, pero puedes usar la potencia de Autoit para complementarlo:
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\" & $strComputer & " ootcimv2")
$colInstalledPrinters = $objWMIService.ExecQuery ("Select * from Win32_Printer Where Name = 'HP LaserJet 3200 Series PCL'")
For $objPrinter in $colInstalledPrinters
$objPrinter.CancelAllJobs()
Next
Este es el codigo en VB para cambiar el usuario:
Código: Seleccionar todo
' Description:
' Script that renames a local user account
' Will return errorlevel 1 if it fails
Set oArgs = Wscript.Arguments
If oArgs.Count <> 2 Then
WScript.Echo "Invalid input, needs to be: " & vbCrLf & vbCrLf _
& WScript.ScriptName & " <old-name> <new-name>"
WScript.Quit 1 ' return with errorlevel 1
End If
Set oWshNet = CreateObject("WScript.Network" )
' get computer name for local computer
sComputerName = oWshNet.ComputerName
' Turn off internal error handling
On Error Resume Next
' connect to user object
Set oUser = GetObject("WinNT://" & sComputerName & "/" _
& oArgs(0) & ",user" )
If Err.Number = 0 Then
Set oComputer = GetObject("WinNT://" & sComputerName)
' rename user
Set oNewUser = oComputer.MoveHere(oUser.ADsPath, oArgs(1))
If Err.Number = 0 Then
WScript.Echo "User account successfully renamed from " _
& oArgs(0) & " to " & oArgs(1)
Else
WScript.Echo "Was not able to rename user account from " _
& oArgs(0) & " to " & oArgs(1)
WScript.Quit 1 ' return with errorlevel 1
End If
Else
WScript.Echo "User account " & oArgs(0) & " does not exist!"
WScript.Quit 1 ' return with errorlevel 1
End If
Reamente no tengo hecho lo que necesitas, si no te explico las técnicas que hay, también puedes usar un programa externo que lo haga y llamarlo desde el interface que pones dentro del Select/Case:
Case $Button
Lo que haces realmente es crear tu propio interface para otro programa que ya lo hace en cmd/batch
Salu22:)