Archivo

Archivo para la categoría ‘Microsoft’

Consulta para obtener los usuario de un grupo de AD

jueves, 28 de marzo de 2013 Comments off

Hola a todos,

A raíz del post SCRIPT – saber todos los usuarios que pertenecen a un directorio, me han sugerido que indique que línea lanzo para extraer la información de los grupos en directorio activo.

Dicha sentencia es la siguiente:

dsquery group -samid «GRUPO_AD » | dsget group -members -expand | dsget user -samid -display > FICHERO_TEXTO.txt

Categories: Herramientas, Microsoft, Server Tags:

Evento Windows server 2012 Rocks – MVP

viernes, 11 de enero de 2013 1 comentario

Hola a todos,

Los MVP (Most Value Professionals) de Microsoft están de gira, y en Barcelona, la ha organizado nuestro gran amigo Marc (@MarcITPro), junto con Luisa Cinque (@lcinque), y como no podía ser de otra menera, la liaron parda 😉

Marc y Luisa

El evento se inició con la presentación de los ponentes y nos pusimos manos a la obra con Server Manager de Windows Server 2012, explicando las características de administración, transformando un ServerCore a un MinShell y finalizando con la explicación de la nueva característica de ClusterAware.

Una vez finalizada esta presentación por parte de Marc, le tocaba el turno a Luisa, que la pobre estaba muy nerviosa, y pensaba en todo momento que le tocaría pagar el cordero 🙂 Empezó con una breve presentación sobre ella y continuó entrado a trapo con Hyper-V v3.0, que es la nueva versión del hipervisor de Microsoft, y de sus nuevas caracerísticas (vSwitch, network share para alojar VM, etc). Nos deleitó con el movimiento de almacenamiento de una máquina virtual, creación de un Timing de red, siendo estás diferentes fabricantes (nueva característica de WinServer 2012).

Y llegó el momento esperado: Clonación de DC, para esto, propuso la clonación de un RODC, y realizó la demo completa, desde el copiado del fichero XML que podemos encontrar, hasta el copiado de máquinas y modificación de los ficheros de configuración.

Proceso de clonación de DC

Una vez finalizado la clonación, Luisa, dió paso otra vez a Marc que nos explicó el procedimiento que hay que realizar para instalar Windows Server 2012 en una unidad USB y arrancar el sistema operativo desde USB, con la tecnología de WindowsToGo. Mientras tanto, Luisa, aprovechaba para cargarse su portatil (no a caso hecho 🙂 ), y pudimos ver las opciones y procedimiento de recovery de Windows Server 2012.

Al finalizar el evento, aprovachamos la comunidad de ITPRO y compañeros de fatigas para ir a refrescar el gaznate como se debe de hacer 😉

Categories: Microsoft, Windows Server 2012 Tags: ,

SCRIPT – saber todos los usuarios que pertenecen a un directorio

martes, 18 de diciembre de 2012 Comments off

Hola a todos,

Esta vez os voy a dejar un Script que he tenido que montar para saber los usuarios que tienen acceso a unos directorios compartidos. Esta petición sería muy complicada, si no fuera, por que uno de los directorios en cuestión es un maldito saco roto con 15 grupos de directorio activo, con herencias cortadas, etc.

El Script que se lanza, genera 1 fichero que indicamos nosotros, en este caso, logACL o el nombre del directorio a extraer la información, y tantos ficheros Grupo_AD/user como permisos tienen.

Para lanzar el Script, tenemos que pasar como parámetro, el directorio a realizar el escaneo, y el fichero en donde indicará todas las ACL del directorio y subdirectorios.

cscript ListACLFolders.vbs DIR_ACL_FIND LogACL.csv

Nos generará un CSV, o fichero plano de texto con los siguientes campos:

  • Día
  • Hora
  • Directorio
  • Grupo o usuario
  • Permisos comunes
  • Permisos especiales
  • Tipo de acceso
  • Herencia
  • Errores

Deberemos de modificar la variable strDirectory dentro del proceso ShowSubACL para indicarle en donde vamos a guardar los grupos de acceso de cada directorio.

El SCRIPT:

On Error Resume Next
Const ForAppending = 8
‘Commom Permissions
Const FOLDER_FULL_CONTROL = 2032127
Const FOLDER_MODIFY = 1245631
Const FOLDER_READ_ONLY = 1179785
Const FOLDER_READ_CONTENT_EXECUTE =  1179817
Const FOLDER_READ_CONTENT_EXECUTE_WRITE =  1180095
Const FOLDER_WRITE = 1179926
Const FOLDER_READ_WRITE = 1180063
‘Special Permissions
Const FOLDER_LIST_DIRECTORY = 1
Const FOLDER_ADD_FILE = 2
Const FOLDER_ADD_SUBDIRECTORY = 4
Const FOLDER_READ_EA = 8
Const FOLDER_WRITE_EA = 16
Const FOLDER_EXECUTE = 32
Const FOLDER_DELETE_CHILD = 64
Const FOLDER_READ_ATTRIBUTES = 128
Const FOLDER_WRITE_ATTRIBUTES = 256
Const FOLDER_DELETE = 65536
Const FOLDER_READ_CONTROL = 131072
Const FOLDER_WRITE_DAC = 262144
Const FOLDER_WRITE_OWNER = 524288
Const FOLDER_SYNCHRONIZE = 1048576
Const FOLDER_INHERITED_ACE = 16
Const SE_DACL_PRESENT = 4
Const ACCESS_ALLOWED_ACE_TYPE = 0
Const ACCESS_DENIED_ACE_TYPE  = 1

strComputer = «.»
strTargetPath = WScript.Arguments.Item(0)
strOutFile = WScript.Arguments.Item(1)
strdrop = «»

Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objOutFile = objFSO.OpenTextFile(strOutFile, ForAppending, True)

objOutFile.Writeline «Date;Time;Folder;Group / User Name;Commom Permission’s;Special Permission’s;Access Type;Inheritance;Error’s»

ShowSubACL objFSO.GetFolder(strTargetPath)
ShowSubfolders objFSO.GetFolder(strTargetPath)

objOutFile.Close

Sub ShowSubFolders(Folder)
 On Error Resume Next
    For Each Subfolder in Folder.SubFolders
  ShowSubACL(Subfolder.Path)
  
  ShowSubFolders Subfolder
  If Err.Number = 0 Then
   strErros = «No Error’s»
  ElseIf Err.Number = 451 Then
   strErros = «No Error’s»
   Err.clear
  Else
   strErros = «Cod.: » & Err.Number & » Desc.: » & Err.description
   objOutFile.Writeline Date() & «;» & Time() & «;» & FolderPerm & «;» & «» & «» & «» & «;» & «» & «;» & «» & «;» & «»  & «;» & «» & «;» & strErros
   Err.clear
  End If
    Next
End Sub

Sub ShowSubACL(FolderPerm)
 On Error Resume Next
 strCPerm = «»
 strSPerm = «»
 strTypePerm = «»
 strInherit = «»
 strErros = «»
 Dim WshShell, strDirectory, strFile
 Set WshShell = WScript.CreateObject(«Wscript.Shell»)
 Set objWMIService = GetObject(«winmgmts:»)
 Set objFolderSecuritySettings = objWMIService.Get(«Win32_LogicalFileSecuritySetting='» & FolderPerm & «‘»)
 intRetVal = objFolderSecuritySettings.GetSecurityDescriptor(objSD)
 intControlFlags = objSD.ControlFlags
 strDirectory = «DIRECTORIO_EN_DONDE_GUARDAR_LOS_GRUPOS_CON_USUARIOS»
 Set objFSO = CreateObject(«Scripting.FileSystemObject»)
 If intControlFlags AND SE_DACL_PRESENT Then
  arrACEs = objSD.DACL
  If Err.Number = 0 Then
   strErros = «No Error’s»
  Else
   strErros = «Cod.: » & Err.Number & » Desc.: » & Err.description
   objOutFile.Writeline Date() & «;» & Time() & «;»»» & FolderPerm  & «»»;» & «» & «» & «» & «;» & «» & «;» & «» & «;» & «»  & «;» & «» & «;» & strErros
   Err.clear
  End If
  For Each objACE in arrACEs
   
 
   ‘ACL Type
   If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then strTypePerm = «Allowed»
   If objACE.AceType = ACCESS_DENIED_ACE_TYPE Then strTypePerm = «Denied»
   
   ‘Inherit
   If objAce.AceFlags AND FOLDER_INHERITED_ACE Then
    strInherit = «Yes»
   Else
    strInherit = «No»
   End if
   
   ‘Commom Permissions
   If objACE.AccessMask = FOLDER_FULL_CONTROL Then
    strCPerm = «Full Control»
   ElseIf objACE.AccessMask = FOLDER_MODIFY Then
    strCPerm = «Modify»
   ElseIf objACE.AccessMask = FOLDER_READ_CONTENT_EXECUTE_WRITE Then
    strCPerm = «Read & Execute / List Folder Contents (folders only) + Write»
   ElseIf objACE.AccessMask = FOLDER_READ_CONTENT_EXECUTE Then
    strCPerm = «Read & Execute / List Folder Contents (folders only)»
   ElseIf objACE.AccessMask = FOLDER_READ_WRITE Then
    strCPerm = «Read + Write»
   ElseIf objACE.AccessMask = FOLDER_READ_ONLY Then
    strCPerm = «Read Only»
   ElseIf objACE.AccessMask = FOLDER_WRITE Then
    strCPerm = «Write»
   Else
    strCPerm = «Special»
   End If
   
   ‘Special Permissions
   strSPerm = «»
   If objACE.AccessMask and FOLDER_EXECUTE Then strSPerm = strSPerm & «Traverse Folder/Execute File, »
   If objACE.AccessMask and FOLDER_LIST_DIRECTORY Then strSPerm = strSPerm & «List Folder/Read Data, »
   If objACE.AccessMask and FOLDER_READ_ATTRIBUTES Then strSPerm = strSPerm & «Read Attributes, »
   If objACE.AccessMask and FOLDER_READ_EA Then strSPerm = strSPerm & «Read Extended Attributes, »
   If objACE.AccessMask and FOLDER_ADD_FILE Then strSPerm = strSPerm & «Create Files/Write Data, »
   If objACE.AccessMask and FOLDER_ADD_SUBDIRECTORY Then strSPerm = strSPerm & «Create Folders/Append Data»
   If objACE.AccessMask and FOLDER_WRITE_ATTRIBUTES Then strSPerm = strSPerm & «Write Attributes, »
   If objACE.AccessMask and FOLDER_WRITE_EA Then strSPerm = strSPerm & «Write Extended Attributes, »
   If objACE.AccessMask and FOLDER_DELETE_CHILD Then strSPerm = strSPerm & «Delete Subfolders and Files, »
   If objACE.AccessMask and FOLDER_DELETE Then strSPerm = strSPerm & «Delete, »
   If objACE.AccessMask and FOLDER_READ_CONTROL Then strSPerm = strSPerm & «Read Permissions, »
   If objACE.AccessMask and FOLDER_WRITE_DAC Then strSPerm = strSPerm & «Change Permissions, »
   If objACE.AccessMask and FOLDER_WRITE_OWNER Then strSPerm = strSPerm & «Take Ownership, »
   If objACE.AccessMask and FOLDER_SYNCHRONIZE Then strSPerm = strSPerm & «Synchronize, »
   If trim(strSPerm) <> «» then strSPerm =  left(strSPerm, len(strSPerm)-2)

   If UCase(strdrop) = UCase(«/dropInherit») and objAce.AceFlags AND FOLDER_INHERITED_ACE Then
 
   Else 
    objOutFile.Writeline Date() & «;» & Time() & «;»»» & FolderPerm & «»»;»»» & objACE.Trustee.Domain & «» & objACE.Trustee.Name & «»»;» & strCPerm & «;» & strSPerm & «;» & strTypePerm  & «;» & strInherit & «;» & strErros
 
   
    strFile = strDirectory & «» & objACE.Trustee.Name &».TXT»
    If objFSO.FileExists(strFile) Then
    Else
       desquerygroup = «dsquery group -samid » & chr(34) & objACE.Trustee.Name & chr(34) & » | dsget group -members -expand | dsget user -samid -display> » & strFile
       wshShell.Run  «cmd.exe /C » & desquerygroup
       
    End if
   End if 
  Next
 End If
End Sub

un Saludo!

Windows Assessment and Deployment Kit

lunes, 15 de octubre de 2012 Comments off

Hola a todos,

Vamos a ver una de las herramientas que más se utilizan en el departamento IT de una organización mediana/grande y que sin ella, sería imposible afrontar proyectos de migración de versiones de Windows Desktop.

Windows Assessment and Deployment Kit, es un conjunto de herramientas que nos brinda Microsoft y para validar, personalizar e instalar sistemas operativos Microsoft en nuestra plataforma.

Con la salida de Windows 8 y Windows 2012, se han actualizado alguna de estas herramientas, al igual que SCCM 2012 que se ha actualizado con SP1 para desplegar Windows 8 y 2012.

ADK incorpora las siguientes herramientas:

La plataforma en donde se tiene que instar son las siguientes:

  • Windows 8
  • Windows 7
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008

Se requiere Microsoft .NET Framework 4.
Aunque se recomienda, instalarlo en un entorno servidor (Windows Server 2008 R2 o Windows Server 2012).

Creación de Sysprep para WinServer 2012 y Windows 8 sobre VHDX

miércoles, 10 de octubre de 2012 3 comentarios

Hola a todos,

Con las nuevas características de instalación sobre VHDx de un sistema operativo Windows Server 2012 y Windows 8, es necesario, que si realizamos estas acciones a gran escala, para montar escenarios virtuales en cuestión de horas, es necesario, realizar un Sysprep para generar nuevos ID de sistema.

Con el Script en PowerShell que nos proporcionan desde Microsoft, es posible disponer de una cantidad de sistemas en poco tiempo y sin la necesidad de tener montado un WAIK. Este PS se llama WIM2VHD y se encarga de pasar una imagen .WIM a un fichero VHDX.

Lo primero es ubicarnos en el directorio en donde vamos a alojar nuestro PS (abrir PS en modo ADMIN). En mi caso, lo he alojado en un almacenamiento exclusivo de Scripting que voy probando (F:\Scripting\SysprepW8-W2012), se recomienta generar un directorio en C:\ o D:\ y trabajar desde allí.

Lo primero es indicar que vamos elevar privilegios de ejecución:

Set-ExecutionPolicy Unrestricted

Con esta sentencia le indicamos que el código que vamos a lanzar esta firmado por alguien confiable por nosotros y que lo ejecute sin restricción.

El PS que nos hemos bajado, nos brinda la posibilidad de ejecutar un entorno gráfico (GUI) o trabajar desde línea de comandos, para trabajar en GUI lanzaremos el siguiente comando:

Convert-WindowsImage.ps1 -ShowUI

 WIM2VHD GUI

Las opciones de ubicación de VHDX (Working Directory), así como el nombre del VHDX (VHD NAME), no funcionan desde la interface gráfica.

 

Si queremos ubicar el VHDX en un repositorio en concreto, deberemos lanzar un PS.

Convert-WindowsImage.ps1 -SourcePath F:\ISOS\W2012\SW_DVD5_Win_Svr_Std_and_DataCtr_2012_64Bit_English_Core_MLF_X18-27588.iso -VHDFormat VHDX -SizeBytes 20GB -VHDPath F:\VirtualMachine\W2012RDS02\W2012RDS0201.vhdx -Edition ServerDataCenter

PS WIM2VHD

La sentencia sería la siguiente:

Convert_WindowsImage.ps1 -SourcePathPathDeISO_WIM -VHDFormat VHD/VHDX -SizeBytes TAMAÑO -VHDPath [UbicacionFinal][NombreExtensionVHDX] -Edition [SKU]

Si se utiliza una imagen ISO con más de un producto, será obligatorio el indicar el SKU/edición que queremos implementar.

ServerStandardCore
ServerStandard
ServerDataCenterCore
ServerDataCenter

SCRIPT: Convert-WindowsImagePS1

 

 

Alta de rol Hyper-V en Windows 8

jueves, 4 de octubre de 2012 Comments off

Hola a todos,

Voy a realizar esta corta entrada que va ha hacer referencia a que pasos debemos de seguir para dar de alta el rol de Hyper-V en Windows 8, y de esta forma, poder utilizar esta nueva característica de virtualización de máquinas.

Lo primero es acceder al panel de control, y esto lo podemos hacer haciendo clic con el botón derecho en cualquier sitio del nuevo escritorio y pulsar sobre  Todas las aplicaciones

Y seguidamente pulsar sobre Panel de Control

Pulsaremos sobre Programas, para acceder a la configuración de las aplicaciones del equipo y pulsaremos en  Activar o desactivar características de Windows

Una vez abierta la ventana, buscaremos la nueva característica a instalar, en nuestro caso Hyper-V y la seleccionaremos.

Como vemos, al pulsar y activar Hyper-V, automáticamente nos va a instalar:

  • Herramientas de administración de GUI de Hyper-V: Entorno gráfico
  • Modulo de Hyper-V para Windows PowerShell:  incluye cmdLets para Hyper-V. Estos cmdLets ofrecen una sencilla forma de automatizar las tareas de administración de Hyper-V
  • Plataforma de Hyper-V

Esperamos a que configure la nueva característica y reiniciamos el equipo para que se apliquen todos los cambios realizados.

 

Otra opción para dar de alta el rol de Hyper-V en Windows 8, es realizarlo mediante línea de comandos (elevando privilegios) con la siguiente sentencia:

DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V-All

CodePlex: Hyper-V Guest Console

lunes, 6 de agosto de 2012 Comments off

Hola a todos,

Navegando por CodePlex, la web de proyectos abiertos basados en tecnología de Microsoft, he encontrado un proyecto muy interesante para aquellos que administran Hyper-V.

Como ya es conocido por todos, si tu plataforma cliente es Windows XP, no puedes administrar Hyper-V, por lo que acabas, o conectando mediante RDP a un Windows Server 2008 o montandote una máquina virtual Windows 7 y utilizar las RSAT.

En Codeplex, he encontrado un proyecto muy interesante, como he comentado anteriormente, que sirve para monitorizar y conectarse a las máquinas virtuales que tenemos alojadas en nuestros Hyper-V.

El proyecto es: Hyper-V Guest Console, y  nos brinda la oportunidad de monitorizar el estado de las VM, como de poder cambiar el estado de estas (apagar, reiniciar, etc) y también montar ISO/DVD tal y como si estuviéramos utilizando la herramienta de gestión de HyperV.

Para poder utilizar la consola, tendremos que tener instalado en nuestro Windows XP/Windows Server 2003 .NET FrameWork 3.5 o superior.

Algunas capturas de pantalla de la apliación:

Espero que sea de utilidad 😉

KB2526776: Virtualizar WinServer 2012 en WinServer 2008 R2

viernes, 3 de agosto de 2012 Comments off

Hola a todos,

Algunos compañeros me han preguntado si sabía algún «truco» para que no se mueran sus VM con Windows Server 2012, este «truco» no es más que una actualización para Windows Server 2008 R2.

SÍNTOMA:

  • La máquina virtual Windows 8 o Windows Server 2012 deja de responder.
  • El equipo host de Windows Server 2008 R2 muestra un mensaje de error de detención y se reinicia automáticamente. Este comportamiento lleva hacia abajo todos los demás máquinas virtuales, junto con el equipo host.

El error en la máquina host, se visualiza en el visor de eventos con el source Hyper-V Rol.

CAUSA:

  • El problema se produce porque el hipervisor no controla el temporizador sintético que se conoce también como un temporizador aperiódico correctamente.

SOLUCIÓN:

Si no tiene ServicePack 1 de Windows Server 2008 R2, instalarlo, y posteriormente, instalar el pache KB2526776.

URL Referencia: http://support.microsoft.com/kb/2526776

Y Dani Alonso creó el blog Windows 8

martes, 13 de marzo de 2012 Comments off

Hola a todos,

Con este titulo, en este post, me refiero, a que ya tenemos Blog Oficial de ITPro referente a Windows8.

Así que, si queréis estar informados, aun más, no dudéis en pasaros por el blog y leer las nuevas entradas.

Categories: Microsoft Tags: , ,

Windows 8 Server: Alta del ROL Hyper-V

martes, 28 de febrero de 2012 Comments off

Hola a todos,

Durante este post vamos a dar de alta el ROL de Hyper-V en Windows 8 Server. Como norma general, vamos a empezar abriendo el Server Manager, y en este caso, pulsaremos (2) ADD ROLES, en este punto tengo que decir, que para la versión final de Windows8Server, deberían de cambiar por (2) ADD ROLES & FEATURES, ya que es desde este sitio en donde daremos de alta toda la configuración del servidor.

Una vez abierto el wizard para añadir un nuevo rol al servidor, tenemos ir siguiendo los pasos:


La típica pantalla de presentación, la cual es meramente informativa.

En la siguiente pantalla, es en donde vamos a tener las primeras diferencias con su antecesor sistema, nos va a permitir realizar Instalación en remoto, en este caso, dar de alta un sistema de Escritorio remoto RDS

  • Role-based or Feature-based installation: Nos indica que vamos a realizar una instalación sobre este servidor u otros, pero que no representa ninguna tipología de solución (RDS, Deployment, etc…)
  • Scenario-based Installation: Nos indica que vamos a tener que seleccionar más de 1 servidor para poder llevar a cabo esta configuración, por ahora, está implementada RDS, pero podría darse el caso, de que se puedan implementar algunas otras soluciones. Por ahora, es obligatorio que el servidor esté en dominio para continuar.

Vamos a seguir con la instalación basada en Rol.

Seleccionamos el servidor en el cual vamos a realizar la instalación, en este caso, va a ser nuestro servidor local (WINDOWS8SERVER).

Pulsamos next, y es cuando tenemos que seleccionar el ROL de Hyperv-V

Pulsamos NEXT para empezar el copiado de ficheros en el sistema, y vemos como automáticamente tenemos marcadas algunas características del sistema.

Seleccionamos el Check, de que se reinicie cuando acabe de instalar y esperamos a que finalice el proceso.

 

Categories: Microsoft, Server Tags: ,