Ejemplo: Script RemoveCacheHost
En esta sección se proporciona un script de ejemplo de Windows PowerShell, RemoveCacheHost.ps1. Este script quita automáticamente un host de caché de un clúster de caché. Para ver una explicación de los comandos que se usan en este script, consulte Instalación y configuración automatizadas. El script de ejemplo RemoveCacheHost realiza las acciones siguientes:
Trata de detener el host de caché para prepararse para quitarlo.
Anula el registro del host de caché del clúster de caché.
Quita la configuración del servicio de almacenamiento en caché.
Quita la configuración de la característica Administración de caché.
Deshabilita la directiva de firewall de Windows integrada de Almacenamiento en caché de AppFabric.
Ejemplo: Script RemoveCacheHost
Para usar el script RemoveCacheHost, primero debe copiar el contenido del siguiente script de Windows PowerShell a un archivo de texto y guardarlo como RemoveCacheHost.ps1. A continuación, revise la información que sigue al script para comprender el modo de personalizar y ejecutar el script.
param([switch]$RemoveCacheCluster, [string]$Pvd, [string]$ConnStr)
##########################
# Customizable Variables #
##########################
$provider = "System.Data.SqlClient"
#$provider = "XML"
$host_name = $env:COMPUTERNAME
$cache_port = 22233
# If System.Data.SqlClient:
$database_name = "CacheClusterConfigurationDB"
$database_server = "SQLServer1"
# If XML Provider:
$share_location = "\\Server1\CacheConfigShare"
##############
# Initialize #
##############
Import-Module DistributedCacheAdministration
Import-Module DistributedCacheConfiguration
$connection_string = ""
if ($provider -eq "System.Data.SqlClient")
{
$connection_string = "Data Source=" + $database_server + `
";Initial Catalog=" + $database_name + `
";Integrated Security=True"
}
if ($provider -eq "XML")
{
$connection_string = $share_location
}
# If provided, command-line parameters override
# internal script variables:
if ($Pvd)
{
$provider = $Pvd
}
if ($ConnStr)
{
$connection_string = $ConnStr
}
#####################
# Remove Cache Host #
#####################
Write-Host "`nUse-CacheCluster -Provider $provider -ConnectionString"`
"`"$connection_string`"" -ForegroundColor Green
Use-CacheCluster -Provider $provider -ConnectionString $connection_string
#Make sure the cache host is stopped
$Get_CacheHost_Command = Get-CacheHost -HostName $host_name -CachePort $cache_port
if ($Get_CacheHost_Command.Status -eq "Up")
{
Write-Host "`nStop-CacheHost -HostName $host_name -CachePort $cache_port" -ForegroundColor Green
Stop-CacheHost -HostName $host_name -CachePort $cache_port
}
$Get_CacheHost_Command = Get-CacheHost -HostName $host_name -CachePort $cache_port
if ($Get_CacheHost_Command.Status -eq "Down")
{
Write-Host "`nUnregister-CacheHost -Provider $provider -ConnectionString `"$connection_string`" " `
"-HostName $host_name -RemoveServicePermissions" -ForegroundColor Green
Unregister-CacheHost -Provider $provider -ConnectionString $connection_string `
-HostName $host_name -RemoveServicePermissions
Write-Host "`nRemove-CacheHost" -ForegroundColor Green
Remove-CacheHost
Write-Host "`nRemove-CacheAdmin" -ForegroundColor Green
Remove-CacheAdmin
########################
# Remove Cache Cluster #
########################
# Look for a parameter that specifies this is a new cache cluster
if ($RemoveCacheCluster)
{
Write-Host "`nRemove_CacheCluster -Provider $provider -ConnectionString "`
"`"$connection_string`" -Force" -ForegroundColor Green
Remove-CacheCluster -Provider $provider -ConnectionString $connection_string -Force
}
##########################
# Configure the Firewall #
##########################
Write-Host "`nConfigure the firewall..." -ForegroundColor Green
netsh advfirewall firewall set rule `
group="Windows Server AppFabric: AppFabric Caching Service" new enable=No | Out-Null
# Uncomment the following lines only if other services do not need Remote Service Management.
#netsh advfirewall firewall set rule `
# name=\"Remote Service Management (RPC)\" profile=domain new enable=No | Out-Null
#netsh advfirewall firewall set rule `
# name=\"Remote Service Management (RPC-EPMAP)\" profile=domain new enable=No | Out-Null
#netsh advfirewall firewall set rule `
# name=\"Remote Service Management (NP-In)\" profile=domain new enable=No | Out-Null
}
else
{
Write-Host "`nUnable to stop the host $host_name (Port:$cache_port)`n`n" -ForegroundColor Red
}
Personalización del script RemoveCacheHost
Para personalizar este script para su uso, tiene dos opciones. En primer lugar, puede cambiar los valores para las variables en la sección "Customizable Variables" del script. Por ejemplo, si usa el proveedor de XML, establezca la variable $provider
en "XML"
y establezca $share_location
en el recurso compartido de red que debe usarse para el almacén de configuración. Personalice las demás variables en función de su configuración específica. Tenga en cuenta que las variables $database_name
y $database_server
únicamente son necesarias si usa el proveedor System.Data.SqlClient. La variable $share_location
únicamente es necesaria si especifica el proveedor de XML.
Otra opción es usar los parámetros de script Pvd
y ConnStr
para especificar manualmente el proveedor y la cadena de conexión desde la línea de comandos. Estos parámetros sustituyen a la configuración de la variable interna.
Ejecución del script RemoveCacheHost
El siguiente comando quita el servidor local del clúster de caché.
RemoveCacheHost
El siguiente comando quita el servidor local del clúster de caché y quita asimismo el clúster de caché. Esta acción puede realizarse cuando se quita el último host de caché de un clúster de caché.
RemoveCacheHost -RemoveCacheCluster
En el siguiente ejemplo se muestra cómo especificar manualmente el proveedor y la cadena de conexión desde la línea de comandos.
RemoveCacheHost.ps1 -Pvd System.Data.SqlClient -ConnStr "DataSource=SQLServer1;Initial Catalog=CustomConfigDB;Integrated Security=True"
Tenga en cuenta que, en ocasiones, el script no podrá detener el host de caché especificado. En estos casos, deberá detener el clúster de caché con el comando Stop-CacheCluster
antes de quitar el host de caché con el script.
Vea también
Conceptos
Instalación y configuración automatizadas
2012-03-05