Condividi tramite


Esempi di script C# e PowerShell

Questo articolo fornisce un riepilogo degli script di esempio di PowerShell e C# indicati in Linee guida per l'hosting. Possono essere usati per le attività di distribuzione, configurazione, migrazione e provisioning.

di Walter Oliver

Script di distribuzione - Hosting condiviso

  1. Web Server

    Questi script di PowerShell consentono di distribuire e configurare il server Web. Si noti che questi script sono stati scritti e testati con PS 2.0:

    • runPKGMGT_IIS.PS1: esegue lo strumento di comando "pkgmgt.exe" per installare IIS 7.0 con i moduli consigliati per l'hosting condiviso, vedere Installazione del ruolo del server Web.

      • Lo script usa il file "unattended.xml" come dati di configurazione di input, specifica i moduli IIS da installare.
      • Obbligatorio: Unattend.xml richiede che il numero di versione sia impostato sulla versione corrente del prodotto di Windows, ad esempio version="6.0.6000.16386". A tale scopo, fare clic con il pulsante destro del mouse C:\Windows\RegEdit.exe e scegliere la scheda dei dettagli. PkgMgr richiede questo parametro in modo che possa installare correttamente tutti i componenti desiderati
    • Install_IISSharedHosting.PS1: esegue tutti gli script di configurazione in conformità alle linee guida per l'hosting condiviso, vedere Configurazione di IIS 7.0 per l'hosting condiviso.

      • Lo script usa il file IISSettings.xml come dati di configurazione di input. Contiene le impostazioni per la compressione dinamica e la soglia di inattività
      • L'impostazione File predefinita per il server viene controllata tramite Default_File_Config.xml. Contiene un elenco di tutti i file predefiniti da aggiungere o rimuovere. Creare tutte le voci desiderate. Impostare activity="ADD" per aggiungere o "REMOVE" da rimuovere.
    • Enable32bitModeWorkerProcess.PS1: abilita i processi di lavoro in modalità a 32 bit in computer a 64 bit.

    • AppPoolIdentAsAnonymousUser.PS1: imposta l'identità del pool di applicazioni come utente anonimo.

    • AddRemoveDefaultDoc.PS1: aggiunge o rimuove documenti predefiniti in base alla specifica del file di input Default_Files_Config.XML.

    • ConfigureDynamicIdleThreshold.PS1: imposta la proprietà di configurazione dynamicIdleThreshold .

    • ConfigureDynamicCompression.PS1: imposta le proprietà di compressione dinamica .

    • HTTPResponseCache.PS1: mostra http Response Cache.

    • Presto disponibile: impostazione di ASP.NET trust medio.

  2. File Server

    Questi script di PowerShell consentono di distribuire e configurare il file server. Si noti che questi script sono stati scritti e testati con PS 2.0:

    • InstallFileServer.PS1: esegue tutti gli script per installare e configurare il ruolo FileServer.

      • File: FolderPermissions.xml, SharePermissions.xml, DirectoryQuotas_Settings.xml vengono popolati con le impostazioni di esempio. ognuno deve essere configurato in fase di pre-distribuzione perché queste impostazioni variano in base a una distribuzione.
      • DirectoryQuotas_Settings.xml: consente di definire tutte le quote di cartelle necessarie.
      • FolderPermissions.xml: consente di definire il numero di cartelle necessario e ogni cartella può avere 0, 1 o molte autorizzazioni.
      • SharePermissions.xml: consente di definire il numero di condivisioni necessarie (se la nuova condivisione non corrisponde a una cartella esistente). Ogni condivisione può avere 0, 1 o molte autorizzazioni.
    • runPKGMGR_FileServer: esegue lo strumento di comando "pkgmgt.exe" per installare il ruolo File Server. Lo script usa il file "unattended.xml" come parametro di input, specifica i moduli da installare.

    • DirectoryQuota.PS1: imposta la quota di directory, vedere Quote di directory.

    • Folder_Shares_Permissions.PS1: imposta le autorizzazioni per le cartelle in base alla specifica nel file di input "SharePermissions.XML". Vedere Condivisione e autorizzazioni NTFS.

Provisioning e gestione

  1. L'esempio di provisioning in C# è un set di esempi C# per eseguire diverse attività di provisioning comuni. Vedere i dettagli nell'articolo Esempio di provisioning in C# .

  2. Esempio di servizi di hosting è un esempio di codice C# completo per il provisioning di siti, account utente, database SQL e altri. Vedere i dettagli nell'articolo Esempio di codice di Servizi di hosting .

  3. Esempi di codice e script fornisce frammenti di codice di esempio per la creazione di siti e attività di configurazione di IIS 7.0.

  4. [Script di PowerShell per il provisioning di siti IIS] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "Iis Sites PowerShell Scripts"). Si tratta di 6 script di PowerShell che consentono di automatizzare il provisioning di AppPools, Siti, Applicazioni, Directory virtuali e Associazioni. Usano le interfacce dello spazio dei nomi del codice gestito Microsoft.Web.Administration per effettuare il provisioning di questi oggetti. Ecco un esempio per ognuno di essi:

    4.1. Per creare un numero qualsiasi di pool di app, siti, applicazioni, directory virtuali e associazioni disposti in base a un file di dati di configurazione , usare Sample_AppPool_Site_AppCreation. Questo script chiama tutti gli altri per creare ogni oggetto in base ai dati di configurazione trovati nel file XML ProvisioningConfig.xml.

    Esempio:

    Sample_AppPool_Site_AppCreation
    

    Esempio di file 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. Per creare AppPools , usare la password nome utente CreateIISAppPool PoolName. Se non si specificano nome utente e password, verrà usato l'utente corrente.

    Esempio:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. Per creare un sito , usare CreateIISSite SiteName PhysicalPath PoolName ID.

    Esempio:

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

    4.4. Per creare un'applicazione in un sito, usare CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName.

    Esempio:

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

    4.5. Per creare una directory virtuale per un'applicazione, usare CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath.

    Esempio:

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

    4.6. Per creare un'associazione per un sito , usare createIISBindingOntoSite SiteName Port BindingInfo Protocol.

    Esempio:

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