June 13, 2013

Consultando LDAP.

LDAP (si, el corazón de Active Directory) fue hecho para que lo consultemos, pero ¿no les pasa que a veces como que no hacemos las mejores preguntas? Sí, claro tal como cuando hablamos y no nos expresamos de la mejor manera así puede suceder cuando “hablamos” con el directorio.
El primer punto a definir es la base, el punto de partida a partir de donde estoy consultando, este puede ser desde la raíz del dominio, o bien en el contenedor de Sites de la partición de Configuration o porque no desde un Organization Unit explícito. Inclusive si no estamos seguros de la localización del objeto en el bosque pues podríamos consultar al Global Catalog directamente, esto con las restricciones pertinentes (para agregar más atributos al PAS véase http://support.microsoft.com/kb/248717 ).
Lo anterior va ligado también al tema del ámbito de nuestra búsqueda, por ejemplo si buscamos un único objeto es sugerido usar la opción de Base. Ahora si buscamos múltiples objetos que se encuentra en un mismo contenedor se recomienda utilizar el ámbito  de One-Level, mientras que si no tenemos certeza del almacenamiento de los objetos de nuestra búsqueda es recomendado utilizar la opción de Subtree; esta la podemos ver como una búsqueda recursiva.
Ahora existen atributos que se agregan a un índice, el cual disminuye los tiempos de repuesta y costo de las consultas al directorio, desde luego no todo está indexado, aun así si usted lo requiere puede agregar más atributos al índice siguiente la documentación de este articulo http://technet.microsoft.com/en-us/library/aa995762(v=EXCHG.65).aspx
Un claro ejemplo de lo anterior son los atributos objectCategory y el objectClass, en este caso el segundo no está indexado, así que se sugiere evitar utilizarlo en la medida de lo posible.
Otra buena práctica es también limitar el resultado, es mucho mejor obtener únicamente aquellos atributos que realmente necesitamos versus todos los atributos del objeto/clase en cuestión.
También con cierta regularidad encuentro ambientes donde las políticas de LDAP son alteradas, cambiando así comportamientos como la paginación, es mejor que el aplicativo sea programado de una forma inteligente que utilice paginación versus poner en riesgo la estabilidad del servicio. Para mayor información refiérase a http://support.microsoft.com/kb/315071 .Nótese también que a partir de Windows Server 2008 se introducen limites fijos para ciertos parámetros http://support.microsoft.com/kb/2009267
Existen más recomendaciones, por ejemplo para la aplicación apropiada de operadores o bien las búsquedas con ARN y más, sugiero si este tema es de su interese visitar http://msdn.microsoft.com/en-us/library/ms808539.aspx Estas recomendaciones aplican tanto para consultas por ADSI, PowerShell u otros métodos.
Ahora Windows Server también nos provee herramientas para la verificación y localización de consultas no optimas, a continuación algunos trucos para esto, simples cambios en el registro de los Controladores de Dominio que generaran las bitácoras apropiadas.
HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\NTDS\Diagnostics\ 9 Internal Processing
Al asignar un valor de 4 a esta llave de registro se registrara la utilización de los índices.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\15 Field Engineering
Asignar valor de 4 para generar entradas en la bitácora sobre las consultas costosas o ineficientes generadas durante el último ciclo de recolección (ejecución del Garbage Collector + mantenimiento en línea de la base de datos (cada 12 horas por defecto) o bien un valor de 5 para generar bitácoras por cada una de estas consultas.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Expensive Search Results Threshold
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Inefficient Search Results Threshold
Los elementos anteriores categorizaran las consultas según corresponda, sus valores por defecto son 10000 y 1000 respectivamente. Donde una consulta que visite o toque más de 10000 objetos es considerada costosa y una consulta se cataloga como ineficiente si esta visita más de un-mil objetos y de estos retorna menos de un 10% de estos.
ldpQuery
Recuerde, pregunte lo que necesita, reduzca el ámbito de esta pregunta de una forma inteligente y por último filtre el resultado según su necesidad.
Que bien se siente blogguear de Nuevo!

GPPs, una excelente herramienta.

Con Windows 2008 se introdujeron las “Group Policy Preferences”, estas nos brindan una rica experiencia al poder manipular parámetros que antes no estaban disponibles o bien que eran un poco rígidos por así decirlo.
Desde luego existen diferencias entre las políticas regulares que ya conocemos y estas. Como por ejemplo el hecho de que los parámetros de configuración no son forzados, es decir la política te aplica pero aun luego de esto puedes manipular el/los parámetros en cuestión versus una política regular donde las opciones no son manipulables.
Aun así un punto interesante es que al remover un GPP los parámetros originales no se reestablecerán por sí mismos. Otro punto a destacar es que no debemos preocuparnos si por ejemplo el aplicativo al que le estamos buscando aplicar la política o no es capaz de interpretar la política, esto pues las GPP proveen al administrador una interfaz muy amigable para poder hacer modificaciones al registro de Windows, tal como se detalla en la siguiente imagen:
gpp00
Otra diferencia es el punto que podemos configurar un GPP para que aplique una única vez, como sabemos las políticas son refrescadas cada 90 minutos de forma automática, este comportamiento por defecto es compartido pero existen casos donde puede que se necesite aplicar cierta configuración una única vez y también permitir al usuario final manipular esta.
Algo que en lo personal me encanta es el “ítem level targetting”, una prestación que me permite filtrar de una manera muy detallada y minuciosa, por ejemplo basado en la cantidad de RAM, versión del OS y más.
Además, por medio de esto yo en una misma política podría aplicar múltiples filtros, algo que normalmente ameritaría múltiples políticas.
Para utilizar esta opción de filtrado deberá navegar a la etiqueta de “Common” y ahí habilitar la opción de “Item Level Targetting”.
gpp01
Lamentablemente he observado que los GPPs por alguna razón son subutilizados, les insto a tomar unos minutos y valorar esta excelente opción para sus ambientes. Para
mayor información refiérase a http://www.microsoft.com/en-us/download/details.aspx?id=24449
Hasta pronto!

Exchange 2010 SP3

data
Bueno y ya está el Service Pack 3 para Exchange Server 2010 disponible para su descarga http://www.microsoft.com/en-us/download/details.aspx?id=36768
Este además los fixes acumulativos provee compatibilidad con Exchange 2013, Windows 2012 e inclusive con el Internet Explorer 10.
Y hablando de Exchange 2013 les comento que está buenísimo! Se ha simplificado la infraestructura, ahora solo hay servidores tipo Mailbox y Client Access. Sí, todo lo que es transporte es ahora simplemente un servicio, además nuestro fiel y viejo amigo MAPI (Messaging API RPC) está ahora en desuso… si vamos hacia RPS sobre HTTPS.
También ahora podemos despreocuparnos del tema aquel de los URL internos y externos, que alegría me trae eso… al igual lo que se refiere a métodos de autenticación y certificados se simplifico.
Y si aun así necesitas más razones para moverte al nuevo Exchange, te invito a leer un poco sobre “Managed Availability” http://blogs.technet.com/b/exchange/archive/2012/09/21/lessons-from-the-datacenter-managed-availability.aspx
.

Libros gratis :)

¿Y que tal un ebook para aprender sobre esa tecnología o producto que tanto te llama la atención?
Pues ahora es ¡cuando! http://blogs.msdn.com/b/mssmallbiz/archive/2012/07/27/large-collection-of-free-microsoft-ebooks-for-you-including-sharepoint-visual-studio-windows-phone-windows-8-office-365-office-2010-sql-server-2012-azure-and-more.aspx

El nuevo Exchange

Aun recuerdo mi cambio del mundo de Lotus Notes a Exchange 2000, de hecho desde acá veo los libros de los MOCs que aun conservo en mi librero y wow… ya viene el nuevo Exchange, como pasa el tiempo de rápido cuando uno se divierte.
http://blogs.technet.com/b/exchange/archive/2012/07/23/the-new-exchange.aspx

OABValidate

Como parte de las múltiples tareas que ejecuta el MSExchageSA esta la generación/actualización de las libretas de direcciones. Esto por defecto se hace diariamente a eso de las 0500 horas, el proceso OABGen es el encargado.
Si gustas ver mas información eleva el detalle del generado de bitácoras (Set-EventLogLevel -Identity "MSExchangeSA\OAL Generator" -Level Medium).
Existen casos en los que entradas corruptas en el directorio causan que estos procesos fallen, por ejemplo usuarios con direcciones SMTP invalidas, o bien caracteres inválidos o punteros incorrectos como un homeMDB que apunta a un servidor que ya no existe.
Realmente señalar y arreglar aquellos objetos que están causando estos inconvenientes puede ser una tarea agotadora y que consume muchísimo tiempo, pero con la herramienta OABValidate esto se disminuye a tan solo minutos.
Esta básicamente emula el comportamiento del OABGen y genera un archivo con las entradas corruptas, bingo!
Para mayor información http://blogs.msdn.com/b/dgoldman/archive/2005/03/31/overview-of-the-oabgen-process.aspx
Para bajar el utilitario http://oabvalidate.codeplex.com/releases/view/72281
Hasta muy pronto!

Consejos de WSUS

Buenas amigos,
Acá documento un poco esos despistes u omisiones comunes que tenemos con los servidores de WSUS y los procesos de parcheo, esto basado en el día a día de lo que uno se encuentra en la calle.
Recordemos que el único “punto negativo” es que WSUS no hace push de los binarios, mas con un script que por ejemplo mi amigo Jimcesse hizo, esto se puede solucionar.
Primero es optimo que el equipo mismo del WSUS este este actualizado apropiadamente, esto pues las actualizaciones propias de él incluyen entre otros los nuevos productos/categorías que este puede distribuir.
Seria muy positivo configurar los servidores para que estos nos envíen notificaciones por correo electrónico cuando se descargan nuevas actualizaciones, esto nos avisaría oportunamente sobre nuevos binarios. Dicho reporte puede ser enviado en Español o en muchos otros idiomas de preferencia.
Acá les muestro un ejemplo de este reporte.
Subject: WSUS: New Update(s) Alert From SYS-WSUS001
New Update Alert
The following 17 new updates have been synchronized to BDC-ADMGT001 since Wednesday, May 23, 2012 9:05 AM (GMT).
Critical and Security Updates
Security Update for Microsoft .NET Framework 2.0 SP2 on Windows Server 2003 for Itanium-based Systems (KB2656352)
A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.
Security Update for Microsoft .NET Framework 2.0 SP2 on Windows Server 2003 and Windows XP for x64-based Systems (KB2656352)
A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.
Ahora bien, sobre la división de los grupos; es optimo crear los grupos basados en sistema operativo, arquitectura y función que el servidor desempeña, esto desde luego sin abusar de estos.
Por ejemplo:
WinServ 2003 / i386 / web (versión del sistema operativo / arquitectura / función)
WinServ 2008 / i386 / web
WinServ 2008 R2 / x64 /web
*El Service Pack acá no lo estamos tomando en cuenta pues como sabemos las mejores practicas sugieren tener la ultima versión de este instalado, de lo contrario si ese día ando yo con mi gafete de MSFT pues será lo primero que le indique.
Por orden y respeto a otros compañeros sugiero crear alguna estructura de nombres en la medida de lo posible intuitiva y explicita, algo como
wsus-ws2k3-i386-web
wsus-ws2k8-i386-web
wsus-ws2k8r2-x64-web
Esta se puede aplicar tanto para los grupos del WSUS mismo y los grupos de seguridad para el filtrado de políticas.
Cambiando un poco el tema pero sobre la línea del manejo de actualizaciones y parches les comento también un poco sobre la resolución de problemas en el cliente final.
Todas las actividades relacionadas al agente de actualizaciones de Windows se registran en el archivo windowsupdate.log, que por defecto se ubica en C:\Windows.
Este archivo afortunadamente es fácil de leer, el muestra información detallada cuando arranca el agente, con que servidor sincroniza, que actualizaciones se encontraron y mas.
Sugiero lo leas desde la consola con el comando type, este recorrerá el archivo y te muestra las ultimas líneas, que contienen la información mas reciente.
En el siguiente ejemplo puede ver como leer el archivo local, o bien para un equipo remoto. Desde luego con los permisos respectivos.
C:\>type \\equipoRemoto\C$\Windows\WindowsUpdate.log
2012-05-31      15:00:08:544    6580    1bf4    Misc    ===========  Logging initialized (build: 7.8.8250.0, tz: -0600)  ===========
2012-05-31      15:00:08:544    6580    1bf4    Misc      = Process: C:\Windows\system32\cscript.exe
2012-05-31      15:00:08:544    6580    1bf4    Misc      = Module: C:\Windows\System32\wuapi.dll
2012-05-31      15:00:08:544    6580    1bf4    COMAPI  ———–  COMAPI: IUpdateServiceManager::AddService2  ———–
2012-05-31      15:00:08:546    6580    1bf4    COMAPI    – Service ID = {7971f918-a847-4430-9279-4a52d1efe18d}
2012-05-31      15:00:08:596    6580    1bf4    COMAPI    – Allow pending registration = Yes; Allow online registration = Yes; Register service with AU = Yes
2012-05-31      15:00:08:661    6580    1bf4    COMAPI    – Authorization cab path =
2012-05-31      15:00:08:775    6580    1bf4    COMAPI    – Added service, URL = https://winbeta.update.microsoft.com/v6/

C:\>type C:\Windows\WindowsUpdate.logm
2012-05-31      14:22:13:746    1240    f14     Agent     * Added update {79B7AB58-733A-468C-A69A-97FC302409CD}.2 to search result
2012-05-31      14:22:13:746    1240    f14     Agent     * Added update {1582FC6C-C2B8-426A-90D0-3890B205B654}.2 to search result
2012-05-31      14:22:13:747    1240    f14     Agent     * Added update {815FBB17-398D-4549-A679-F2F0492BF4D5}.2 to search result
2012-05-31      14:22:13:747    1240    f14     Agent     * Found 8 updates and 20 categories in search; evaluated appl. rules of 42 out of 59 deployed entities
Por ejemplo en los ejemplos anteriores fácilmente podemos determinar de donde se están obteniendo las actualizaciones y la cantidad encontradas.
Para mayor información visite http://support.microsoft.com/kb/902093 .
Ahora bien, el agente de actualizaciones corre con el ejecutable wuauclt.exe. Algunos de los parámetros que les pueden ser útiles.
wuauclt /detectnow (Causa que se detecten y apliquen las actualizaciones que estén aprobadas).
wuauclt /reportnow (Causa que el cliente reporte al WSUS su estado/necesidad de actualizaciones).
wuauclt /resetauthorization (Hace un tipo de reset entre el cliente y el servidor al que este le reporta).
Algo muy útil para ejecutar procesos en equipos remotos es el utilitario PsExec, sugiero lo  mires http://technet.microsoft.com/es-es/sysinternals/bb897553
Son muy pocos los casos en los que he encontrado problemas del agente en si, lo mas que he tenido con clientes que por otros problemas no reportan en u largo tiempo entonces ejecuto un “wuauclt /resetauthorization /detectnow”, lo cual como les comente recrea la relación entre el cliente y el servidor WSUS y además en este caso iniciaría el proceso de instalación y reporte posterior (de haber paquetes ya autorizados) o bien una versión muy viejita de este.
Recordemos que las actualizaciones son publicadas el segundo martes de cada mes aunque también existen aquellas criticas que simplemente no pueden esperar y por ultimo que un WSUS puede servirle a múltiples dominios e inclusive equipos fuera del contexto de seguridad del dominio, siempre y cuando las redes nos permitan una comunicación efectiva.
Suerte amigos y recuerden de mantener sus sistema actualizados.

Versión de esquema 52.

Para esos curiosos, esto es lo que trae la versión del esquema 52 (Windows Server 8 Consumer Preview).
ldapDisplayName: msDS-MembersOfResourcePropertyList
adminDescription: For a resource property list object, this multi-valued link attribute points to one or more resource property objects.
ldapDisplayName: msDS-MembersOfResourcePropertyListBL
adminDescription: Backlink for ms-DS-Members-Of-Resource-Property-List. For a resource property object, this attribute references the resource property list object that it is a member of.
ldapDisplayName: msDS-ClaimValueType
adminDescription: For a claim type object, specifies the value type of the claims issued.
ldapDisplayName: msDS-ClaimPossibleValues
adminDescription: For a claim type or resource property object, this attribute describes the values suggested to a user when the he/she use the claim type or resource property in applications.
ldapDisplayName: msDS-ClaimAttributeSource
adminDescription: For a claim type object, this attribute points to the attribute that will be used as the source for the claim type.
ldapDisplayName: msDS-ClaimTypeAppliesToClass
adminDescription: For a claim type object, this linked attribute points to the AD security principal classes that for which claims should be issued. (For example, a link to the user class).
ldapDisplayName: msDS-ClaimSharesPossibleValuesWith
adminDescription: For a resource property object, this attribute indicates that the suggested values of the claims issued are defined on the object that this linked attribute points to. Overrides ms-DS-Claim-Possible-Values on itself, if populated.
ldapDisplayName: msDS-ClaimSharesPossibleValuesWithBL
adminDescription: For a claim type object, this attribute indicates that the possible values described in ms-DS-Claim-Possible-Values are being referenced by other claim type objects.
ldapDisplayName: msDS-IsUsedAsResourceSecurityAttribute
adminDescription: For a resource property, this attribute indicates whether it is being used as a secure attribute.
ldapDisplayName: msSPP-KMSIds
adminDescription: KMS IDs enabled by the Activation Object
ldapDisplayName: msSPP-CSVLKPid
adminDescription: ID of CSVLK product-key used to create the Activation Object
ldapDisplayName: msSPP-CSVLKSkuId
adminDescription: SKU ID of CSVLK product-key used to create the Activation Object
ldapDisplayName: msSPP-PhoneLicense
adminDescription: License used during phone activation of the Active Directory forest
ldapDisplayName: msSPP-ConfigLicense
adminDescription: Product-key configuration license used during online/phone activation of the Active Directory forest
ldapDisplayName: msSPP-OnlineLicense
adminDescription: License used during online activation of the Active Directory forest
ldapDisplayName: msSPP-ConfirmationId
adminDescription: Confirmation ID (CID) used for phone activation of the Active Directory forest
ldapDisplayName: msSPP-InstallationId
adminDescription: Installation ID (IID) used for phone activation of the Active Directory forest
ldapDisplayName: msSPP-IssuanceLicense
adminDescription: Issuance license used during online/phone activation of the Active Directory forest
ldapDisplayName: msSPP-CSVLKPartialProductKey
adminDescription: Last 5 characters of CSVLK product-key used to create the Activation Object
ldapDisplayName: msTPM-SrkPubThumbprint
adminDescription: This attribute contains the thumbprint of the SrkPub corresponding to a particular TPM. This helps to index the TPM devices in the directory.
ldapDisplayName: msTPM-OwnerInformationTemp
adminDescription: This attribute contains temporary owner information for a particular TPM.
ldapDisplayName: msTPM-TpmInformationForComputer
adminDescription: This attribute links a Computer object to a TPM object.
ldapDisplayName: msTPM-TpmInformationForComputerBL
adminDescription: This attribute links a TPM object to the Computer objects associated with it.
ldapDisplayName: msDS-ClaimTypes
adminDescription: A container of this class can contain claim type objects.
ldapDisplayName: msDS-ResourcePropertyList
adminDescription: An object of this class contains a list of resource properties.
ldapDisplayName: msDS-ResourceProperties
adminDescription: A container of this class can contain resource properties.
ldapDisplayName: msDS-ClaimTypePropertyBase
adminDescription: An abstract class that defines the base class for claim type or resource property classes.
ldapDisplayName: msDS-ResourceProperty
adminDescription: An instance of this class holds the definition of a property on resources.
ldapDisplayName: msDS-ClaimType
adminDescription: An instance of this class holds the definition of a claim type that can be defined on security principals.
ldapDisplayName: msSPP-ActivationObjectsContainer
adminDescription: Container for Activation Objects used by Active Directory based activation
ldapDisplayName: msSPP-ActivationObject
adminDescription: Activation Object used in Active Directory based activation
ldapDisplayName: msTPM-InformationObjectsContainer
adminDescription: Container for TPM objects.
ldapDisplayName: msTPM-InformationObject
adminDescription: This class contains recovery information for a Trusted Platform Module (TPM) device.
ldapDisplayName: msDNS-IsSigned
adminDescription: An attribute used to define whether or not the DNS zone is signed.
ldapDisplayName: msDNS-NSEC3OptOut
adminDescription: An attribute used to define whether or not the DNS zone should be signed using NSEC opt-out.
ldapDisplayName: msDNS-SigningKeys
adminDescription: An attribute that contains the set of encrypted DNSSEC signing keys used by the DNS server to sign the DNS zone.
ldapDisplayName: msDNS-SignWithNSEC3
adminDescription: An attribute used to define whether or not the DNS zone is signed with NSEC3.
ldapDisplayName: msDNS-NSEC3UserSalt
adminDescription: An attribute that defines a user-specified NSEC3 salt string to use when signing the DNS zone. If empty, random salt will be used.
ldapDisplayName: msDNS-DNSKEYRecords
adminDescription: An attribute that contains the DNSKEY record set for the root of the DNS zone and the root key signing key signature records.
ldapDisplayName: msDNS-DSRecordSetTTL
adminDescription: An attribute that defines the time-to-live (TTL) value assigned to DS records when signing the DNS zone.
ldapDisplayName: msDNS-KeymasterZones
adminDescription: A list of Active Directory-integrated zones for which the DNS server is the keymaster.
ldapDisplayName: msDNS-NSEC3Iterations
adminDescription: An attribute that defines how many NSEC3 hash iterations to perform when signing the DNS zone.
ldapDisplayName: msDNS-PropagationTime
adminDescription: An attribute used to define in seconds the expected time required to propagate zone changes through Active Directory.
ldapDisplayName: msDNS-NSEC3CurrentSalt
adminDescription: An attribute that defines the current NSEC3 salt string being used to sign the DNS zone.
ldapDisplayName: msDNS-RFC5011KeyRollovers
adminDescription: An attribute that defines whether or not the DNS zone should be maintained using key rollover procedures defined in RFC 5011.
ldapDisplayName: msDNS-NSEC3HashAlgorithm
adminDescription: An attribute that defines the NSEC3 hash algorithm to use when signing the DNS zone.
ldapDisplayName: msDNS-DSRecordAlgorithms
adminDescription: An attribute used to define the algorithms used when writing the dsset file during zone signing.
ldapDisplayName: msDNS-DNSKEYRecordSetTTL
adminDescription: An attribute that defines the time-to-live (TTL) value assigned to DNSKEY records when signing the DNS zone.
ldapDisplayName: msDNS-MaintainTrustAnchor
adminDescription: An attribute used to define the type of trust anchor to automatically publish in the forest-wide trust anchor store when the DNS zone is signed.
ldapDisplayName: msDNS-NSEC3RandomSaltLength
adminDescription: An attribute that defines the length in bytes of the random salt used when signing the DNS zone.
ldapDisplayName: msDNS-SigningKeyDescriptors
adminDescription: An attribute that contains the set of DNSSEC Signing Key Descriptors (SKDs) used by the DNS server to generate keys and sign the DNS zone.
ldapDisplayName: msDNS-SignatureInceptionOffset
adminDescription: An attribute that defines in seconds how far in the past DNSSEC signature validity periods should begin when signing the DNS zone.
ldapDisplayName: msDNS-ParentHasSecureDelegation
adminDescription: An attribute used to define whether the parental delegation to the DNS zone is secure.
ldapDisplayName: msDNS-SecureDelegationPollingPeriod
adminDescription: An attribute that defines in seconds the time between polling attempts for child zone key rollovers.
ldapDisplayName: msAuthz-MemberRulesInCentralAccessPolicy
adminDescription: For a central access policy, this attribute identifies the central access rules that comprise the policy.
ldapDisplayName: msAuthz-MemberRulesInCentralAccessPolicyBL
adminDescription: Backlink for ms-Authz-Member-Rules-In-Central-Access-Policy. For a central access rule object, this attribute references one or more central access policies that point to it.
ldapDisplayName: msDS-ClaimSource
adminDescription: For a claim type, this attribute indicates the source of the claim type. For example, the source can be certificate.
ldapDisplayName: msAuthz-ProposedSecurityPolicy
adminDescription: For a Central Access Policy Entry, defines the proposed security policy of the objects the CAPE is applied to.
ldapDisplayName: msDS-ClaimSourceType
adminDescription: For a security principal claim type, lists the type of store the issued claim is sourced from
ldapDisplayName: msAuthz-EffectiveSecurityPolicy
adminDescription: For a central access rule, this attribute defines the permission that is applying to the target resources on the central access rule.
ldapDisplayName: msDS-ClaimIsSingleValued
adminDescription: For a claim type object, this attribute identifies if the claim type or resource property can only contain single value.
ldapDisplayName: msAuthz-LastEffectiveSecurityPolicy
adminDescription: For a Central Access Policy Entry, defines the security policy that was last applied to the objects the CAPE is applied to.
ldapDisplayName: msAuthz-ResourceCondition
adminDescription: For a central access rule, this attribute is an expression that identifies the scope of the target resource to which the policy applies.
ldapDisplayName: msDS-ClaimIsValueSpaceRestricted
adminDescription: For a claim type, this attribute identifies whether a user can input values other than those described in the msDS-ClaimPossibleValues in applications.
ldapDisplayName: msAuthz-CentralAccessPolicyID
adminDescription: For a Central Access Policy, this attribute defines a GUID that can be used to identify the set of policies when applied to a resource.
ldapDisplayName: msDS-GenerationId
adminDescription: For virtual machine snapshot resuming detection. This attribute represents the VM Generation ID.
replace: adminDescription
adminDescription: For a claim type object, indicates that the possible values of the claims issued are defined on the object this linked attribute points to; overrides msDS-ClaimPossibleValues, msDS-ClaimValueType, and msDS-ClaimIsValueSpaceRestricted, if populated.
ldapDisplayName: msDNS-ServerSettings
adminDescription: A container for storing DNS server settings.
ldapDisplayName: msAuthz-CentralAccessPolicies
adminDescription: A container of this class can contain Central Access Policy objects.
ldapDisplayName: msAuthz-CentralAccessRules
adminDescription: A container of this class can contain Central Access Policy Entry objects.
ldapDisplayName: msAuthz-CentralAccessRule
adminDescription: A class that defines Central Access Rules used to construct a central access policy.
ldapDisplayName: msAuthz-CentralAccessPolicy
adminDescription: A class that defines Central Access Policy objects.
ldapDisplayName: msDS-AllowedToActOnBehalfOfOtherIdentity
adminDescription: This attribute is used for access checks to determine if a requestor has permission to act on the behalf of other identities to services running as this account.
ldapDisplayName: msKds-Version
adminDescription: Version number of this root key.
ldapDisplayName: msKds-DomainID
adminDescription: Distinguished name of the Domain Controller which generated this root key.
ldapDisplayName: msKds-KDFParam
adminDescription: Parameters for the key derivation algorithm.
ldapDisplayName: msKds-CreateTime
adminDescription: The time when this root key was created.
ldapDisplayName: msKds-RootKeyData
adminDescription: Root key.
ldapDisplayName: msDS-PrimaryComputer
adminDescription: For a user or group object, identifies the primary computers.
ldapDisplayName: msKds-UseStartTime
adminDescription: The time after which this root key may be used.
ldapDisplayName: msImaging-HashAlgorithm
adminDescription: Contains the name of the hash algorithm used to create the Thumbprint Hash for the Scan Repository/Secure Print Device.
ldapDisplayName: msKds-KDFAlgorithmID
adminDescription: The algorithm name of the key derivation function used to compute keys.
ldapDisplayName: msImaging-ThumbprintHash
adminDescription: Contains a hash of the security certificate for the Scan Repository/Secure Print Device.
ldapDisplayName: msKds-PublicKeyLength
adminDescription: The length of the secret agreement public key.
ldapDisplayName: msKds-PrivateKeyLength
adminDescription: The length of the secret agreement private key.
ldapDisplayName: msDS-IsPrimaryComputerFor
adminDescription: Backlink atribute for msDS-IsPrimaryComputer.
ldapDisplayName: msKds-SecretAgreementParam
adminDescription: The parameters for the secret agreement algorithm.
ldapDisplayName: msKds-SecretAgreementAlgorithmID
adminDescription: The name of the secret agreement algorithm to be used with public keys.
ldapDisplayName: msDS-ValueTypeReference
adminDescription: This attribute is used to link a resource property object to its value type.
ldapDisplayName: msDS-ValueTypeReferenceBL
adminDescription: This is the back link for ms-DS-Value-Type-Reference. It links a value type object back to resource properties.
ldapDisplayName: msDS-IsPossibleValuesPresent
adminDescription: This attribute identifies if ms-DS-Claim-Possible-Values on linked resource property must have value or must not have value.
ldapDisplayName: msKds-ProvRootKey
adminDescription: Root keys for the Group Key Distribution Service.
ldapDisplayName: msKds-ProvServerConfiguration
adminDescription: Configuration for the Group Key Distribution Service.
ldapDisplayName: msDS-ValueType
adminDescription: An value type object holds value type information for a resource property.
ldapDisplayName: msDS-TransformationRules
adminDescription: Specifies the Transformation Rules for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-AppliesToResourceTypes
adminDescription: For a resource property, this attribute indicates what resource types this resource property applies to.
ldapDisplayName: msDS-TransformationRulesCompiled
adminDescription: Blob containing compiled transformation rules.
ldapDisplayName: msDS-EgressClaimsTransformationPolicy
adminDescription: This is a link to a Claims Transformation Policy Object for the egress claims (claims leaving this forest) to the Trusted Domain. This is applicable only for an incoming or bidirectional Cross-Forest Trust. When this link is not present, all claims are allowed to egress as-is.
ldapDisplayName: msDS-IngressClaimsTransformationPolicy
adminDescription: This is a link to a Claims Transformation Policy Object for the ingress claims (claims entering this forest) from the Trusted Domain. This is applicable only for an outgoing or bidirectional Cross-Forest Trust. If this link is absent, all the ingress claims are dropped.
ldapDisplayName: msDS-TDOEgressBL
adminDescription: Backlink to TDO Egress rules link on object.
ldapDisplayName: msDS-TDOIngressBL
adminDescription: Backlink to TDO Ingress rules link on object.
ldapDisplayName: msDS-ManagedPassword
adminDescription: This attribute is the managed password data for a group MSA.
ldapDisplayName: msDS-ManagedPasswordId
adminDescription: This attribute is the identifier for the current managed password data for a group MSA.
ldapDisplayName: msDS-GroupMSAMembership
adminDescription: This attribute is used for access checks to determine if a requestor has permission to retrieve the password for a group MSA.
ldapDisplayName: msDS-GeoCoordinatesAltitude
adminDescription: ms-DS-GeoCoordinates-Altitude
ldapDisplayName: msDS-GeoCoordinatesLatitude
adminDescription: ms-DS-GeoCoordinates-Latitude
ldapDisplayName: msDS-GeoCoordinatesLongitude
adminDescription: ms-DS-GeoCoordinates-Longitude
ldapDisplayName: msDS-ManagedPasswordInterval
adminDescription: This attribute is used to retrieve the number of days before a managed password is automatically changed for a group MSA.
ldapDisplayName: msDS-ManagedPasswordPreviousId
adminDescription: This attribute is the identifier for the previous managed password data for a group MSA.
ldapDisplayName: msDS-ClaimsTransformationPolicies
adminDescription: An object of this class holds the one set of Claims Transformation Policy for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-ClaimsTransformationPolicyType
adminDescription: An object of this class holds the one set of Claims Transformation Policy for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-GroupManagedServiceAccount
adminDescription: The group managed service account class is used to create an account which can be shared by different computers to run Windows services.
ldapDisplayName: msDS-RIDPoolAllocationEnabled
adminDescription: This attribute indicates whether RID pool allocation is enabled or not.
ldapDisplayName: netbootDUID
adminDescription: This attribute is used to store DHCPv6 DUID device ID.
lDAPDisplayName: msDS-cloudExtensionAttribute1
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute2
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute3
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute4
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute5
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute6
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute7
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute8
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute9
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute10
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute11
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute12
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute13
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute14
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute15
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute16
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute17
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute18
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute19
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute20
adminDescription: An attribute used to house an arbitrary cloud-relevant string
ldapDisplayName: msDS-CloudExtensions
adminDescription: A collection of attributes used to house arbitrary cloud-relevant strings

Interesante como se ven cosas relacionadas a la nube…

Sobre las bitácoras de Exchange.

Sabias que referente a las bitácoras de envío/recepción de correo en Microsoft Exchange Server existen limites de retención basados en la fecha de creación así como tamaño máximo de los archivos y de la carpeta que los contiene?
Es una omisión muy común el únicamente configurar tu servidor para que mantenga las bitácoras por un tiempo determinado, obviando los otros dos puntos anteriores.
Claro, todo va a funcionar perfecto hasta que nuestro jefe nos pida rastrear aquel correo de vida a muerte y kabum…
Estos parámetros los podemos manejar con el siguiente cmdlet:
Set-TransportServer -Identity SYS-EXHT-01 -SendProtocolLogMaxDirectorySize 1073741824 -ReceiveProtocolLogMaxDirectorySize 5368709120 -ReceiveProtocolLogMaxFileSize 26214400
En este ejemplo estamos estableciendo los limites de los archivos y las carpetas que los contienen.
Desde luego estos parámetros van a variar en cada ambiente, los parámetros apropiados solo usted los podrá determinar.
Recordemos que los valores deben ingresarse en bytes.
Y como cualquier cambio referente al servicio de transporte este deberá reiniciarse para que estos tomen efecto.
Además, si lo que se desea es mantener registros de aquellos mensajes enviados por algún aplicativo a través de un conector entonces deberá habilitarse el registro a nivel de SMTP.
Hasta pronto y gracias por su tiempo.

Delegación para desbloqueo de cuentas y cambio de contraseñas.

Este pequeño artículo trata explícitamente sobre como delegar un OU o bien un dominio para que un grupo determinado pueda restablecer contraseñas y desbloquear cuentas de usuario
1- Seleccione el OU a delegar, clic derecho “Delegar Control”
clip_image001
2- Agregue el o los grupos que desea delegar. Recuerden que las mejores practicas indican brindar permisos a grupos y no entes individuales.
clip_image002
3- Esta asistente ya tiene ciertas delegaciones predefinidas que les pueden ser útiles, como ven en este ejemplo estoy utilizando la opción de restablecer contraseñas e indicar si estas deben cambiarse en el próximo inicio de sesion.
clip_image003
4- A continuación podrá confirmar su operación antes de ejecutar los cambios.
clip_image004
5- De nuevo navegue a las propiedades del OU que esta delegando, recuerde que las opciones de vista avanzada deben estar habilitadas para poder ver todas las etiquetas correspondientes.
6- Diríjase a las opciones “Avanzadas”.
clip_image005
7- Presione agregar, esto pues debemos delegar permisos sobre un atributo mas.
8- Ahora seleccione la etiqueta de “Propiedades”.
9- En la sección de “Aplica A” selecciones los objetos tipo usuario descendientes.
clip_image006
10- Seleccione la opción de “Permitir” lo siguiente “Leer lockoutTime” y “Escribir lockoutTime”.
11- Si gustan que por ejemplo también se pueda manipular si la contraseña expira o no, si el usuario puede o no cambiarla entonces aplique estos mismos permisos al atributo “userAccountControl
Excelente, esto es todo lo que necesitamos para este escenario.
Hasta pronto.

Truco rápido de DNSCMD.

Hace unos días encontré un caso donde necesitaba agregar un nuevo servidor de nombres a una lista de zonas DNS, por lo que pensé que lo podía hacer con mi amigo DNSCMD.
Realmente me tomo mas tiempo del que creí pues no lograba lo que necesitaba hasta que luego de leer mucha documentación me di cuenta que necesitaba una @ en mi comando.
for /f %a in (zoneList.txt) do dnscmd /recordadd %a @ NS serverName.sysadmin-cr.com /f
El comando anterior leerá una lista de zonas (que también obtuve con este comando) y agregara a serverName.sysadmin-cr.com como un Name Server para esta zona.
Que fácil, no?! Winking smile