Exemplos de Scripts do C# e do PowerShell
Este artigo fornece um resumo dos scripts de exemplo do PowerShell e do C# mencionados nas Diretrizes de Hospedagem. Eles podem ser usados para tarefas de implantação, configuração, migração e provisionamento.
Scripts de Implantação – Hospedagem Compartilhada
-
Esses scripts do PowerShell ajudarão a implantar e configurar o Servidor Web. Observe que esses scripts foram gravados e testados usando o PS 2.0:
runPKGMGT_IIS.PS1: executa a ferramenta de comando "pkgmgt.exe" para instalar o IIS 7.0 com os módulos recomendados para hospedagem compartilhada, confira Instalação da Função de Servidor Web.
- O script usa o arquivo "unattended.xml" como seus dados de configuração de entrada, ele especifica os módulos do IIS a serem instalados.
- Obrigatório: o Unattend.xml exige que o número da versão seja definido como a versão atual do produto do Windows, ou seja, version="6.0.6000.16386". Ele pode ser encontrado clicando com o botão direito do mouse em
C:\Windows\RegEdit.exe
e escolhendo a guia Detalhes. O PkgMgr exige esse parâmetro para que possa instalar corretamente todos os componentes desejados
Install_IISSharedHosting.PS1: executa todos os scripts de configuração de acordo com as diretrizes de Hospedagem Compartilhada, confira Configuração do IIS 7.0 para Hospedagem Compartilhada.
- O script usa o arquivo IISSettings.xml como dados de configuração de entrada. Ele contém as configurações de Compactação Dinâmica e Limite Ocioso
- A configuração de Arquivo Padrão do servidor é controlada pelo Default_File_Config.xml. Ela contém uma lista de todos os arquivos padrão a serem adicionados ou removidos. Crie quantas entradas você desejar. Defina activity="ADD" para adicionar ou "REMOVE" para remover.
Enable32bitModeWorkerProcess.PS1: habilita os processos de trabalho no modo de 32 bits nos computadores de 64 bits.
AppPoolIdentAsAnonymousUser.PS1: define a Identidade do Pool de Aplicativos como Usuário Anônimo.
AddRemoveDefaultDoc.PS1: adiciona ou remove Documentos Padrão de acordo com a especificação do arquivo de entrada Default_Files_Config.XML.
ConfigureDynamicIdleThreshold.PS1: define a propriedade de configuração dynamicIdleThreshold.
ConfigureDynamicCompression.PS1: define as propriedades de Compactação Dinâmica.
HTTPResponseCache.PS1: mostra o Cache de Resposta HTTP.
Em breve: definição de confiança média do ASP.NET.
-
Esses scripts do PowerShell ajudarão a implantar e configurar o Servidor de Arquivos. Observe que esses scripts foram gravados e testados usando o PS 2.0:
InstallFileServer.PS1: executa todos os scripts para instalar e configurar a função FileServer.
- Arquivos: FolderPermissions.xml, SharePermissions.xml DirectoryQuotas_Settings.xml são preenchidos com configurações de exemplo. Cada um deve ser configurado antes da implantação, pois essas configurações variam de acordo com a implantação.
- DirectoryQuotas_Settings.xml: permite definir quantas cotas de pastas forem necessárias.
- FolderPermissions.xml: permite definir quantas pastas forem necessárias, e cada pasta pode ter nenhuma, uma ou muitas permissões.
- SharePermissions.xml: permite definir quantos compartilhamentos forem necessários (será um erro se o novo compartilhamento não corresponder a uma pasta existente). Cada compartilhamento pode ter nenhuma, uma ou muitas permissões.
runPKGMGR_FileServer: executa a ferramenta de comando "pkgmgt.exe" para instalar a função de Servidor de Arquivos. O script usa o arquivo "unattended.xml" como parâmetro de entrada. Ele especifica os módulos a serem instalados.
DirectoryQuota.PS1: define a cota de diretório, confira Cotas de Diretório.
Folder_Shares_Permissions.PS1: define as permissões da pasta de acordo com a especificação no arquivo de entrada "SharePermissions.XML". Confira Permissões de Compartilhamento e NTFS.
Provisionamento e Gerenciamento
O Exemplo de Provisionamento no C# é um conjunto de exemplos do C# para executar várias tarefas comuns de provisionamento. Confira os detalhes no artigo Exemplo de Provisionamento no C#.
O Exemplo de Serviços de Hospedagem é um extenso exemplo de código do C# para provisionamento de sites, contas de usuário, banco de dados SQL e outros. Confira os detalhes no artigo Exemplo de Código dos Serviços de Hospedagem.
Os Exemplos de Código e Scripts fornecem trechos de código de exemplo para criar Sites e Tarefas de Configuração do IIS 7.0.
[Scripts do PowerShell para Provisionamento de Sites do IIS] https://www.iis.net/community/files/hosting/ProvisioningScripts ( 4-7-2008.zip "Scripts do PowerShell dos Sites do IIS"). Estes são seis Scripts do PowerShell para ajudar você a automatizar o provisionamento de AppPools, Sites, Aplicativos, Diretórios Virtuais e Associações. Eles usam as interfaces de namespace de código gerenciado Microsoft.Web.Administration para provisionar esses objetos. Veja abaixo um exemplo de cada um deles:
4.1. Para criar qualquer número de AppPools, Sites, Aplicativos, Diretórios Virtuais e Associações organizados de acordo com um arquivo de dados de configuração, use Sample_AppPool_Site_AppCreation. Esse script chama todos os outros para criar cada objeto de acordo com os dados de configuração encontrados no arquivo XML ProvisioningConfig.xml.
Exemplo:
Sample_AppPool_Site_AppCreation
Exemplo de um arquivo XML 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 criar AppPools, use CreateIISAppPool PoolName, nome de usuário, senha. Se você não fornecer o nome de usuário e a senha, ele usará o usuário atual.
Exemplo:
CreateIISAppPool "DemoAppPool1" "" ""
4.3. Para criar um Site, use CreateIISSite, SiteName, PhysicalPath, PoolName, ID.
Exemplo:
CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
4.4. Para criar um Aplicativo em um site, use CreateIISApplicationOntoSite, PhysicalPath, RelativePath, SiteName, PoolName.
Exemplo:
CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
4.5. Para criar um Diretório Virtual para um aplicativo, use CreateIISVDirOntoApplication ApplicationPhysicalPath, PhysicalPath, SiteName, RelativePath.
Exemplo:
CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
4.6. Para criar uma Associação para um Site, use CreateIISBindingOntoSite SiteName Port BindingInfo Protocol.
Exemplo:
CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"