powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить некоторые данные при помощи скрипта.
1 сообщений из 1, страница 1 из 1
Получить некоторые данные при помощи скрипта.
    #36926753
Melanxolik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю над изучением возможностей скриптинга в windows, учусь и параллельно решаю рабочие задачи.
Нарисовал кусочек вот такого скрипта.
Но есть проблема, при запуске скрипта создается файл а в нем приведеный ниже текст, почему-то некоторые компьютера двоит, хотя если просто выгрузить список из AD без for each то никаких задвоений нету.
Код: 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.
On Error Resume Next ' Нужно чтобы было продолжение если не будет доступа к RCP серверу во время выполенния скрипта

Const adVarChar =  200  
Const MaxCharacters =  255  
Const ForReading =  1  
Const ForWriting =  2  
Const ADS_SCOPE_SUBTREE =  2  
Const FOR_WRITING =  2  
 
'************************ Create Server List **************************** 
 
set objFSO = CreateObject("Scripting.FileSystemObject") 

Set objFile = objFSO.CreateTextFile("Serverlist.txt") 
Set objShell = CreateObject("WScript.Shell")

Set objConnection = CreateObject("ADODB.Connection") 
Set objCommand =   CreateObject("ADODB.Command") 
objConnection.Provider = "ADsDSOObject" 
objConnection.Open "Active Directory Provider" 
 
Set objCOmmand.ActiveConnection = objConnection 
Set RootDse = GetObject( "LDAP://RootDse" ) 
strADSPath = "LDAP://" & RootDse.get( "DefaultNamingContext" ) 
objCommand.CommandText = "Select Name, Location from '" & strADSPath & "' Where objectClass='computer'" 
objCommand.Properties("Page Size") =  1000  
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
Set objRecordSet = objCommand.Execute 

objRecordSet.MoveFirst 
 
Do Until objRecordSet.EOF 
    strComputer = objRecordSet.Fields("Name").Value 'Получаем текущее имя компьютера

    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '"& strComputer & "'")
    For Each objStatus In objPing
        If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <>  0  Then
            Avaible = False ' Провал попингуем. пишем в лог и закрываем рот
            objFile.WriteLine "СЕТИ НЕТ   на " & strComputer & "   дата: " & Now()        
        Else
            Avaible = True ' Пинг прошел, обрабатываем систему далее

        Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set colItems = objWMIService.ExecQuery( "SELECT * FROM Win32_OperatingSystem",, 48 ) 
        For Each objItem in colItems 
         objFile.WriteLine(objItem.CSName)
        Next
    End If
  Next
objRecordSet.MoveNext
Loop

автор
DC1
DC2
DC2
DC2
СЕТИ НЕТ на TOP-CNV дата: 28.10.2010 14:16:27
OIKS3
СЕТИ НЕТ на TOP-MDV дата: 28.10.2010 14:16:29
SBYT1
СЕТИ НЕТ на SBYT5 дата: 28.10.2010 14:16:31
OIKS8
OIKS4
OIKS5
OIKS9
OIKS12
СЕТИ НЕТ на OIKS14 дата: 28.10.2010 14:16:40
OIKS11
OIKS11
СЕТИ НЕТ на FO2 дата: 28.10.2010 14:16:41
FO4
OEB3
FO5
OKS2
OIKS16
СЕТИ НЕТ на IMCTEH1 дата: 28.10.2010 14:16:45
СЕТИ НЕТ на CEH1-1 дата: 28.10.2010 14:16:48
SEC2
SBYT6
SBYT3
CEH5-11
SBYT9
IMC9
СЕТИ НЕТ на ONTIT1 дата: 28.10.2010 14:16:49
SBYT13
SBYT11
SBYT14
SECRETAR3
AUTOCEH7
SBYT20
SBYT19
SBYT23
SBYT21
СЕТИ НЕТ на SBYT17 дата: 28.10.2010 14:16:53
OSS4
SBYT32
SBYT31
СЕТИ НЕТ на PROIZ2 дата: 28.10.2010 14:16:54
BUH25
OGE7
OGE7
DISP1
СЕТИ НЕТ на PROIZ5 дата: 28.10.2010 14:16:58
PROIZ6
OMTS6
OMTS5
СЕТИ НЕТ на OMTS2 дата: 28.10.2010 14:17:05
OMTS1
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получить некоторые данные при помощи скрипта.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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