Slides Eventos Zerkana & Microsoft – Cloud OS

Martes, 18 de marzo de 2014 Sin comentarios

 

Hola.

Antes de nada, dar las gracias a los asistentes que nos acompañaron en los diferentes eventos que hemos realizado junto con Microsoft y en el caso de Valladolid, también junto con Plain Concepts y Samuel López (Microsoft MVP).

Os dejo el link de donde os podéis descargar las slides que utilizamos y que nos habéis pedido.

https://onedrive.live.com/redir?resid=D0190B360D3CB440!23877&authkey=!ANv90wyvrpaU538&ithint=folder%2c

Saludos.

Categories: Sin categoría Tags:

Exportar e importar configuración de nics

Viernes, 17 de enero de 2014 Sin comentarios

 

Hola.

Hoy se me ha planteado la necesidad de salvar y luego volver a importar la configuración de unas cuantas tarjetas de red y en vez de hacerlo a mano, he buscado el comando y aquí está. Como siempre, pararse a afilar el hacha es un tiempo bien dedicado.

El comando para exportar la configuración es:

netsh -c interface dump > archivo.txt

El comando para importar la configuración exportada es:

netsh -f archivo.txt

Saludos.

Modo compatibilidad o cambio de resolución en aplicación vía command line

Miércoles, 4 de diciembre de 2013 Sin comentarios

 

Hola.

Se me ha presentado una necesidad y la solución es simple aunque un tanto rebuscada.

Ante la necesidad de marca el modo compatibilidad en un archivo .exe una vez instalada la aplicación, solo tenéis que usar el comando siguiente con sus variables:

set __COMPAT_LAYER= MODEXX  RESOLXXX   “c:\program files\aplicacion\aplicacion.exe”

En mi caso:

set __COMPAT_LAYER= WINSRV03SP1  640X480   “c:\program files\aplicacion\aplicacion.exe”

Las posibilidades son:

Windows 95 = WIN95

Windows 98 / Windows Me = WIN98

Windows NT 4.0 (Service Pack 5) = NT4SP5

Windows 2000 = WIN2000

Windows XP (Service Pack 2) = WINXPSP2

Windows XP (Service Pack 3) = WINXPSP3

Windows Server 2003 (Service Pack 1) = WINSRV03SP1

Windows Server 2008 (Service Pack 1) = WINSRV08SP1

Windows Vista = VISTARTM

Windows Vista (Service Pack 1) = VISTASP1

Windows Vista (Service Pack 2) = VISTASP2

Windows 7 = WIN7RTM

256 colors = 256Color

640 x 480 screen resolution = 640×480

Disable visual themes = DISABLETHEMES

Disable desktop composition = DISABLEDWM

Disable display scaling on high DPI settings = HIGHDPIAWARE

 

Saludos.

Categories: Sin categoría Tags:

Crear .adm “templates” personalizados

Miércoles, 6 de noviembre de 2013 Sin comentarios

 

Hola.

Pocas son las veces que utilizamos la posibilidad no de importar y exportar archivos .adm para añadir contenido a nuestras gpos en AD, sino que además creamos esos adm para modificar parámetros que en muchas ocasiones preferimos modificar vía script en log on, etc.

Sin embargo, todo administrador de AD elegiría la posibilidad de llegar vía gpo ya que por ejemplo, nos olvidamos de equipos que conectan por vpn y otras circunstancias a las que vía log on no llegamos y tenemos que ir creando tareas programadas y demás.

En este artículo, pretendo daros una nociones básicas de como crear vuestros propios archivos .adm para que pudieseis incluso crear una gpo general con modificaciones de diversos programas, donde, por ejemplo, podamos tener tanto la directiva de contraseñas como la personalización de los adobe reader que hay en todo equipo de la empresa.

CONCEPTOS

Antes de nada comentar que prácticamente todo se basa en la modificación del registro y para ello tenemos que tener bien claro la existencia  de los arboles “Hkey_local_machine” y Hkey_current_user” los cuales tiene prácticamente un reflejo directo en las directivas de equipo y usuario que sabéis, existen en cada gpo.

En relación a lo que tenemos entre manos, vamos a trabajar con estos conceptos básicos:

1. Class

2. Category

3.Policy

4.Keyname

5.Valuename

Los archivos que se importan en la consola de administración de directivas de grupo, tienen la extensión .adm y estos archivos los podéis generar simplemente con notepad, guardando no como texto si no como archivo sin formato y escribiendo tras el nombre, la extensión .adm.

EJEMPLO 1

En las capturas siguientes, podéis ver ejemplos y entender donde se ubica cada uno de estos “items”

image

image

 

Por tanto una estructura básica podría ser:

Class “clase”

    Category “Policy”

        Keyname “keyname”

        Valuename “Valuename”
        Valueon numeric 0
        Valueon numeric 1

    End Policy

End Category

 

Si además quisiéramos incluir texto en la solapa “Explain” tendríamos que poner al final del texto:

[strings]
policy = “texto”

Esto lo guardaríamos como archivo template.adm y luego lo importaríamos como se ve la siguiente captura:

(Consola de administración de directivas de grupo)

image

EJEMPLO 2

Un ejemplo más claro pero más complejo se muestra a continuación, en él, crearemos una directiva para adobe que nos modifica una clave del registro:

image

image

 

CLASS USER
    CATEGORY !!Adobe10Header
        CATEGORY "Adobe Reader 10"
            CATEGORY "Preferences"
                    CATEGORY "General"
                        CATEGORY "Application Startup"
                                POLICY "Show splash screen"
                                    KEYNAME "Software\Adobe\adobe acrobat\10.0\Originals"
                                    EXPLAIN !!ExplainNosplash
                                    VALUENAME "bDisplayedSplash"
                                    VALUEON NUMERIC 0
                                    VALUEOFF NUMERIC 1
                                END POLICY

                        END CATEGORY
                    END CATEGORY
            END CATEGORY
        END CATEGORY
    END CATEGORY

[strings]
Adobe10Header=Adobe 10
ExplainNosplash="When disabled, the program will not display a splashscreen on startup.\n\nWhen enabled, the splashscreen will be displayed."

El resultado es:

image

image

 

En vez de:

VALUENAME "bDisplayedSplash"

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

 

Podemos tener claves del tipo:

VALUENAME “path”

VALUE “c:\temp\imagen.bmp”

 

También podríamos poner un texto con el comando “PART” que iría en la tabla de texto, esto sería así:

PART “texto”

VALUENAME "bDisplayedSplash"

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

También podemos necesitar un DROPDOWNLIST tras el texto para lo que tendríamos que poner:

PART “Default Dictionary” DROPDOWNLIST

ITEMLIST
    NAME "English (United Kingdom)" VALUE "English (United Kingdom)"
    ACTIONLIST
        KEYNAME "Software\Adobe\Acrobat Reader\10.0\Spelling"
        VALUENAME "iDictionaryDefaultID" VALUE NUMERIC 7
    END ACTIONLIST
    NAME "English (United States)" VALUE "English (United States)"
    ACTIONLIST
        KEYNAME "Software\Adobe\Acrobat Reader\10.0\Spelling"
        VALUENAME "iDictionaryDefaultID" VALUE NUMERIC 2
    END ACTIONLIST
END ITEMLIST

image

 

O por ejemplo un simple CHECKBOX que sería:

PART “Texto” CHECKBOX

VALUENAME “Valuename”

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

Bueno y si buscáis más por internet vais a encontrar mucho. Yo os invito a que analicéis archivos .adm muy útiles como son:

Adobe

http://www.adobe.com/devnet-docs/acrobatetk/tools/AdminGuide/gpo.html#x-gpo-deployments.

Google Chrome

https://support.google.com/chrome/a/answer/187202?hl=es

 

Saludos.

Categories: Sin categoría Tags:

BranchCache Distributed 2/3

Miércoles, 14 de agosto de 2013 Sin comentarios

 

La descripción de funcionamiento de BranchCache en modo distribuido sería la siguiente.

Escenario:

1. Servidor Windows Server 2008 R2 con rol de servidor de ficheros, carpeta compartida y en esta última, tenemos marcada la opción de BranchCache o si se trata de http, debemos tener publicado la carpeta donde se almacena la web.

2. Equipo cliente A con Branchacache activado vía gpo o en gpedit local y reglas de firewall en modo permitido.

3. Equipo cliente A, tiene configurado mediante gpo o gpedit local, el tiempo de corte por el cual, si el servidor funciona más lento del tiempo establecido, el archivo se cacheará y será ofrecido a otros pcs de la Lan.

3. Equipo cliente B igual a equipo cliente A.

Funcionamiento:

1. El equipo cliente A, solicita a servidor los identificadores del archivo que necesita. Esta solicitud puede ser Http, bits o smb, mediante también https o ipsec.

2. El cliente A, busca en local y en su LAN mediante WS-Discovery, en este primer uso, el archivo nunca ha sido descargado.

3. El cliente A, descarga el archivo desde el servidor.

4. El cliente B, solicita a servidor los identificadores del archivo que necesita. Esta solicitud puede ser Http, bits o smb mediante también https o ipsec.

5. El cliente B, busca en local y en su LAN mediante WS-Discovery. En este segundo uso, el archivo previamente ha sido descargado por el Cliente A.

6. El cliente B, comprueba que la comunicación con el servidor es mayor y por tanto más lenta en milisegundos que lo establecido en la gpo o gpedit local.

6. El cliente A, ofrece a cliente B el archivo.

Hasta aquí, la descripción de como funciona el servicio.

Configuraciones

Servidor:

1. Instalar característica File server y  Branchcache.

2. Directiva de equipo local o gpo – Equipo – Plantillas administrativas – Red – Servidor lanman –Publicación de hash para BranchCache – Habilitado y elegir una de las opciones, yo prefiero – Permitir publicación de hash para shares con branchcache habilitado.

SMB

1. Activar rol de servidor de ficheros.

2.Compartir una carpeta

3. Propiedades – compartido – avanzado – cacheado – marcar “Enable BranchCache”.

SMB en clúster

Si vais a utilizar smb en clúster, tenéis que lanzar en todos los nodos el siguiente comando: netsh branchcache set key passphrase=“frase secreta”, debéis repetir la misma frase en todos los nodos.

HTTP

1. Lanzar CMD como adminsitrador

2. publish-bcwebcontent (ruta de la web: ej.c:\inetpub\wwwroot )

Equipos cliente:

1. La gpo o gpedit local en los equipos cliente deben tener configurado:

  1. Ir a Computer\Plantillas administrativas\network\BranchCache
  2. Activar BranchCache – Enable
  3. Establecer el modo Caché distribuida de BranchCache – Enable
  4. Configurar BranchCaché para archivos de red – 0ms. si queremos cachear siempre o más milisegundos si queremos un tiempo de corte.
  5. Establecer el porcentaje de espacio en disco usado por la memoria caché del equipo cliente – Cifra en porcentaje

2. Configuración de Firewall:

  1. Firewall de windows con seguridad avanzada
  2. Reglas de entrada-botón derecho-nueva regla-predefinida- BranchCache: detección del mismo nivel (usa WSD) y BranchCache: recuperación de contenido (usa HTTP).
    Si se trata de un pequeño número de equipos, también podéis lanzar el comando : netsh branchcache set service mode=Distributed, el cual os lo configurará todo, aunque siempre, la configuración llegada mediante gpo, tendrá prioridad.

Tras esta configuración, podemos lanzar en un cmd como administrador y consultar si todo está ok, gracias la comando netsh branchcache show status all, donde también podéis ver la cantidad de información cacheada en el equipo.

Probar Branchcache

Para probar la configuración y funcionamiento de BranchCache, solo tendrías que:

1. Instalar un emulador de linea, por ejemplo:

NetworkEmulatorToolkit_x32
NetworkEmulatorToolkit_x64

2. Instalar este emulador en el servidor , configurar y en los filtros configurar una latencia mayor que la configurada en la gpo de los equipos cliente (Equipos cliente punto 1.4).

3. Copiar a local en Equipo A o descargar de una web un archivo y observar el tiempo que tarda en finalizar el proceso.

4. Realizar el mismo proceso en Equipo B. El tiempo ha e ser considerablemente menor porque Equipo A ha de ser quien entrega los datos, contando con una latencia mínima en Lan.

BranchCaché en todo proyecto de centralización de datos en Cloud 1/3

Miércoles, 14 de agosto de 2013 Sin comentarios

Hola.

Este es el primero de varios artículos donde pretendo hablar de BranchCaché en un claro ejemplo de uso, una migración de datos actualmente descentralizados a una cloud privada centralizada. Este primer artículo nos pondrá en situación y describirá las partes importantes ante la toma de decisiones en la fase de diseño.

BranchCaché en todo proyecto de centralización de datos en Cloud 1/3

Dos proyectos combinados en los que estoy metido, tienen como fin el diseño y ejecución de una migración de file servers localizados en más de mil “sites” a una cloud privada. Se pretende consolidar y explotar al máximo las ventajas propias de la centralización de datos. Esto conlleva la combinación de un proyecto de migración y otro en paralelo, donde diseñamos y creamos un clúster contando con las mejoras ofrecidas por los roles de File Server y Storage de WS2012. Además de otros que no vienen tan a cuento pero que también son imprescindibles, como la creación de una CA Corporate.

Pues bien, centrándonos en el primero de ellos y contrariamente a lo que se puede pensar, el éxito de ese proyecto, no se basa tanto en los extremadamente importantes procedimientos de migración o en el estudio y mejora de anchos de banda, sino que la parte imprescindible en este proyecto se llama aceleración y en nuestro caso, la encontraemos gracias a BranchCache. Podemos resumirlo en que cualquier ancho de banda posible actualmente, no sustituirá nunca al antiguo servidor situado en la lan y dado esto, se asume cierta lentitud en algunos momentos versus ahorro y seguridad de datos, pero, para minimizar, incluso evitar esta lentitud, pongamos un servidor que haga funciones de hosted ya que además, este puede caer, ser formateado o reemplazado rápidamente sin correr grandes riesgos.

Dicho esto, es importante conocer el rol (http://technet.microsoft.com/en-us/network/dd425028.aspx) y su encaje en el escenario.

Bases:

1. Podremos utilizar Windows Server 2008 r2 o Ws2012 en los servidores pero Windows 7 en equipos cliente.

2. Podríamos utilizar sites con Caché distribuida o Hosted Caché (recordamos que el fin del proyecto es consolidar y por tanto, apagar la mayor cantidad de servidores de site posibles).

3. Anchos de banda limitados y no mejorables en multitud de sites.

4. Diferentes subredes en ciertas redes (Branchcaché distributed, solo cachea información entre equipos en la misma subred).

5. Hosted Caché en Ws2008R2 ya nos permite pre cachear información en el servidor previo a su puesta en producción.

6. Windows 7, al contrario de Windows 8, no detecta automáticamente al servidor hosted de la sede, por lo que se prone ligar una gpo con el servidor por cada site.

7. Hosted Caché se basa en la seguridad ofrecida por certificados de servidor, por lo que tenemos que contar con una CA Corporate.

8. Los servidores hosted ws2012 y Ws2008R2 pueden ser detectados automáticamente por futuros w8, por lo que se podría habilitar esta opción aun no siendo explotada actualmente.

9. Ante oscilaciones en las velocidades de conexión, se pretende cachear la mayor cantidad de información, independientemente al retardo con el servidor central.

Tras conocer todo esto, iremos desgranando como funciona y la puesta en marcha de BranchCaché distribuido y sobre todo Hosted, que es el que nos costará un poco más de montar.

Saludos.

Categories: branchcache, Windows 7, WS2008 R2, ws2012 Tags:

Configuración de BranchCaché web y smb, hosted en WS2008 R2 en adelante

Martes, 6 de agosto de 2013 Sin comentarios

Hola.

El siguiente paso a paso, configura Branchcaché en nuestra red, aprovechando incluso las nuevas funcionalidades de ws2012 y Windows 8, gracias las cuales, el equipo cliente utiliza el servidor hosted más próximo a él.

 

Entorno:

Servidor DC, web y smb

Server1, en dominio, será hosted server y cliente

Server2, en dominio, será, hosted server y cliente

 

Configuración:

1. Crear una gpo con nombre BranchCache clientes, por ejemplo.

  • Ir a computer configuration\policies\administrative templates\network\branchcache
  • Habilitar las siguientes opciones: “ turn on BranchCache”, “Set BranchCache Distributed Cache Mode” y “Enable Automatic Hosted Cache Discovery by Service Connection Point”.
  • Ir a Computer Configuration\Policies\windows Settings\Security settings\windows Firewall with Advanced Security\windows firewall with advanced security\…inbound rules
  • Nueva regla – Predefinida – Branchcache- content retrieval (uses http).
    Filtrar la gpo para que solo se aplique a ordenadores cliente donde queremos que utilicen BranchCache
    2.Instalar la caraterística de BranchCache en los servidores hosted, para ello:
  • Comando powershell: get-windowsfeature BranchCache | install-WindowsFeature
  • Si tenéis varios servidores podéis: invoke-command –computername server1,server2,dc –scriptblock{y el comando que he puesto antes}

3. Configurar por ejemplo la carpeta de web server para las primeras pruebas:

  • publish-bcwebcontent c:\inetpub\wwwroot (o la ruta donde tengáis la web en cuestión).

4. Configurar el/los hosted cache server, en mi caso lo haré en server1 y server2:

  • enable-bchostedserver –registerscp
  • gpupdate /force
  • get-service peerdistsvc | restart-service

A partir de este momento ya se puede realizar una prueba, por ejemplo, bajando un archivo de http://dc/archivo.iso (por ejemplo). Para que las pruebas confirmen el funcionamiento, lo mejor sería utilizar un limitador de ancho de banda en el dc y comprobar que la primera descarga desde server1 es muy lenta y luego, desde server2, la misma descarga se realizar prácticamente de inmediato.

Una vez configurado todo esto, si queréis que una carpeta se cachee, solo tenéis que marcar la opción al respecto en las propiedades de esta.

Ruta alternativa para la instalación de componentes en W8, WS2012 y WS2012 R2

Martes, 6 de agosto de 2013 Sin comentarios

Hola.

En su día ya traté por aquí, el hecho de que no todas los componentes vengan almacenados en el propio sistema operativo a la espera de ser activados; eso ocurre en W8, WS2012 y WS2012R2.

El ejemplo es claro, prácticamente lo primero que encontramos cuando queremos instalar algún rol es la necesidad de contar con .net framework y este, se descarga online, algo que normalmente, nuestros servidores no pueden realizar.

Para remediar esto de forma profesional en un entorno al menos mediano, lo suyo es crear una directiva que nos ayude, para ello, basta con seguir los siguientes:

1.Crear una directiva e ir a la ruta:

image

Computer configuration\administrative Templates\system\Specify settings fo optional component installation and component repair

2.Activar la opción y en “Alternate source file path” podemos:

2.1 Simplemente utilizar la ruta de un share, donde habremos guardado los archivos del iso; ejemplo: \\nas\share

2.2 Utilizar un share donde hemos guardado el archivo wim e indicarlo todo, ejemplo: wim:\\nas\share\install.wim:3.

En mi caso he usado la opción 1 ya que la 2 viene perfectamente detallada en la ayuda:

image

Además, también podéis personalizar la opción contando con las opciones “never attempt to download payload from windows update” o “contact Windows Update directly to download repair content…”, las cuales están perfectamente explicadas en la parte de la ayuda de la propia opción.

Saludos.

Categories: Windows 8, ws2012, Ws2012 R2 Tags:

Conocer el lenguaje del sistema operativo en un equipo vía powershell

Viernes, 28 de junio de 2013 Sin comentarios

 

Hola.

Con el siguiente script, tendréis en la variable $code el resultado de la consulta del tipo de lenguaje del sistema operativo.

$solenguaje = Get-WmiObject Win32_OperatingSystem

$code= switch($solenguaje.oslanguage){

default {“Unknown”);

3082 {“Spanish”};

1033 {“English”}

}

Esta información se basa en estos códigos de lenguaje:

http://www.science.co.il/language/Locale-Codes.asp

 

Saludos.

Categories: Sin categoría Tags:

Conocer el lenguaje del sistema operativo en un equipo vía powershell

Viernes, 28 de junio de 2013 Sin comentarios

 

$solenguaje = Get-WmiObject Win32_OperatingSystem

$code= switch($solenguaje.oslanguage){

default {“Unknown”);

3082 {“Spanish”};

1033 {“English”}

}

Categories: powershell Tags: