exchange12rocks: (Default)
[personal profile] exchange12rocks
Как тут надо расставить i = "    " и i = i & i, чтобы отформатированно оно было как при просмотре в оснастке Active Directory Users & Computers?

strMyOU = "Users"
strMyDomain = "OU=Company,DC=example,DC=com"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TF = FSO.CreateTextFile("C:\ADUsers "&Date()&".txt")
TF.Write vbcrlf

'i = "    "
sub recurs(ou)
    strContainer = "OU="+ou+"," + strMyDomain
    set objOU = GetObject("LDAP://" & strContainer )  
    For each objUser in objOU
        strLastUser = objUser.Get ("name")
        If objUser.Class="user" then
            'TF.Write i
            TF.Write strLastUser
            TF.Write vbCrLf
        End If
        If objUser.Class="organizationalUnit" then
            'TF.Write i
            TF.Write "OU="
            TF.Write objUser.Get ("name")
            TF.Write vbCrLf
            'i = i & i
            recurs(strLastUser+", OU="+ou)
        End If
    Next
'i = "    "
End Sub

recurs strMyOU

TF.Close
Wscript.Echo ("Done !!!")

Date: 2008-01-16 11:51 am (UTC)
From: [identity profile] demon-aku.livejournal.com
Порно под кат! Я еле спрятал когда родители зашли.

Date: 2008-01-16 02:22 pm (UTC)
(deleted comment)

Date: 2008-01-17 11:08 am (UTC)
From: [identity profile] kf.livejournal.com
да. Но не пробелы, а табы. Что такое chr$? Проблема в том что отступы начинают делаться нормально, потом сбрасываются на начальный уровень

Date: 2008-01-17 06:52 am (UTC)
From: [identity profile] chorry.livejournal.com
upd: црлф проглядел :)
Раскомментил твой код - список и так выглядит нормально. В чем, собственно, цимес?

Date: 2008-01-17 11:18 am (UTC)
From: [identity profile] kf.livejournal.com
Что-т не грузеццо. вот что у меня получается. Если OU вложено в OU, табов вставляется больше чем один. Пользователь Tatiana Drozdova принадлежит OU Front Office, но у неё табов не хватает.

Date: 2008-01-18 04:29 am (UTC)
From: [identity profile] chorry.livejournal.com
А, понял. Тогда вот:

Sub my_rec(ou, level)
strContainer = "OU="+ou+"," + strMyDomain
set objOU = GetObject("LDAP://" & strContainer )
For each objUser in objOU
strLastUser = objUser.Get ("name")
If objUser.Class="user" then
TF.Write space(level*4)
TF.Write strLastUser
TF.Write vbCrLf
End If
If objUser.Class="organizationalUnit" then
TF.Write space(level*4)
TF.Write "OU="
TF.Write objUser.Get ("name")
TF.Write "!"&vbCrLf
newlevel = level + 1
call my_rec(strLastUser+", OU="+ou, newlevel)
End If
Next
End Sub

call my_rec (strMyOU,0)

Date: 2008-01-18 07:01 am (UTC)
From: [identity profile] kf.livejournal.com
АААААА ТЫ ГЕНИЙ!! Я ТЕБЯ ОБОЖАЮ!!

Profile

exchange12rocks: (Default)
Kirill 'kf' Nikolaev

September 2016

S M T W T F S
    123
456789 10
11121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 19th, 2026 11:12 pm
Powered by Dreamwidth Studios