Get the domain in a Windows offline

jueves, 14 de agosto de 2014 Sin comentarios

 

I needed to get the domain of a computer offline from Winpe.

Our Script:

set target_root=%1
if not exist %target_root%\system32\config\system goto nohive

Reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  /v Domain

:nohive
echo Target Root no contiene la ruta necesaria.
pause

Categories: Sin categoría, Windows 7, Windows 8 Tags:

Get the domain in a Windows offline

jueves, 14 de agosto de 2014 Sin comentarios

 

I needed to get the domain of a computer offline from Winpe.

Our Script:

set target_root=%1
if not exist %target_root%\system32\config\system goto nohive

Reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  /v Domain

:nohive
echo Target Root no contiene la ruta necesaria.
pause

Categories: Windows 7, Windows 8 Tags:

Toma de mac como nombre único de equipo en red

jueves, 19 de junio de 2014 Sin comentarios

Hola.

Ando liado con un proyecto de fabricación de maqueta corporativa con herramientas que ya conocéis, como son, MDT, USMT, WDS, etc.

La cuestión es que me ha costado pero finalmente he conseguido que el equipo tome la MAC de la tarjeta principal como nombre, ya que es un dato único cuando el equipo es XP y luego cuando pasa a ser W7 y gracias a eso, puedo dejar los datos del usuario en red con USMT en la ruta \\servidor\datos\%mac% y luego recuperarlos de forma automática en la task sequence.

La forma de tomar la mac como nombre automáticamente es incluir esta instrucción en el bootstrap.ini en nuestro MDT:

OSDComputerName=RS#Replace(oEnvironment.Item("MACAddress001"),":",")#

 

Aplicar esta regla para hacer un scanstate y luego un loadstate es:

DeploymentType=NEWCOMPUTER
SkipUserData=no
UserDataLocation=network
ScanStateArgs=/c /v:1 /localonly /o
LoadStateArgs=/v:1 /c
UDShare=\\172.27.212.151\captures$
UDDir=RS#Replace(oEnvironment.Item("MACAddress001"),":","")#

 

Saludos.

Categories: deployment, Windows 7, Windows 8 Tags:

Comandos powershell utilizados durante la gira

martes, 18 de marzo de 2014 Sin comentarios

 

Hola.

Algunos de vosotros me habéis pedido durante los diferentes eventos realizados, los comandos de powershell que he ido utilizando para cada una de las explicaciones.

Aquí los tenéis:

#conocer el tipo de conexión establecida
get-smbconnection

#conocer las posibilidades de la nic física (observerse si soporta rss)
Get-SmbMultichannelConnection

#conocer las posibilidades de la nic de la vm (observerse que esta si soporta rss al estar sobre 2012r2)
invoke-command -computername nodo1 -ScriptBlock{Get-SmbMultichannelConnection}

 

#limitar anchos de banda de forma directa
Add-WindowsFeature FS-SMBBW
Remove-SmbBandwidthLimit –Category default

Set-SmbBandwidthLimit -Category Default -BytesPerSecond 8mb

Set-SmbBandwidthLimit -Category Default -BytesPerSecond 1gb

#2 nics sin teaming – asignar persos y prioridades a tarjetas de red virtuales (nuevo en 2012r2)

add-VMNetworkAdapter –ManagementOS –Name “SMB” –SwitchName “vnet”
Add-VMNetworkAdapter –ManagementOS –Name “LM” –SwitchName “switch1”
Add-VMNetworkAdapter –ManagementOS –Name “Cluster” –SwitchName “switch1”
Add-VMNetworkAdapter –ManagementOS –Name “Management” –SwitchName “switch1”
New-NetQosPolicy “Live Migration” –LiveMigration –MinBandwidthWeight 30 –Priority 5
New-NetQosPolicy “SMB” –SMB –MinBandwidthWeight 50 –Priority 3
New-NetQosPolicy “Cluster”-IPDstPort 3343 –MinBandwidthWeight 10 –Priority 6
New-NetQosPolicy “Management” –Default –MinBandwidthWeight 10

#2nics con teaming

New-NetLbfoTeam “Team1” –TeamMembers “NIC1”,”NIC2” –TeamNicName “team”

New-VMSwitch “switch1” –NetAdapterName “team” –MinimumBandwidthMode Weight –AllowManagementOS $false

add-VMNetworkAdapter –ManagementOS –Name “SMB” –SwitchName “vnet”
Add-VMNetworkAdapter –ManagementOS –Name “LM” –SwitchName “switch1”
Add-VMNetworkAdapter –ManagementOS –Name “Cluster” –SwitchName “switch1”
Add-VMNetworkAdapter –ManagementOS –Name “Management” –SwitchName “switch1”

#Asignar pesos
Set-VMNetworkAdapter –ManagementOS –Name “SMB” –MinimumBandwidthWeight 40
Set-VMNetworkAdapter –ManagementOS –Name “LM” –MinimumBandwidthWeight 20
Set-VMNetworkAdapter –ManagementOS –Name “Cluster” –MinimumBandwidthWeight 5
Set-VMNetworkAdapter –ManagementOS –Name “Management” –MinimumBandwidthWeight 5

Set-VMNetworkAdapter –VMName * -MinimumBandwidthWeight 1

#asignar vlans si las hay.
Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName SMB –Access –VlanId 100
Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName LM –Access –VlanId 200
Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName Cluster –Access –VlanId 300
Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName Management –Access –VlanId 400

 

#Añade discos compartidos y almacenados en alta disponibilidad
Add-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk.vhdx -ShareVirtualDisk
Add-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk2.vhdx -ShareVirtualDisk
Add-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk3.vhdx -ShareVirtualDisk
Add-ClusterNode -Cluster guestcluster –Name nodo2

#borra discos compartidos y almacenados en alta disponibilidad
remove-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk.vhdx -ShareVirtualDisk
remove-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk2.vhdx -ShareVirtualDisk
remove-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\shareddisk3.vhdx -ShareVirtualDisk 
Add-VMHardDiskDrive -VMName nodo2 -Path \\sohyperv\vhd\quorumguest.vhdx -ShareVirtualDisk

Categories: Sin categoría Tags:

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: