Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод данных о пользователях в HTML & Excel, Редактирование скрипта 
:(
    Опции темы
Karas51
  Дата 2.6.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.6.2009

Репутация: нет
Всего: нет



У меня есть 2 скрипта:
1) для вывода заблокированных пользователей:

Код
Option Explicit

Const ADS_UF_ACCOUNTDISABLE = 2


Dim objExcel
Dim objWorkbook

Dim objConnection
Dim objCommand
Dim objRecordset
Dim intUAC

Dim strHTMLText
Dim intCounter

Dim objFSO
Dim objTS

Set objExcel      = WScript.CreateObject("Excel.Application")
Set objWorkbook   = objExcel.Workbooks.Add


Set objConnection = WScript.CreateObject("ADODB.Connection")
Set objCommand    = WScript.CreateObject("ADODB.Command")

objConnection.Open "Provider=ADsDSOObject;"
objCommand.ActiveConnection = objConnection
objCommand.CommandText      = _
    "<GC://dc=******,dc=***>;(objectCategory=User);userAccountControl,distinguishedName;subtree"

Set objRecordSet  = objCommand.Execute

strHTMLText = "<html><title>Отчет о заблокированных учетных записях</title><body>"
strHTMLText = strHTMLText & "<h1>Отчет о заблокированных учетных записях</h1>"

objWorkbook.Sheets(1).Cells(1, 1).Value = "Отчет о заблокированных учетных записях"

intCounter = 3

Do Until objRecordset.EOF
    'intUAC = objRecordset.Fields("userAccountControl")
    
    If objRecordset.Fields("userAccountControl") AND ADS_UF_ACCOUNTDISABLE Then
        strHTMLText = strHTMLText & objRecordset.Fields("distinguishedName") & "<br />"
        objWorkbook.Sheets(1).Cells(intCounter, 1).Value = objRecordset.Fields("distinguishedName")
        
        intCounter  = intCounter + 1
    End If
    
    objRecordset.MoveNext
Loop

strHTMLText = strHTMLText &  "Всего <b>" & intCounter  & "</b> заблокировано"
objWorkbook.Sheets(1).Cells(intCounter + 1, 1).Value = "Всего " & intCounter  & " заблокировано"

objConnection.Close

strHTMLText = strHTMLText & "</body></html>"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTS  = objFSO.CreateTextFile("c:\disabled users.htm", True)

objTS.Write strHTMLText
objTS.Close

Set objTS  = Nothing
Set objFSO = Nothing

objWorkbook.SaveAs "c:\disabled_users.xls"
objExcel.Quit

Set objRecordSet  = Nothing
Set objCommand    = Nothing
Set objConnection = Nothing

Set objWorkbook   = Nothing
Set objExcel      = Nothing

WScript.Quit 0


2) Вывод пользователей с ограниченным временным доступом к сетевым ресурсам предприятия:

Код
Option Explicit

Dim objExcel
Dim objWorkbook

Dim strHTMLText
Dim intCounter

Dim objDomain
Dim objUser

Dim dtAccountExpirationDate

Dim objFSO
Dim objTS

Set objExcel      = WScript.CreateObject("Excel.Application")
Set objWorkbook   = objExcel.Workbooks.Add


strHTMLText = "<html><title>Отчет о bla-bla-bla</title><body>"
strHTMLText = strHTMLText & "<h1>Отчет о bla-bla-bla</h1>"

objWorkbook.Sheets(1).Cells(1, 1).Value = "Отчет о bla-bla-bla"

intCounter = 0

Set objDomain = GetObject("WinNT://********,domain") ' NetBIOS-имя домена
objDomain.Filter = Array("User")

On Error Resume Next

For Each objUser In objDomain
    If Not IsNull(objUser.AccountExpirationDate) Then
        If Err.Number = 0 Then
            WScript.Echo objUser.Name, objUser.AccountExpirationDate
            strHTMLText = strHTMLText & objUser.Name & ":" & objUser.AccountExpirationDate & "<br />"
            objWorkbook.Sheets(1).Cells(intCounter + 3, 1).Value = objUser.Name & ":" & objUser.AccountExpirationDate
            
            intCounter  = intCounter + 1
        Else
            Err.Clear
        End If
    End If
Next

On Error Goto 0

strHTMLText = strHTMLText &  "Всего <b>" & intCounter  & "</b> bla-bla-bla"
objWorkbook.Sheets(1).Cells(intCounter + 3 + 1, 1).Value = "Всего " & intCounter  & " bla-bla-bla"

strHTMLText = strHTMLText & "</body></html>"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTS  = objFSO.CreateTextFile("c:\disabled users2.htm", True)

objTS.Write strHTMLText
objTS.Close

Set objTS  = Nothing
Set objFSO = Nothing

objWorkbook.SaveAs "c:\disabled_users2.xls"
objExcel.Quit

Set objDomain     = Nothing

Set objWorkbook   = Nothing
Set objExcel      = Nothing

WScript.Quit 0


Они оба создают файл HTML & EXCEL, вся проблемма в том что когда создает HTML, то выводит по строчкам пользователей и с CN,OU и т.д., а в EXCEL в 1 ячейке также записывает всю информацию. Мне надо чтобы в HTML выводило в виде таблицы и без вывода CN,OU(в смысле вывод только имени пользователя и подразделения!), а в EXCEL в каждой ячейке свой вид данных.Помогите пожалуйста!!!!!!!!! У меня ничего не получается  smile  smile



Это сообщение отредактировал(а) Karas51 - 2.6.2009, 14:20
PM MAIL   Вверх
mihanik
Дата 6.6.2009, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



ну...
Начнём по порядку...
Сначала с html.

Структуру таблицы в html знаешь? 

Код

<table>
<tr>
<td></td> <td></td> ... <td></td>
</tr>
<tr>
<td></td> <td></td> ... <td></td>
</tr>
...
<tr>
<td></td> <td></td> ... <td></td>
</tr>
</table>


Попобуй сначала разобраться с этим...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Karas51
  Дата 11.6.2009, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.6.2009

Репутация: нет
Всего: нет



Это я все знаю, но у меня при создании скрипта весь HTML-код пишется в строчку, а сейчас еще и ошибку какую-то скрипт начал выдовать в строчке-
Код

Set objRecordset = objCommand.Execute

Можешь подсказать как исправить?
Мне очень надо, а я ничего понять не могу почему выводится ошибка и т.д.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.