Directivas de equilibrio de carga
Las directivas de equilibrio de carga las obtenemos con el comando
1 |
Get-XALoadBalancingPolicy |
En esta ocasión tenemos que tener en cuenta que tenemos por un lado el filtro que se aplica en la directiva y por otro lado la configuración que se aplica a la directiva.
En los filtros, tenemos 4 tipos de filtros:
- Access Control
- Dirección IP del cliente
- Nombre del equipo cliente
- Usuarios
Y en la configuración se encuentra:
- Grupo de servidores y prioridad
- Opciones de streaming de aplicaciones
Las propias directivas tendrán una prioridad por lo que también tenemos que reflejarla.
Los filtros y la configuración los obtendremos con los comandos:
1 2 3 |
Get-XALoadBalancingPolicyFilter Get-XALoadBalancingPolicyConfiguration |
Teniendo en cuenta estos aspectos el script nos queda de la siguiente forma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
$Directivas = Get-XALoadBalancingPolicy | Sort-Object Priority If ($Directivas) { $DirectivasEquilibrioContenido = @() Foreach ($Directiva in $Directivas) { $Direc = "" | select-Object Nombre, Descripcion, Habilitado, Prioridad, FiltroAC, FiltroIP, FiltroNombre, FiltroUsuario, Preferencia $DirectivaConfiguracion = Get-XALoadBalancingPolicyConfiguration -PolicyName $Directiva.PolicyName -Computername $Servidor_DC $DirectivaFiltro = Get-XALoadBalancingPolicyFilter -PolicyName $Directiva.PolicyName -Computername $Servidor_DC $Direc.Nombre = $Directiva.PolicyName $Direc.Descripcion = $Directiva.Description $Direc.Habilitado = $Directiva.Enabled $Direc.Prioridad = $Directiva.Priority #Filtro AC If($DirectivaFiltro.AccessControlEnabled) { If($DirectivaFiltro.AllowConnectionsThroughAccessGateway) { If($DirectivaFiltro.AllowOtherConnections) { $Direc.FiltroAC = "Aplicar a todas las demás conexiones" } Else { $Direc.FiltroAC = "Filtro:\n" If($DirectivaFiltro.AccessSessionConditions) { ForEach($AccessSessionCondition in $DirectivaFiltro.AccessSessionConditions) { $FiltroAC += "\t" + $AccessSessionCondition + "\n" } } } } } Else { $Direc.FiltroAC = "No hay Filtro AC\n" } #Filtro Direccion IP If($DirectivaFiltro.ClientIPAddressEnabled) { If($DirectivaFiltro.ApplyToAllClientIPAddresses) { $Direc.FiltroIP = "Aplicar a todas las IPs" } Else { If($DirectivaFiltro.AllowedIPAddresses) { $Direc.FiltroIP = "IPs Permitidas\n" ForEach($AllowedIPAddress in $DirectivaFiltro.AllowedIPAddresses) { $Direc.FiltroIP += "\t" + $AllowedIPAddress + "\n" } } If($DirectivaFiltro.DeniedIPAddresses) { $Direc.FiltroIP += "IPs Ignoradas\n" ForEach($DeniedIPAddress in $DirectivaFiltro.DeniedIPAddresses) { $Direc.FiltroIP += "\t" + $DeniedIPAddress + "\n" } } } } Else { $Direc.FiltroIP = "No hay Filtro de IP\n" } #Filtro de Nombre del cliente If($DirectivaFiltro.ClientNameEnabled) { If($DirectivaFiltro.ApplyToAllClientNames) { $Direc.FiltroNombre = "Aplicar a todos los clientes\n" } Else { If($DirectivaFiltro.AllowedClientNames) { $Direc.FiltroNombre += "Clientes permitidos:\n" ForEach($AllowedClientName in $DirectivaFiltro.AllowedClientNames) { $Direc.FiltroNombre += "<li>" + $AllowedClientName + "</li>" } } If($DirectivaFiltro.DeniedClientNames) { $Direc.FiltroNombre += "Clientes no permitidos:\n" ForEach($DeniedClientName in $DirectivaFiltro.DeniedClientNames) { $Direc.FiltroNombre += "\t" + $DeniedClientName + "\n" } } } } Else { $Direc.FiltroNombre = "No hay Filtro de Nombre del cliente\n" } #Filtro de Usuarios If($DirectivaFiltro.AccountEnabled) { If($DirectivaFiltro.ApplyToAnonymousAccounts) { $Direc.FiltroUsuario = "Usuarios Anonimos permitidos\n" } If($DirectivaFiltro.ApplyToAllExplicitAccounts) { $Direc.FiltroUsuario = "Aplicar a los siguientes usuarios:" + $DirectivaFiltro.ApplyToAllExplicitAccounts + "\n" } Else { If($DirectivaFiltro.AllowedAccounts) { $Direc.FiltroUsuario += "Usuarios Permitidos:\n" ForEach($AllowedAccount in $DirectivaFiltro.AllowedAccounts) { $Direc.FiltroUsuario += "\t" + $AllowedAccount + "\n" } } If($DirectivaFiltro.DeniedAccounts) { $Direc.FiltroUsuario += "Usuarios denegados:\n" ForEach($DeniedAccount in $DirectivaFiltro.DeniedAccounts) { $Direc.FiltroUsuario += "\t" + $DeniedAccount + "\n" } } } } Else { $Direc.FiltroUsuario = "\tNo hay Filtro de Usuarios\n" } #Configuracion de Prioridades de servidores If($DirectivaConfiguracion.WorkerGroupPreferenceAndFailoverState) { If($DirectivaConfiguracion.WorkerGroupPreferences) { ForEach($WorkerGroupPreference in $DirectivaConfiguracion.WorkerGroupPreferences) { $Direc.Preferencia += "$WorkerGroupPreference\n" } } } #Añadimos la directiva al array $DirectivasEquilibrioContenido += $Direc } } |
En el documento generado obtenemos la siguiente salida:
Documentar granja Citrix XenApp 6.5 con Powershell
- Introducción
- Información de la granja
- Administradores
- Aplicaciones
- Directivas de Equilibrio de Carga
- Directivas
- Grupos de Servidores
- Patrones de Carga
- Servidores
- Zonas
- Ejemplo completo y y descarga
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
4 comentarios
Pingback: Documentar granja Citrix XenApp 6.5 con Powershell: Introduccion | El Blog de Negu
Pingback: Documentar granja Citrix XenApp 6.5 con Powershell: Información de la granja | El Blog de Negu
Pingback: Documentar granja Citrix XenApp 6.5 con Powershell: Introduccion
Pingback: Documentar granja Citrix XenApp 6.5 con Powershell: Grupos de servidores