Welcome to Delicate template
Header
Just another WordPress site
Header

(ctxdom.com) Tal y como se explica en el manual de XenDesktop, por defecto, solo el 10% de escritorios esta levantado en horario pico en los Escritorio sin uso.

http://support.citrix.com/proddocs/topic/xendesktop-rho/cds-control-power-management-rho.html

Esto puede suponer un problema (o no) y en caso de necesitar modificar-lo, como conprovareis, no disponeis de forma desde la GUI para realizar la modificación especifica. Así como lo hacemos? Vayamos a nuestro querido PowerShell.

Disponemos de dos características dentro del objeto de Catalogo que permiten la configuracion y comportamiento sobre el uso y administrador de Energia en XenDesktop.

El OffPeakBufferSizePercent y el PeakBufferSizePercent. Por defecto, ambos valores estan a 10%.

10% OffPeakBufferSizePercent: En los umbrales definidos como “fuera de horario pico” se establece que se deberá disponer de un 10% del total de escritorios del catalogo en estado “Running”.

10% PeakBufferSizePercent: En los umbrales definidos como “horario pico” se establece que se deberá disponer de un 10% del total de escritorios del catalogo en estado “Running”.

Para comprobar el estado de nuestro umbrales, podemos hacer uso del CMDLET:

Get-BrokerDesktopGroup -Name ‘CATALOG NAME’

Ello nos mostrará todos los objetos definidos en nuestro catalogo y su correspondiente valor.  Podemos observar estas dos propiedades en el listado obtenido. Estas pueden ser modificadas de la siguiente forma (sin incluir %):

Set-BrokerDesktopGroup -Name ‘CATALOG NAME’ –OffPeakBufferSizePercent %NUM

Set-BrokerDesktopGroup -Name ‘CATALOG NAME’ –PeakBufferSizePercent %NUM

Adicionalmente, es importante tener en cuenta que hacen los Escritorios, tras la desconexion de los usuarios, o como actuan cada cierto tiempo en des-uso, tal y como vimos anteriormente en http://goo.gl/eiMVO0

Recursos:

XenDesktop eDocs Power Management: http://support.citrix.com/proddocs/topic/xendesktop-rho/cds-control-power-management-rho.html

XenDesktop eDocs SDK cmdlets: http://support.citrix.com/proddocs/topic/xendesktop-7/cds-sdk-cmdlet-help.html

XenDesktop eDocs SDK cmdlets About Brocker PowerManagement: http://support.citrix.com/proddocs/topic/citrix-broker-admin-v2-xd7/about_broker_powermanagement-xd7.html

 CTXDOM.COM Spanish Citrix Community: http://www.ctxdom.com

Al realizar logoff en una maquina virtual de XenDesktop, este, por defecto, reinicia la maquina.

Para modificar los reinicios de escritorio, no es posible utilizar directivas ni opciones especificas desde Citrix Studio. Para ello, tendremos que hacer uso de nuestro querido Power-Shell.

Primero, vamos a consultar como ver el estado del Shutdown de un Desktop Group concreto:

Get-brokerDesktopGroup | fl name,ShutdownDesktopsAfterUse

Name : Desktop_Group_Name

ShutdownDesktopsAfterUse : True

Ello implica, que cada vez que desconectamos de nuestra VM, esta sea reiniciada.

Para evitar este reinicio en proceso de logoff y poder reiniciar las VMs únicamente cuando nosotros queramos, deberemos utilizar PowerShell para modificar dicho parámetro.

Para ello ejecutaremos:

Set-BrockerDesktopGroup –Name “Desktop_Group_Name” –ShutdownDesktopsAfterUse $False

En este post vamos a explicar como desplegar un nuevo dominio de active directory desde PowerShell.

Lo primero de todo, es tener en cuenta una serie de pre-requisitos antes de realizar la instalación.

Lo primero que debemos tener configurado es la directiva de seguridad para la ejecución de scripts de powerShell, el conocido  Execution-Policy.

Ejemplo: Set-ExecutionPolicy remotesigned –force

El comando debe ser ejecutado con un usuarios con derechos de administrador. Una vez establecida la directiva de ejecución, vamos a ver los pre-requisitos.

* Asegurar antes de nada el nombre del servidor.

* Establecer una IP estática para nuestro controlador

* Disponer de un DNS. **

* Disponer de las herramientas de administración.

Estas herramientas son instaladas desde ServerManager o desde el cmdlet de PowerShell Add-WindowsFeature. Vamos a generar un script de PowerShell, basado en los requisitos necesarios,  creado por Sciptingui, para la configuración previa necesaria de nuestro entorno.

#Establecer IP Estatica

# Se definen variables/datos

$ipaddress = «192.168.1.10»
$ipprefix = «24»
$ipgw = «192.168.1.1»
$ipdns1 = «192.168.1.1»

$ipdns2 = «192.168.1.10»
$ipif = (Get-NetAdapter).ifIndex

# Se configura la tarjeta de red.
New-NetIPAddress -IPAddress $ipaddress -PrefixLength $ipprefix -InterfaceIndex $ipif -DefaultGateway $ipgw

Set-DnsClientServerAddress -InterfaceIndex $ipif  -ServerAddresses (“$ipdns1”,”$ipdns2”)

#Establecer nombre de equipo

# Se define variables/datos

$dcname = «dc00»
Rename-Computer -NewName $dcname –force

#Instalación de herramientas

#Se establece fichero log para comprobaciones

$featureLogPath = «c:\tmp\installfeatureLog.txt»
New-Item $featureLogPath -ItemType file -Force

# Definimos variable con la caracteristica que incluye las tools
$addsTools = «RSAT-AD-Tools»

#Se procede a la instalacion de las Tools y se genera Log
Add-WindowsFeature $addsTools
Get-WindowsFeature | Where installed >>$featureLogPath

# Reinicio de máquina

Restart-Computer

Con la ejecución de este Script de PowerShell, dispondremos todo lo necesario en nuestra maquina para la instalación de un nuevo bosque.

1

2

Una vez finalize y reinicie la maquina, podemos comprobar que los cambios han sido aplicados correctamente.

Toca el momento de instalar el Controlador de dominio. Creemos un nuevo script. En este punto es necesario  utilizar el cmdlet Add-WindowsFeature el cual nos permitira instalar roles y caracterísitcas en nuestro Server 2012 (tal como hicimos anteriormente con las RSAT). Adicionalmente, haremos uso del cmdlet Wait-Job, el cual pausara la ejecución hasta que el comando add-windowsfeature haya terminado.

#Instalamos los roles AD DS, DNS y GPMC

# Definimos log
$featureLogPath = «c:\tmp\featurelog.txt»
# Arrancamos los cmdlets desde start-job para poder pausar

start-job -Name addFeature -ScriptBlock {

# Añadimos el rol de controlador de dominio
Add-WindowsFeature -Name «ad-domain-services» -IncludeAllSubFeature -IncludeManagementTools

# Añadirmos el servicio de DNS
Add-WindowsFeature -Name «dns» -IncludeAllSubFeature -IncludeManagementTools

# Añadimos las consolas de gestion
Add-WindowsFeature -Name «gpmc» -IncludeAllSubFeature -IncludeManagementTools }

# Esperamos a su finalización
Wait-Job -Name addFeature
Get-WindowsFeature | Where installed >>$featureLogPath

35

Este script instalará los roles y consolas necesarias pero no realizara la instalación del bosque. Para ello, seguiremos con un nuevo script. Con este, vamos a crear el dominio CTXDOM.COM

# Creación del Bosque y añadir controlador de dominio

$domainname = «ctxdom.local»
$netbiosName = «CTXDOM»
Import-Module ADDSDeployment
Install-ADDSForest -CreateDnsDelegation:$false
-DatabasePath "C:\Windows\NTDS"

-DomainMode «Win2012»
-DomainName $domainname

-DomainNetbiosName $netbiosName
-ForestMode "Win2012"

-InstallDns:$true
-LogPath "C:\Windows\NTDS"

-NoRebootOnCompletion:$false
-SysvolPath "C:\Windows\SYSVOL"

-Force:$true

 Cuando se ejecute, se nos preguntara el password de Administrador, para el SafeMode. 6

Para posteriormente, empezar el proceso de  configuración del dominio.7

Terminará el proceso con un reinicio de la VM: 8

Y veremos que ya podemos logar como administrador del dominio.9

Notas:

* El artículo no es original y esta basado en el artículo de Ed Wilson de Microsoft Scripting Guy.

* Los Scrips han sido probados y testeados en un servidor virtual 2012R2.

Recursos:

* Fuente Original:

http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/03/use-powershell-to-deploy-a-new-active-directory-forest.aspx

* CMDLET for Check FSMO-Roles:

http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-bec6c607

Tan rápido como ejecutar en nuestra consola de power-Shell del servidor:

Add-WindowsFeature “RSAT-AD-Tools”

Una vez finalizado el proceso, ya dispondremos de nuestras consolas para la administración remota de nuestro entorno.

rsat1

 

Concurso Microsoft Drones: Os dejo un interesante concurso de microsoft en el que podéis ganar un ARDrone2.0 estas navidades. http://www.laguerradelosdrones.com/

 

Captura de pantalla 2013-11-28 a la(s) 09.13.37

La característica de “Disk CleanUp” lanza el ejecutable cleanmgr.exe desde el botón “Disk CleanUp” en las propiedades del disco, que nos permite . Pero nos encontramos que este no esta presente en las propiedades del disco a partir de 2008 (2008, 2008R2, 2012 y 2012R2).

Captura de pantalla 2013-11-28 a la(s) 09.12.31

Por diseño, el botón de “Disk CleanUp” es parte de una característica del sistema operativo, llamada “Desktop Experience” dentro de “User Interfaces and Infraestructure”.

Para disponer de dicha característica podemos realizar:

  1. Instalar la caracteristica “Desktop Experience”
  2. Copiar los ficheros necesarios manualmente, para su ejecución manual. Estos son cleanmgr.exe y cleanmgr.exe.mui

Solución.

Podemos solucionar el problema de tres formas, las dos primeras corresponden a la solución 1 indicada anteriormente, la 3, es la forma manual, correpondiente a la solución 2 anterior.

Para instalar Desktop Experience, podemos realizar-lo de dos formas:

  1. Desde el Server Manager – Add Roles and Features
  2. Desde Power-Shell tecleando…

Get-WindowsFeature *Desktop*

: donde obtendremos la lista de caracteristicas que incluyen “Desktop” en su nombre.

Install-WindowsFeature Desktop-Experience

: Instala la característica indicada.

3. Manualmente:

Buscamos los fichero indicados y copiamos los mismos en:

Cleanmgr.exe en %systemroot%\System32

Cleanmgr.exe.mui en %systemroot%\System32\en-US.

Las rutas de los mismos en los diferentes SO:

Windows Server 2008:

▪   %systemroot%\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe

▪   %systemroot%\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui

Windows Server 2008 R2:

▪   %systemroot%\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe

▪   %systemroot%\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui

 Windows Server 2012:

▪   %systemroot%\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe

▪   %systemroot%\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui

 En esta modalidad, solo podremos lanzar cleanmgr.exe desde la linea de comandos.

Vamos a ver como obtener detalles y añadir usuarios sobre aplicaciones publicadas en XenApp desde PowerShell.

Lo primero que debemos realizar es instalar SDK de CITRIX XenApp.

URL: http://community.citrix.com/display/xa/XenApp+6.5+Powershell+SDK

Arrancar «PowerShell With Citrix XenApp»

WPShell1

o arrancar PowerShell y cargar Snap-Ins de Citrix XenApp SDK.

Add-PSSnapin Citrix.XenApp.Commands

Los modulos cargados en el proceso són:

WPShell2

Lanzamos los primeros comandos:

Get-XAApplication

Ello mostrará una lista con todas las aplicaciones y sus detalles.

Si queremos obtener la lista de aplicaciones de una carpeta de publicación determinada, podemos ejecutar:

El campo que nos ocupa en este caso a consultar es:

FolderPath : Applications/Folder1/Folder2/

Para realizar la consulta sobre las aplicaciones de una carpeta, ejecutaremos:

Get-XAApplication –FolderPAth “Applications/Folder1/Folder2”

Con ella, también obtendremos un detalle de todas las apps. Si a esta consulta, queremos obtener únicamente los nombres de las aplicaciones, filtraremos del siguiente modo:

Get-XAApplication –FolderPAth “Applications/Folder1/Folder2” | Format-Table –Autosize –Property BrowserName (o DisplayName)

Obtenida la lista de las aplicaciones que queremos modificar, es el momento de empezar a realizar modificaciones.

Add-XAApplicationAccount Application Domain\User

Ello incluirá el usuario domain\user sobre la aplicación “Application”.

Y si queremos incluir el usuario a todas las aplicaciones de la carpeta?

Hagamos-lo!

foreach($application in Get-XAApplication –FolderPath “Applications/Folder1/Folder2”) {
Add-XAApplicationAccount $application.DisplayName «Domain\test1»
}