Вопрос : Контролируйте Ou и все sub Ou и посылайте по электронной почте если компьютер не контактирует домен на больше чем 10 дней. Vbs или Powershell

Hi,

Monitor Ou и полностью sub Ou и электронная почта если компьютер не контактировал домен для больше, то чем 10 days.
I хочет помощь с сценарием который может просмотреть все компьютеры и посылать как раз имена по электронной почте машины который не контактировал домен или никакое переключенные дальше для 10 days.

Can любого помогите мне с этим please.

regards
Sharath
class=

Ответ : Контролируйте Ou и все sub Ou и посылайте по электронной почте если компьютер не контактирует домен на больше чем 10 дней. Vbs или Powershell

фикчированн
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:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
const DAYS_DIFF = 10
const ROOT_OU = «cn=computers»
const LOG_FILE = «C:\temp\Last _Logon.log»

Тусклое objRootDSE, strConfig, objConnection, objCommand, strQuery
Тусклое objRecordSet, objDC, f, fso
Тусклое strDNSDomain, objShell, lngBiasKey, lngBias, k, arrstrDCs ()
Тусклое strDN, dtmDate, objDate, lngDate, objList, strUser
Тусклое strBase, strFilter, strAttributes, lngHigh, lngLow, logContent

Установите objFSO = CreateObject («Scripting.FileSystemObject»)
Установите objTextFile = objFSO.CreateTextFile (LOG_FILE, 2, поистине)

'Используйте предмет словаря для того чтобы отслеживать самое последнее lastLogon для каждого потребителя.
Установите objList = CreateObject («Scripting.Dictionary»)
objList.CompareMode = vbTextCompare

'Получите смещение зоны местного времени от регистратуры машины.
Установите objShell = CreateObject («Wscript.Shell»)
lngBiasKey = objShell.RegRead («HKLM \ система \ CurrentControlSet \ управление \» _
  & «TimeZoneInformation \ ActiveTimeBias»)
Если UCase, то (TypeName (lngBiasKey)) = «ДЛИНОЙ» после этого
  lngBias = lngBiasKey
ElseIf UCase (TypeName (lngBiasKey)) = «ВАРИАНТ ()» после этого
  lngBias = 0
  Для k = 0 к UBound (lngBiasKey)
    lngBias = lngBias + (lngBiasKey (k) * 256 ^ k)
  Затем
Закончитесь если

'Обусловьте смысл конфигурации и домен DNS от предмета RootDSE.
Установите objRootDSE = GetObject («LDAP: //RootDSE»)
strConfig = objRootDSE.Get («configurationNamingContext»)
strDNSDomain = objRootDSE.Get («defaultNamingContext»)

'Используйте СУЕТУ для того чтобы искать активно директорию для nTDSDSA ObjectClass.
'Это определит все регуляторы домена.
Установите objCommand = CreateObject («ADODB.Command»)
Установите objConnection = CreateObject («ADODB.Connection»)
objConnection.Provider = «ADsDSOObject»
objConnection.Open «активно провайдер директории»
objCommand.ActiveConnection = objConnection

strBase = ""
strFilter = «(objectClass=nTDSDSA)»
strAttributes = «AdsPath»
strQuery = strBase & «; » & strFilter & «; » & strAttributes & «; поддерево»

objCommand.CommandText = strQuery
objCommand.Properties («размер страницы») = 100
objCommand.Properties («перерыв») = 60
objCommand.Properties («тайник приводит к») = ложно

Установите objRecordSet = objCommand.Execute

'Перечислите предметы родителя nTDSDSA типа. Сохраньте регулятор домена
'AdsPaths в динамических arrstrDCs блока.
k = 0
Не сделать до objRecordSet.EOF
  Установите objDC = _
    GetObject (GetObject (objRecordSet.Fields («AdsPath»)). Родитель)
  arrstrDCs заповедника ReDim (k)
  arrstrDCs (k) = objDC.DNSHostName
  k = k + 1
  objRecordSet.MoveNext
Петля
'Восстановите атрибут lastLogon для каждого потребителя на каждом регуляторе домена.
Для k = 0 к UBound (arrstrDCs)

	если "" <> ROOT_OU после этого
		strBase = ""
	еще
		strBase = ""
	закончитесь если
	  
 strFilter = «(& (objectCategory=computer) (objectClass=computer))»
  strAttributes = «CN, lastLogon»
  strQuery = strBase & «; » & strFilter & «; » & _ strAttributes
    & «; поддерево»

  objCommand.CommandText = strQuery
  На резюме ошибки затем
  Err.Clear
  Установите objRecordSet = objCommand.Execute
  Если Err.Number <> 0 после этого
    Err.Clear
    На ошибке переход 0
  Еще
  Затемните I 'как интежер
    На ошибке переход 0
    Не сделать до objRecordSet.EOF
   
      strDN = objRecordSet.Fields («CN»)
      lngDate = objRecordSet.Fields («lastLogon»)
      На резюме ошибки затем
      Err.Clear
      Установите objDate = lngDate

      Если Err.Number <> 0 после этого
        Err.Clear
        dtmDate = #1/1/1601#
      Еще
        lngHigh = objDate.HighPart
        lngLow = objDate.LowPart
        Если objList < 0="" Then="" lngHigh="lngHigh"> lngLow (strDN) после этого
          objList (strDN) = dtmDate
        Закончитесь если
      Еще
        strDN objList.Add, dtmDate
      Закончитесь если
      objRecordSet.MoveNext
    Петля
  Закончитесь если
Затем

Для каждого strUser в objList
	objDate = CDate (objList (strUser))
	diffDays = DateDiff («d», objDate, дата)
	Если diffDays > DAYS_DIFF после этого 
		logContent = logContent &  strUser & «; » & objList (strUser) & vbNewLine
	Закончитесь если       
Затем

objTextFile.WriteLine logContent
objTextFile.Close

NotifyByEmail «подвергает извещение механической обработке электронная почта LastLogon», logContent

objConnection.Close
Установите objRootDSE = ничего
Установите objConnection = ничего
Установите objCommand = ничего
Установите objRecordSet = ничего
Установите objDC = ничего
Установите objDate = ничего
Установите objList = ничего
Установите objShell = ничего

«Сделанное» MsgBox

sub NotifyByEmail (strSubject, strResult)
	Тусклое ToAddress
	Тусклое MessageSubject
	Тусклое MessageBody
	Тусклое MessageAttachment
	тусклое myRecipient, olMailItem

	Тусклое ol, ns, newMail

	ToAddress = «[email protected]»
	MessageSubject = strSubject
	MessageBody = strResult

	Установите ol = WScript.CreateObject («Outlook.Application»)
	Установите ns = ol.getNamespace («MAPI»)
	ns.log на "", "", поистине, ложном
	Установите newMail = ol.CreateItem (olMailItem)
	newMail.Subject = MessageSubject
	newMail.Body = MessageBody & vbCrLf

	'утвердите получатель, как раз в случае…
	Установите myRecipient = ns.CreateRecipient (ToAddress)
	myRecipient.Resolve
	Если не myRecipient.Resolved после этого
	   MsgBox «неизвестный получатель»
	Еще
	   newMail.Recipients.Add (myRecipient)
	   newMail.Send
	Закончитесь если

	Установите ol = ничего

закончите подводную лодку
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us