Question : Surveiller une OU et toutes les OU secondaires et les envoyer si un ordinateur n'a pas entré en contact avec le domaine pendant plus de 10 jours. Vbs ou Powershell

Bonjour, le

Monitor une OU et tous les OU et email secondaires si un ordinateur n'a pas entré en contact avec le domaine pour plus de 10 days.
I veulent l'aide avec un manuscrit qui peut balayer tous les ordinateurs et envoyer juste les noms de machine qui n'a pas entré en contact avec le domaine ou l'aucun branché pour 10 days.

Can n'importe qui m'aider avec ce please.

regards
Sharath
class= de

Réponse : Surveiller une OU et toutes les OU secondaires et les envoyer si un ordinateur n'a pas entré en contact avec le domaine pendant plus de 10 jours. Vbs ou Powershell

fixe
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 »

Faible objRootDSE, strConfig, objConnection, objCommand, strQuery
Faible objRecordSet, objDC, f, fso
Faible strDNSDomain, objShell, lngBiasKey, lngBias, k, arrstrDCs ()
Faible strDN, dtmDate, objDate, lngDate, objList, strUser
Faible strBase, strFilter, strAttributes, lngHigh, lngLow, logContent

Placer l'objFSO = le CreateObject (« Scripting.FileSystemObject »)
Placer objTextFile = objFSO.CreateTextFile (LOG_FILE, 2, vrais)

'Employer un objet de dictionnaire pour dépister le dernier lastLogon pour chaque utilisateur.
Placer l'objList = le CreateObject (« Scripting.Dictionary »)
objList.CompareMode = vbTextCompare

'Obtenir la polarisation de zone heure locale de l'enregistrement de machine.
Placer l'objShell = le CreateObject (« Wscript.Shell »)
lngBiasKey = objShell.RegRead (« HKLM \ système \ CurrentControlSet \ commande \ » _
  et « TimeZoneInformation \ ActiveTimeBias »)
Si UCase (TypeName (lngBiasKey)) = « LONGTEMPS » puis
  lngBias = lngBiasKey
ElseIf UCase (TypeName (lngBiasKey)) = « VARIANTE () » puis
  lngBias = 0
  Pour k = 0 à UBound (lngBiasKey)
    lngBias = lngBias + (lngBiasKey (k) * 256 ^ k)
  Après
Finir si

'Déterminer le contexte de configuration et le domaine de DNS à partir de l'objet de RootDSE.
Placer l'objRootDSE = le GetObject (« LDAP : //RootDSE »)
strConfig = objRootDSE.Get (« configurationNamingContext »)
strDNSDomain = objRootDSE.Get (« defaultNamingContext »)

'Employer l'AGITATION pour rechercher l'annuaire actif le nTDSDSA d'ObjectClass.
'Ceci identifiera tous les contrôleurs de domaine.
Placer l'objCommand = le CreateObject (« ADODB.Command »)
Placer l'objConnection = le CreateObject (« ADODB.Connection »)
objConnection.Provider = « ADsDSOObject »
objConnection.Open « fournisseur actif d'annuaire »
objCommand.ActiveConnection = objConnection

strBase = ""
strFilter = « (objectClass=nTDSDSA) »
strAttributes = « AdsPath »
strQuery = strBase et « ;  » et strFilter et « ;  » et strAttributes et « ; sous-arbre »

objCommand.CommandText = strQuery
objCommand.Properties (« taille de page ») = 100
objCommand.Properties (« temps mort ») = 60
objCommand.Properties (la « cachette résulte ») = faux

Placer l'objRecordSet = l'objCommand.Execute

'Énumérer les objets de parent du nTDSDSA de classe. Sauver le contrôleur de domaine
'AdsPaths dans les arrstrDCs dynamiques de rangée.
k = 0
Faire jusqu'à objRecordSet.EOF
  Placer l'objDC = le _
    GetObject (GetObject (objRecordSet.Fields (« AdsPath »)). Parent)
  arrstrDCs de conserve de ReDim (k)
  arrstrDCs (k) = objDC.DNSHostName
  k = k + 1
  objRecordSet.MoveNext
Boucle
'Rechercher l'attribut de lastLogon pour chaque utilisateur sur chaque contrôleur de domaine.
Pour k = 0 à UBound (arrstrDCs)

	si "" <> de ROOT_OU alors
		strBase = ""
	autrement
		strBase = ""
	finir si
	  
 strFilter = « (et (objectCategory=computer) (objectClass=computer)) »
  strAttributes = « NC, lastLogon »
  strQuery = strBase et « ;  » et strFilter et « ;  » et _ de strAttributes
    et « ; sous-arbre »

  objCommand.CommandText = strQuery
  Sur le résumé d'erreur après
  Err.Clear
  Placer l'objRecordSet = l'objCommand.Execute
  Si Err.Number <> 0 puis
    Err.Clear
    Sur l'erreur 0 GoTo
  Autrement
  Obscurcir I 'comme nombre entier
    Sur l'erreur 0 GoTo
    Faire jusqu'à objRecordSet.EOF
   
      strDN = objRecordSet.Fields (« NC »)
      lngDate = objRecordSet.Fields (« lastLogon »)
      Sur le résumé d'erreur après
      Err.Clear
      Placer l'objDate = le lngDate

      Si Err.Number <> 0 puis
        Err.Clear
        dtmDate = #1/1/1601#
      Autrement
        lngHigh = objDate.HighPart
        lngLow = objDate.LowPart
        Si objList < 0="" Then="" lngHigh="lngHigh"> de lngLow (strDN) puis
          objList (strDN) = dtmDate
        Finir si
      Autrement
        strDN d'objList.Add, dtmDate
      Finir si
      objRecordSet.MoveNext
    Boucle
  Finir si
Après

Pour chaque strUser dans l'objList
	objDate = CDate (objList (strUser))
	diffDays = DateDiff (« d », objDate, date)
	Si diffDays > puis DAYS_DIFF 
		logContent = logContent et  strUser et « ;  » et objList (strUser) et vbNewLine
	Finir si       
Après

objTextFile.WriteLine logContent
objTextFile.Close

NotifyByEmail « usine l'avis d'email de LastLogon », logContent

objConnection.Close
Placer l'objRootDSE = rien
Placer l'objConnection = rien
Placer l'objCommand = rien
Placer l'objRecordSet = rien
Placer l'objDC = rien
Placer l'objDate = rien
Placer l'objList = rien
Placer l'objShell = rien

MsgBox « fait »

NotifyByEmail secondaire (strSubject, strResult)
	Faible ToAddress
	Faible MessageSubject
	Faible MessageBody
	Faible MessageAttachment
	faible myRecipient, olMailItem

	Faible ol, NS, newMail

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

	Placer l'ol = le WScript.CreateObject (« Outlook.Application »)
	Placer NS = ol.getNamespace (« MAPI »)
	ns.log sur le "", "", vrai, faux
	Placer le newMail = l'ol.CreateItem (l'olMailItem)
	newMail.Subject = MessageSubject
	newMail.Body = MessageBody et vbCrLf

	'valider le destinataire, juste dans le cas…
	Placer myRecipient = ns.CreateRecipient (ToAddress)
	myRecipient.Resolve
	Sinon myRecipient.Resolved alors
	   MsgBox « destinataire inconnu »
	Autrement
	   newMail.Recipients.Add (myRecipient)
	   newMail.Send
	Finir si

	Placer l'ol = rien

finir le sous-marin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us