Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VBS] current user full Display Name

Pagina: 1
Acties:

  • wvdburgt
  • Registratie: Juli 2003
  • Laatst online: 08-11 15:21

wvdburgt

MacOS all the way baby!

Topicstarter
Hallo,

Op mijn werk ben ik bezig met een script. hiervoor moet ik van de huidige gebruiker de volledige Displayname weten en in een variable plaatsen.
Nu kan ik wel de huidige username krijgen maar dat is bij ons niet de volledige naam.
Hoe kan ik deze makkelijk vinden? Het script moet op de client draaien.

Ik vind helaas nergens een goed werkende oplossing.
Wat ik wel gevonden heb:
http://writing.feedfury.c...ind-current-username.html

AMD Ryzen 5 7600X | Asus Prime X670-P | Corsair Vengeance 2x 16GB DDR5 PC5200 | XFX Speedser MERC 310 AMD 7900 XTX| http://wvdburgt.nl


  • Xtr3me4me
  • Registratie: Juli 2009
  • Laatst online: 27-08-2024

Xtr3me4me

Saiyajin Godlike Tweaker

Hier ben ik dus ook naar opzoek. Alleen mij lukt het niet om vanuit 1 punt (beheer pc) andere pc's te lokaliseren om erachter te komen wie op dat moment achter die pc zit.

Dus script waarbij ik alleen het IP adres of pc naam hoef in te voeren en wanneer ik het draai, de username of complete naam naar voren komt.

-- My Gaming Rig Power -- -- <SG> Diabolic --


  • Coach4All
  • Registratie: Januari 2003
  • Laatst online: 23-11 18:28

Coach4All

I'm a Coach 4 All

Even bij Microsoft zelf kijken voor PS / VBS scripts?

http://gallery.technet.mi...7a-492d-ad6c-957b0997d1ba

--- Systeembeheerdersdag --- Voedselintolerantie ---


  • Xtr3me4me
  • Registratie: Juli 2009
  • Laatst online: 27-08-2024

Xtr3me4me

Saiyajin Godlike Tweaker

-- My Gaming Rig Power -- -- <SG> Diabolic --


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Laat eens zien wat je tot nu toe zelf gecode hebt?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • wvdburgt
  • Registratie: Juli 2003
  • Laatst online: 08-11 15:21

wvdburgt

MacOS all the way baby!

Topicstarter
Ik heb momenteel het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
On Error Resume Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "Current User Name: " & WshNetwork.UserName

'select user in AD en verkrijg benodigde info
Set objUser = GetObject ("LDAP://CN=Wieger van der Burgt,OU=NL,OU=Users,OU=MyMicro Group,DC=replacedirect,DC=com")
objUser.GetInfo


'laat title, department en company zien
strTitle = objUser.Get("title")
strDepartment = objUser.Get("Department")
strCompany = objUser.Get("company")
WScript.echo "title: " & strTitle
WScript.echo "Department: " & strDepartment
WScript.echo "company: " & strCompany

Het probleem zit hem in het volgende: Ik wil dmv:
code:
1
2
Set objUser = GetObject ("LDAP://CN=Wieger van der Burgt,OU=NL,OU=Users,OU=MyMicro Group,DC=replacedirect,DC=com")
objUser.GetInfo

de Het bedrijf, afdeling en titel uitlezen. Hiermee wil ik straks een gepersonaliseerde handtekening maken.

Probleem is dat bij het LDAP commando ik een volledige naam nodig heb. Ik heb even gekeken naar de scripjes die gelinkt werden. Een daarvan is Powershell. Hoewel ik dat ook liever gebruik zit ik met vrijwel alleen XP clients en 2003 servers. Het ander script verwacht het wachtwoord van de gebruiker. Ik wil het script zodanig maken dat dit op de achtergrond draait en geen AD wachtwoorden nodig heeft. Toch bedankt voor de moeite.

AMD Ryzen 5 7600X | Asus Prime X670-P | Corsair Vengeance 2x 16GB DDR5 PC5200 | XFX Speedser MERC 310 AMD 7900 XTX| http://wvdburgt.nl


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Je hebt een user(object)-zoekfunctie nodig.

Je hebt de logon naam (samaccountname) dus kun je nu ook een mooie functie erin bouwen die keurig netjes jouw DN ophaalt uit de AD, zodat je de volledige user info tevoorschijn kan toveren.

Iets als dit, maar dan voor users. Hoe je dat doet mag je met deze voorzet zelf verzinnen:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function FindGroup(strGroup)
    Const ADS_SCOPE_SUBTREE = 2

    Set objRootDSE = GetObject("LDAP://RootDSE")
    strDefaultDomain = objRootDSE.Get("defaultNamingContext")
    Dim objConnection, objCommand, objRecordSet
    Dim strDN, ArrPath, intLength, intNameLength
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"

    Set objCommand.ActiveConnection = objConnection
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

    objCommand.CommandText = _
        "SELECT distinguishedName FROM 'LDAP://" & strDefaultDomain & "' WHERE objectCategory='group' " & _
            "AND sAMAccountName='" & strGroup & "'"

    Set objRecordSet = objCommand.Execute

    if objRecordSet.EOF then
        FindGroup = Empty
    else
        objRecordSet.MoveFirst
        Do Until objRecordSet.EOF
            FindGroup = objRecordSet.Fields("distinguishedName").Value
                objRecordSet.MoveNext
        Loop
    end if

End Function



Bij dit soort toepassingen moet je gewoon eerst in pseudo-code je programmaflow een keer uittekenen zodat je in beeld hebt wat je allemaal moet verzamelen en ophalen aan gegevens voordat je iets weg kan schrijven.

En dan wordt het zoeken naar bestaande oplossingen opeens een stuk makkelijker :)

[ Voor 12% gewijzigd door alt-92 op 12-07-2011 10:31 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • wvdburgt
  • Registratie: Juli 2003
  • Laatst online: 08-11 15:21

wvdburgt

MacOS all the way baby!

Topicstarter
Ik had al de stappen in mijn hoofd maar ik blijf hangen bij het omzetten van login naam naar Fullname zodat ik die kan invullen bij dat LDAP commando. De andere stappen heb ik zo goed als klaar. Ik heb even je code probeert maar ik krijg geen value uit. Ik heb het volgende gedaan:

Stap 1: Jouw functie geplakt onderaan mijn script (als ik het goed herinner is het bij vbscript onderaan alleen ik script ook in powershell en perl dus ik ben nog al eens verward)
Stap 2: Daarna heb ik je functie als volgt aangeroepen boven aan in mijn script:
code:
1
2
3
4
Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "Current User Name: " & WshNetwork.UserName
loginName = WshNetwork.UserName
wscript.echo "functie: "& FindGroup(loginName)


Ik haal dus de username op en roep dan de functie aan maar de value blijft leeg.
Ik heb ook al geprobeerd door:
code:
1
2
zoekFullName = FindGroep(lgoinName)
wscript.echo "functie2: "&zoekFullName
maar ook die bleef leeg.
Moet ik rechten hebben om dat op te vragen of wat gaat er fout?

AMD Ryzen 5 7600X | Asus Prime X670-P | Corsair Vengeance 2x 16GB DDR5 PC5200 | XFX Speedser MERC 310 AMD 7900 XTX| http://wvdburgt.nl


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Ik weet niet wat jij wel of niet hebt aangepast want dat laat je niet zien..

[ Voor 22% gewijzigd door alt-92 op 12-07-2011 11:26 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • wvdburgt
  • Registratie: Juli 2003
  • Laatst online: 08-11 15:21

wvdburgt

MacOS all the way baby!

Topicstarter
Ik heb inmiddels gevonden wat ik zocht:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 Retrieve User DN.
Set objSysInfo = CreateObject("ADSystemInfo")
strUserDN = objSysInfo.UserName

' Bind to user object.
Set objUser = GetObject("LDAP://" & strUserDN)

' Display user NT name (sAMAccountName), Distinguished Name,
' Common Name, Display Name, first name, and last name.
' The last three might not have values.
Wscript.Echo "sAMAccountName: " & objUser.sAMAccountName
Wscript.Echo "Distinguished Name: " & objUser.distinguishedName
Wscript.Echo "Common Name: " & objUser.cn
Wscript.Echo "Display Name: " & objUser.displayName
Wscript.Echo "First Name: " & objUser.givenName
Wscript.Echo "Last Name: " & objUser.sn


Allen bedankt voor de hulp

[ Voor 81% gewijzigd door wvdburgt op 12-07-2011 16:24 . Reden: gevonden:) ]

AMD Ryzen 5 7600X | Asus Prime X670-P | Corsair Vengeance 2x 16GB DDR5 PC5200 | XFX Speedser MERC 310 AMD 7900 XTX| http://wvdburgt.nl

Pagina: 1