Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по VBS + AD / 7 сообщений из 7, страница 1 из 1
10.11.2005, 12:47:21
    #33370922
Mix
Mix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
Компьютер находится в домене.
Когда мы, допустим, добавляем доменного пользователя в группу администраторов этого компьютера, мы просматриваем список доменных пользователей (Русские имена и фамилии) и выбираем необходимого.

Теперь вопрос: как на VB скрипте получить это самое русское имя и фамилию?

Насколько я понимаю, нужно использовать или провайдера WINNT или LDAP.
Если использовать WINNT, то с помощью свойства FullName можно получить имя пользователя, но в латинице.
А вот как получить именно русскими буквами?

К LDAP у меня ввобще не получилось подрубиться.

Сорри за сумбурный вопрос и заранее спасибо за ответ!
...
Рейтинг: 0 / 0
10.11.2005, 13:02:28
    #33370981
MoonRabbit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
''Скрипт определяет полное имя пользователя по логину 
set nw = WScript.CreateObject("WScript.Network")
username=nw.Username
set objuser = GetObject("WinNT://DomainName/" & username)
wscript.Echo(objuser.fullname)

''Где DomainName - имя домена

Именно русскими буквами.
...
Рейтинг: 0 / 0
10.11.2005, 13:09:42
    #33371014
Mix
Mix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
Ага, я уже так тоже пробовал - латиница, хоть убейся.:((
...
Рейтинг: 0 / 0
10.11.2005, 13:25:04
    #33371081
MoonRabbit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
Посмотрите вот этот скрипт, мож поможет.
ЗЫ. Даже не помню откуда он у меня...

Код: plaintext
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
'Purpose:           To get locally or remotely Windows 2000 server
'           Active Directory users's account information
'           then write into a local text file
'Keywords:         WSH 5.5 or up, ADSI 2.5 installed on Win9x if you run it remotely
'Reviewed:         04/04/2002
'Comment:         This functions with a particular Active Directory Structure.  You
'           may need to modify the code to bind your Directory Object depending
'               on your organization Directory structure
'***********************************************************************************************

dim oContainer, objRoot, oOU, oGroup
dim strDomainCtl, strOU, strConnect, strtest
dim strMes, strFile,strLine
dim filesys, Writingfile

'Every LDAP server must have a root entry called the root DSE
set objRoot = GetObject("LDAP: //RootDSE")
strDomainCtl = objRoot.Get("defaultNamingContext")

strMes = "Please modify the location and the text file name that you want: "
strFile =  InputBox(strMes,"Folder and file name","C:\UserInfo.txt")
if strFile = "" then
  wscript.echo "You changed your mind - won't to run the program ?!"
  wscript.quit
else
  'wscript.echo strFile
  set filesys = WScript.CreateObject("Scripting.FileSystemObject")
  set Writingfile = filesys.OpenTextFile(strFile, 2 ,true)
  Writingfile.WriteLine(" CN " & "     Display Name     ")
  Writingfile.WriteBlankLines( 1 )

  'Get An Organization Unit Name that you want to get information
  strMes = "Please entry an Organization Unit Name: "
  strOU = InputBox(strMes,"Organization Unit Name","Legal")
  if strOU = "" then
    wscript.echo "You changed your mind - won't to run the program ?!"
    wscript.quit
  else
    strOU = "OU=" & strOU
    'wscript.echo strOU & " in " & strDomainCtl

    'for local or remote LDAP accessing
    strConnect = "LDAP://" & strOU & ", " & strDomainCtl
    'wscript.echo strConnect

    on error resume next
    set oContainer = GetObject(strConnect)
    if err <>  0  Then
     wscript.echo "Directory Object is not correctly bound for users !" & " Please check your Active Directory Structure."
     escript.quit
    else
      'find each object one by one in oContainer and put in the array
      For Each oOU In oContainer

        for each oUser In oOU
          if oUser.class = "user" then

           'wscript.echo oUser.samAccountName & ", " & oUser.displayName
           strLine = " " & oUser.samAccountName & "      " & oUser.displayName
           Writingfile.WriteLine(strLine)
           Writingfile.WriteBlankLines( 1 )

          end if
        next

       Next
      end if
  end if
end if
Writingfile.close
wscript.echo "Done"
...
Рейтинг: 0 / 0
16.11.2005, 19:09:12
    #33382521
siv
siv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
Ребят а киньте плиз сылочку на литературу по VBS!?
...
Рейтинг: 0 / 0
16.11.2005, 21:57:37
    #33382705
MoonRabbit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
...
Рейтинг: 0 / 0
28.12.2005, 02:22:48
    #33460764
Gremlen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по VBS + AD
sivРебят а киньте плиз сылочку на литературу по VBS!?

Держи сайт так себе но про VBS http://dosermen.narod.ru/
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по VBS + AD / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]