Temas etiquetados como: ‘Microsoft’

Flujo de trabajo, protocolos y puertos usados en OCS 2007 R2

28 Enero, 2010

Microsoft al fin y de forma oficial, ha sacdo un documento (póster en PDF) con toda la información relevante sobre el OCS 2007 R2.

ocs20071 Flujo de trabajo, protocolos y puertos usados en OCS 2007 R2
El documento muestra el flujo de trabajo de tráfico, protocolos y puertos usados.
A su vez incluye información sobre los requisitos de certificados, y la configuración de Firewall y DNS necesaria para configurar un proyecto de OCS 2007 R2.

El documento incluye información los siguientes flujos de trabajo:
-IM and Presence
-Conferencing
-Application Sharing
-Enterprise Voice

Todas estas vistas que muestra te pueden ayudar mucho a diseñar la arquitectura de un proyecto de OCS 2007 R2 .

El documento se encuentra disponible en aquí.

Administración total de Windows 7 con un simple truco

12 Enero, 2010

Si eres de los que te has actualizado a Windows 7, te recomiendo utilizar el siguiente truco:

Create una nueva carpeta llamada “AccesoTotal.{ED7BA470-8E54-465E-825C-99712043E01C}”

La carpeta la puedes llamar como quieras, “AccesoTotal” es sólo un ejemplo.

Luego ábrela y verás que sorpresa. Tiene acceso con un sólo click a todas las opciones de Windows 7 y acceso a un panel de control con todas las herramientas que puedas necesitar.

He aquí una muestra:

windows71 1024x745 Administración total de Windows 7 con un simple truco

Qué es una BlackLinks en Active Directory ?

4 Enero, 2010

Algo de teoría… “Tambien es bonito, no ??”

Quizá os habéis hecho esta pregunta, vamos a explicarlo de forma rápida.

Como todos sabemos en las propiedades de un usuario tienes una pestaña llamada “Atributos”.

Los atributos, son metadatos del usuario los cuales están almacenados dentro de la bbdd del Active directory, para que nos hagamos una idéa rápida hagamos una metáfora.

Imaginemos una tabla de una bbdd, en ella hay unas columnas y unos registros, bien, pues los registros son los objetos y los campos son los atributos, así un usuario tendrá diferente información oraganizada. Esta información de cada uno de los usuarios es la celda que contiene la información concreta de ese usuario. Quizá lo entiendas mejor si te decimos que es una propiedad del usaurio: Así el objeto manzana, tendrá una propiedad que es roja, otra si es grande …etc

Bien, un usuario es un objeto y tiene unos atributos que lo definen por lo tanto un atributo será SamAccountName= Ivan, un Telephon:9156487541 …etc.

Los BackLinkns son atributos que resultan de otros atributos.

Un ejemplo muy claro. Hay un atributo que se llama “memberof”, cuando agregas un usuario a un grupo, dentro de este atributo “memberof” se agrega el grupo a los que está perteneciendo este usuario de manera que mientras este usuario está en más grupos, este atributo memberof tiene más información,por ejemplo en la lista de permisos se te muestra toda la pertenecia a grupos lo que realmente se te está mostrando es el atributo “memberof” de este usuario que mantiene una lista de toda la pertenencia a grupos, todos los grupos, a los que el usuario pertenece.

Es una forma de sintetizar las llamadas al directorio. Digamos que a nivel de una bbdd que son vistas de otras tablas o información que contienen un conjunto de información de diferentes atributos. Estas BackLinks son dinámicas y funcionan como es lógico por si solas con el motor de Directorio Activo.

Pongamos otro ejemplo interesante: “tokenGroup” este atributo contiene todos los SIDs de los grupos a los que pertenece el objeto”. Esta es una forma de ahorrar ciclos de microprocesador en las búsquedas dentro del DA por los servicios de windows.

Un Datos importante es que los BackLinks que aunque se mantien sólos, no se calculan automáticamente, sólo cuando lo requiere un servicio, es por eso, por lo que cuando hacemos una consulta importante al DA la primera vez tarda más que las demás, ya que se mantienen en caché una vez ejecutadas dichas “Vistas”.

IvanZito

Importar usuarios a AD con Powershell ( csv y txt )

30 Diciembre, 2009


Importación de usuarios en powershell desde un excel ( .csv ) o archivo de texto (.txt )

Nota: Es muy aconsejable antes de hacer la lectura de este post, haber comprendido perfectamente el artículo, creación de usuarios con powershell, ya que nos basamos en el para realizar esta operación. La única diferencia es que los datos los recogeremos de variables.

En primer lugar tenemos que tener una hoja de excel o bien un archivo separado por comas.

El formato del archivo tiene que ser delimitado por comas en el caso que sea un archivo de texto o delimitado por los campos de una hoja de excel. En la primera línea, colocaremos los metadatos a rellenar en DA, como si fuese una tabla de una bbdd y ordenados en las lineas de más abajo los datos que rellenaremos según los metadatos de la primera fila:

Metadato1, Metadato2, Metadato3 …

Valor1, Valor2, Valor3 …

Valor1, Valor2, Valor3 …

…etc

Un ejemplo práctico sería el siguiente:

cn,sAMAccountName,FirstName,LastName

Usuario1,usuario.1,Miguel, Martinez

Maria,maria.kill,maria,kill

Para realizar la importación utilizaremos el CMDLET: import-csv

Para esta operación , lo primero que haremos será meter dentro de una variable todo, de manera luego podamos trabajar con ella rápidamente. Vamos a realizarlo de la siguiente forma:

$datos= import-csv “Mis_Usuarios.csv”

Ahora tenemos todo el contenido de la hoja de excel dentro de la variable $datos. Los registros se irán devolviendo uno por uno, como cuando utilizamos un comando de powershell. Así que para realizar la importación y que devuelva todos los datos tendremos que hacer un “loop” con este objetivo, es decir un bucle, sino hacemos esto sólo nos devoverá la primera línea.

En powershell esto se hace con un “foreach” realmente es muy sencillo no te preocpes.

Quedémonos con esto:

foreach($CadaRegistro en $datos) {

Haz lo que sea

}

Diremos que este bucle realiza lo siguiente: Por cada registro que devuelva la variable $datos, es decir, cada registro de la hoja de excel, haces lo que sea, aquí colocaremos las sentencias para introducir el registro que se nos ha devuelto el foreach dentro del AD.

Para referirse a un campo concreto utilizaremos como siempre variable.propiedad ,es decir, si por ejemplo queremos extraer los CNs de la hoja de excel o del archivo de texto, utilizaremos $CadaRegistro.CN y nos devolverá todos los CN de la hoja de excel porque está dentro de un bucle “foreach”. Si lo hacemos sin el bucle sólo nos devolverá el CN del primer registro.

Haremos un ejemplo rápido:

PS C:\> foreach($CadaREgistro in $datos){write-host $CadaRegistro.cn}

Usuario1

Maria

Queremos ahora que nos devuelva el LastName, pues utilizaremos $CadaRegistro.LastName :

PS C:\> foreach($CadaRegistro in $datos){write-host $CadaRegistro.LastName}

Martinez

kill

Es importante tener en cuenta esto porque lo utilizaremos bastante en el script.

Ahora vamos a meter en una variable el CN ( Common Name )

CNs = $CadaRegistro.CN ( esto mete en la variable CNs el common name )

Conociendo el artículo ( Crear usuarios con Porwershell en DA ) vamos a proceder a crear el objeto USER oséa un CN solo utilizando el primer registro ( Ya que no utilzamos un bucle ).

Hemos creado la siguiente variable: CNs = $CadaRegistro.CN , esto almacena en la variable CNs el CN ( Common Name ) del primer registro de la hoja de excel, bien, pues utilizaremos el método “create” del ojeto ADSI para introducir este valor:

$objUser=$objOU.Create(“user”,”CN=”+$CNs)

Bien, espero que hayas entendido esto porque ahora vamos a proceder a realizar el script de importación, ten en cuenta como vamos a meter los datos dentro del script, vamos a realizarlo utilizando variables, estas serán cada uno de los valores de la hoja. Crearemos una variable por cada valor de cada una de las líneas:

Ejemplo lógico:

Metadato1, Metadato2, Metadato3 …

Valor1(Variable1), Valor2(Variable2), (Variable3)Valor3 …

Archivo

cn,sAMAccountName,FirstName,LastName

Usuario1,usuario.1,Miguel, Martinez

Maria,maria.kill,maria,kill

Variables

$cn=$CadaRegistro.cn, $sAMAccountName=$CadaRegistro. sAMAccountName, $FirstName=$CadaRegistro. FirstName …

—————————————————————————————————

Script:

# Creamos el objeto ADSI ( Realizando una consulta ) y lo metemos dentro de la varialbe objOU para utilizarlo:

$objOU=[ADSI]“LDAP://OU=People,DC=dominio,DC=priv”

# Metemos el objeto archivo a importar dentro de la variable: $CadaRegistro

$datos=import-csv “Mis_Usuarios.csv”

# Creamos el bucle y las variables para utilizar como hemos ejemplificado:

foreach($CadaRegistro in $datos) {

#Mapeamos las variables como hemos exlicado:

$cn=$CadaRegistro.cn

$sAMAccountName=$CadaRegistro.sAMAccountName

$givenName=$CadaRegistro.FirstName

$sn=$CadaRegistro.LastName

$displayName=$sn + “, ” + $givenName

$userPrincipalName=$givenName + “.” + $sn + “@dominio.priv”

#Creamos el usuario en el DA

$objUser=$objOU.Create(“user”,”CN=”+$cn)

$objUser.Put(“sAMAccountName”,$sAMAccountName)

$objUser.Put(“userPrincipalName”,$userPrincipalName)

$objUser.Put(“displayName”,$displayName)

$objUser.Put(“givenName”,$givenName)

$objUser.Put(“sn”,$sn)

$objUser.SetInfo()

# Habilitamos el usuario y cambiamos la contraseña

$objUser.SetPassword(“Carpintro1″)

$objUser.psbase.InvokeSet(“AccountDisabled”,$false)

$objUser.SetInfo()

}

—————————————————————————————————

IvanZito


-->