FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Usuarios de Windows (RESUELTO)
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Usuarios de Windows (RESUELTO)
Posted: Sat Jun 19, 2010 02:41 PM

Saludos,

Alguna manera de obtener todos los usuarios que hay creados y/o registrados en windows 2003 server.

Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Usuarios de Windows
Posted: Mon Jun 21, 2010 10:09 AM
Here is a VB code to access the Users list

Code (fw): Select all Collapse
Sub ListUsers( strDomain )
    Set objComputer = GetObject("WinNT://" & strDomain )
    objComputer.Filter = Array( "User" )
    For Each objUser In objComputer
        WScript.Echo "Name: " & objUser.Name
        WScript.Echo "Fullname: " & objUser.Fullname
        WScript.Echo "Description: " & objUser.Description
        WScript.Echo "AccountDisabled: " & objUser.AccountDisabled
        WScript.Echo "IsAccountLocked: " & objUser.IsAccountLocked
        WScript.Echo "Profile: " & objUser.Profile
        WScript.Echo "LoginScript: " & objUser.LoginScript
        WScript.Echo "HomeDirectory: " & objUser.HomeDirectory
        WScript.Echo ""
    
    Next
End Sub


Regards

Anser
Posts: 603
Joined: Sun May 04, 2008 08:44 PM
Re: Usuarios de Windows
Posted: Mon Jun 21, 2010 12:46 PM
VB 2 FWH

Code (fw): Select all Collapse
#include "Fivewin.ch"

Function main

 ListUsers("Lailton-LAPTOP")

Return

Function ListUsers( cDomain )
Local objComputer
  
    Try
      objComputer := CreateObject("WinNT://" + cDomain)
    Catch
      MsgStop("Não foi possivel criar o Object !")
      Return  
   End
    objComputer:Filter := { "User" }
    For Each objUser In objComputer
        ? "Name: " + objUser:Name
        ? "Fullname: " + objUser:Fullname
        ? "Description: " + objUser:Description
        ? "AccountDisabled: " + objUser:AccountDisabled
        ? "IsAccountLocked: " + objUser:IsAccountLocked
        ? "Profile: " + objUser:Profile
        ? "LoginScript: " + objUser:LoginScript
        ? "HomeDirectory: " + objUser:HomeDirectory
        ?
    Next
Return
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: Usuarios de Windows (RESUELTO)
Posted: Mon Jun 21, 2010 09:48 PM
Gracias amigos,
Con su código y algo que busque por la red realice esto:
Code (fw): Select all Collapse
Function ListUsers()
local oLoc := CreateObject( "wbemScripting.SwbemLocator" )
local oSrv := oLoc:ConnectServer(,"root\cimv2")
local aDat := oSrv:ExecQuery( "SELECT * FROM Win32_UserAccount" )
Local oDat
Local aRet := {}

 For each oDat in aDat
  AADD(aRet, AllTrim( Upper( oDat:Name ) ) )
 Next

Return( aRet )
Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 603
Joined: Sun May 04, 2008 08:44 PM
Re: Usuarios de Windows (RESUELTO)
Posted: Mon Jun 21, 2010 10:57 PM

Bom trabalho :D

Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: Usuarios de Windows (RESUELTO)
Posted: Tue Jun 22, 2010 12:38 AM

:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D

Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Usuarios de Windows (RESUELTO)
Posted: Tue Jun 22, 2010 06:15 AM
Dear Mr.Pablo,

Nice to hear that you resolved the issue. :-)

Code (fw): Select all Collapse
local oSrv := oLoc:ConnectServer(,"root\cimv2")

The above code will retrieve user's list from your local PC only. If you need to retrieve the list of users from your domain/server or from a remote PC, then you have to pass either the server's IP or Server's name as the first parameter to oLoc:ConnectServer().

Code (fw): Select all Collapse
oSrv  := oWMI:ConnectServer(cDomain,"root\cimv2")

or
Code (fw): Select all Collapse
oSrv  := oWMI:ConnectServer("192.168.0.1","root\cimv2")


Regards
Anser

Continue the discussion