У меня есть 2 скрипта:
1) для вывода заблокированных пользователей:
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.
72.
73.
74.
75.
76.
77.
78.
79.
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) Вывод пользователей с ограниченным временным доступом к сетевым ресурсам предприятия:
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.
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 в каждой ячейке свой вид данных.Помогите пожалуйста!!!!!!!!!