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:
de los arrMembers (i) entonces "" De ShowProgress Fijar el objUserLDAP = GetObject (arrMembers (i)) intUACvalue = objUserLDAP.Get (“userAccountControl”) Si intUACvalue y _EXPIRE_PASSWD de ADS_UF_DO NO después ShowProgress objUserLDAP.sAMAccountName ShowProgress “contraseña no expira” dtmPwdChanged = objUserLDAP.PasswordLastChanged iTimeInterval = CInt (ahora - dtmPwdChanged) iMaxPwdAge = GetMaxPwdAge ShowProgress objUserLDAP.sAMAccountName ShowProgress “contraseña fue cambiado” y dtmPwdChanged por último ShowProgress “que era” y iTimeInterval y hace “días” Si iMaxPwdAge < 0 entonces ShowProgress “contraseña no expira (la edad máxima de la contraseña de la política del dominio fijada a 0)” ShowProgress “la edad máxima de la contraseña de la política del dominio es” y iMaxPwdAge y los “días” Si iMaxPwdAge iTimeInterval del >= entonces ShowProgress “la contraseña ha expirado.” ShowProgress “la contraseña expirará en” y CInt ((dtmPwdChanged + el iMaxPwdAge) - ahora ()) y “días” Terminar si Terminar si 'iMaxPwdAge Terminar si 'intUACvalue Terminar si Después 'arrMembers Submarino 'PwdExpiryInfo del extremo Función GetMembers (strGroup) 'Versión 1.4 'Escrito por Krystian Karia 'Fechó 04/05/2009 'Vuelve la trayectoria de LDAP de cada uno 'usuario del grupo dado 'Errores nosotros mismos del retén En curriculum vitae del error después 'Declarar las variables Amortiguar el oGroup, oUser Amortiguar el strName Amortiguar los arrUsers 'Comprobar los parámetros Si strGroup = "" después GetMembers = falta de información Salir la función Terminar si 'Atar para agrupar usar el conectador correcto de ADSI Fijar el oGroup = GetObject (“LDAP: /” y strGroup) Si <> 0 de Err.Number entonces Err.Clear ShowProgress “un error ocurrió atando al grupo” y al strGroup GetMembers = falta de información Salir la función Terminar si 'Colocar a miembros del grupo Para cada oUser en oGroup.Members strName = strName y oUser.ADsPath y vbNewLine Después 'Crear un arsenal de miembros Si "" del <> del ajuste (strName) entonces los arrUsers = partieron (strName, el vbNewLine) GetMembers = arrUsers GetMembers = falta de información Terminar si Err.Clear Terminar la función 'GetMembers Función GetMaxPwdAge () 'Versión 1.0 'Vuelve la edad máxima de la contraseña 'que se fija generalmente en el GPO 'nombró “la política del dominio del defecto” 'Errores nosotros mismos del retén En curriculum vitae del error después 'Declarar las variables Amortiguar el oRootDSE, oDomain, oMaxPwdAge Amortiguar el lngHighPart, lngLowPart Amortiguar el strDomainDN 'Conseguir el dominio actual DN Fijar el oRootDSE = GetObject (“LDAP: //RootDSE”) strDomainDN = oRootDSE.Get (“DefaultNamingContext”) 'Lazo al dominio actual Fijar el oDomain = GetObject (“LDAP: /” y strDomainDN) Fijar el oMaxPwdAge = oDomain.MaxPwdAge 'Conseguir las 2 partes del valor Integer8 para conseguir 2 32 valores de pedacito lngHighPart = oMaxPwdAge.HighPart lngLowPart = oMaxPwdAge.LowPart 'Si el LowPart es menos de 0 entonces que ned para agregar 1 al HighPart Si (lngLowPart < 0) entonces lngHighPart = lngHighPart + 1 Terminar si 'Volver el valor en días GetMaxPwdAge = - ((lngHighPart * 2^32) +)/(del lngLowPart 600000000 * 1440) Función 'GetMaxPwdAge del final ShowProgress secundario (sComment) sComment de WScript.Echo Submarino del extremo EndScript secundario WScript.Quit Submarino del extremo