Compartir a través de


Ejemplos de scripts de C# y PowerShell

En este artículo se proporciona un resumen de los scripts de ejemplo de PowerShell y C# mencionados en la Guía de hospedaje. Se pueden usar para las tareas de implementación, configuración, migración y aprovisionamiento.

por Walter Oliver

Scripts de implementación: hospedaje compartido

  1. Servidor web

    Estos scripts de PowerShell ayudarán a implementar y configurar el servidor web. Tenga en cuenta que estos scripts se escribieron y probaron con PS 2.0:

    • runPKGMGT_IIS.PS1: ejecuta la herramienta de comandos "pkgmgt.exe" para instalar IIS 7.0 con los módulos recomendados para el hospedaje compartido, consulte Instalación del rol de servidor web.

      • El script usa el archivo "unattended.xml" como datos de configuración de entrada, especifica los módulos IIS que se van a instalar.
      • Obligatorio: Unattend.xml requiere que el número de versión se establezca en la versión actual del producto de Windows, es decir, version="6.0.6000.16386". Para encontrarlo, haga clic con el botón derecho en C:\Windows\RegEdit.exe y elija la pestaña de detalles. PkgMgr requiere este parámetro para que se puedan instalar correctamente todos los componentes deseados
    • Install_IISSharedHosting.PS1: ejecuta todos los scripts de configuración de acuerdo con las directrices de hospedaje compartido, consulte Configuración de IIS 7.0 para hospedaje compartido.

      • El script usa el archivo IISSettings.xml como datos de configuración de entrada. Contiene la configuración de compresión dinámica y el umbral de inactividad
      • La configuración Archivo predeterminado del servidor se controla a través de Default_File_Config.xml. Contiene una lista de todos los archivos predeterminados que se van a agregar o quitar. Cree tantas entradas como quiera. Establezca activity="ADD" para agregar o "REMOVE" para quitar.
    • Enable32bitModeWorkerProcess.PS1: habilita los procesos de trabajo en modo de 32 bits en máquinas de 64 bits.

    • AppPoolIdentAsAnonymousUser.PS1: establece la identidad del grupo de aplicaciones como usuario anónimo.

    • AddRemoveDefaultDoc.PS1: agrega o quita documentos predeterminados en función de la especificación del archivo de entrada de Default_Files_Config.XML.

    • ConfigureDynamicIdleThreshold.PS1: establece la propiedad de configuración dynamicIdleThreshold.

    • ConfigureDynamicCompression.PS1: establece las propiedades de compresión dinámica.

    • HTTPResponseCache.PS1: muestra la caché de respuesta HTTP.

    • Próximamente: Establecer confianza media de ASP.NET.

  2. Servidor de archivos

    Estos scripts de PowerShell ayudarán a implementar y configurar el servidor de archivos. Tenga en cuenta que estos scripts se escribieron y probaron con PS 2.0:

    • InstallFileServer.PS1: ejecuta todos los scripts para instalar y configurar el rol FileServer.

      • Archivos: FolderPermissions.xml, SharePermissions.xml y DirectoryQuotas_Settings.xml se rellenan con la configuración de ejemplo. cada uno debe configurarse antes de la implementación, ya que esta configuración variará según cada implementación.
      • DirectoryQuotas_Settings.xml: permite definir tantas cuotas de carpetas como sea necesario.
      • FolderPermissions.xml: permite definir tantas carpetas como sea necesario y cada carpeta puede tener 0, 1 o muchos permisos.
      • SharePermissions.xml: permite definir tantos recursos compartidos como sea necesario (se producirá un error si el nuevo recurso compartido no se corresponde con una carpeta existente). Cada recurso compartido puede tener 0, 1 o muchos permisos.
    • runPKGMGR_FileServer: ejecuta la herramienta de comandos "pkgmgt.exe" para instalar el rol servidor de archivos. El script usa el archivo "unattended.xml" como parámetro de entrada, especifica los módulos que se van a instalar.

    • DirectoryQuota.PS1: establece la cuota de directorios, consulte Cuotas de directorio.

    • Folder_Shares_Permissions.PS1: establece los permisos de carpeta de acuerdo con la especificación del archivo de entrada "SharePermissions.XML". Consulte Uso compartido y permisos NTFS.

Aprovisionamiento y administración

  1. Ejemplo de aprovisionamiento en C# es un conjunto de ejemplos de C# para realizar varias tareas de aprovisionamiento comunes. Vea los detalles del artículo Ejemplo de aprovisionamiento en C#.

  2. Ejemplo de servicios de hospedaje es un amplio ejemplo de código de C# para aprovisionar sitios, cuentas de usuario, base de datos SQL y demás. Consulte los detalles en el artículo Ejemplo de código de servicios de hospedaje.

  3. Ejemplos de código y scripts proporcionan fragmentos de código de ejemplo para crear tareas de configuración y sitios de IIS 7.0.

  4. [Scripts de PowerShell de aprovisionamiento de sitios IIS] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "Scripts de PowerShell de sitios IIS"). Estos son 6 scripts de PowerShell para ayudarle a automatizar el aprovisionamiento de AppPools, Sitios, Aplicaciones, Directorios virtuales y enlaces. Usan interfaces de espacio de nombres de código administrado de Microsoft.Web.Administration para aprovisionar estos objetos. Este es un ejemplo de cada una de ellas:

    4.1. Para crear cualquier número de AppPools, sitios, aplicaciones, directorios virtuales y enlaces organizados de acuerdo con un archivo de datos de configuración, use Sample_AppPool_Site_AppCreation. Este script llama a todos los demás para crear cada objeto de acuerdo con los datos de configuración que se encuentran en el archivo XML de ProvisioningConfig.xml.

    Ejemplo:

    Sample_AppPool_Site_AppCreation
    

    Ejemplo de un archivo XML de ProvisioningConfig.xml:

    <Script>
    <ApplicationPool>
    <Site Name="DAP1Site2" PhysicalPath="C:\Content\DAP1Site2">
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App1" RelativePath="/App1">
    <VirtualDirectory PhysicalPath="C:\Content\Logs" RelativePath="/App1/VDir"/>
    </Application>
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App2" RelativePath="/App2">
    </Application>
    
    <Binding Port="80" BindingInfo="www.DAP1Site2.com" Protocol="http"/>
    
    <Folder name="C:\Content\DAP1Site2" quota="50mb"> 
    <Permission>
    <User>Administrators</User>
    <Capability>F</Capability>
    </Permission>
    </Folder>
    
    </Site>
    </ApplicationPool>
    </Script>
    

    4.2. Para crear AppPools, use la contraseña de nombre de usuario CreateIISAppPool PoolName. Si no proporciona el nombre de usuario y la contraseña, usará el usuario actual.

    Ejemplo:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. Para crear un sitio, use CreateIISSite SiteName PhysicalPath PoolName ID.

    Ejemplo:

    CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
    

    4.4. Para crear una aplicación en un sitio, use CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName.

    Ejemplo:

    CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
    

    4.5. Para crear un directorio virtual para una aplicación, use CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath.

    Ejemplo:

    CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
    

    4.6. Para crear un enlace para un sitio, use CreateIISBindingOntoSite SiteName Port BindingInfo Protocol.

    Ejemplo:

    CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"