Esempi di script C# e PowerShell

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

di Walter Oliver

Script di distribuzione -Shared hosting

  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 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". È possibile trovare questa opzione facendo clic con il pulsante destro del mouse C:\Windows\RegEdit.exe e scegliendo 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 predefinito 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" per 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 la cache di risposta HTTP.

    • Presto disponibile: impostazione ASP.NET attendibilità media.

  2. File Server

    Questi script di PowerShell consentiranno 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. ognuna deve essere configurata in fase di pre-distribuzione perché queste impostazioni variano in base a una distribuzione.
      • DirectoryQuotas_Settings.xml: consente di definire quante quote di cartelle sono 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 tante condivisioni quante necessario (verrà generato un errore 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 della 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". Consultare Condivisione e autorizzazioni NTFS.

Approvvigionamento 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 iis 7.0.

  4. Script di PowerShell per il provisioning di siti IIS. Sono disponibili 6 script PowerShell per aiutarti a automatizzare il provisioning di AppPools, Siti, Applicazioni, Directory virtuali e Binding. Usano le interfacce dello spazio dei nomi del codice gestito Microsoft.Web.Administration per configurare questi oggetti. Di seguito è riportato 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 tutte le altre per creare ogni oggetto in base ai dati di configurazione presenti 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 del 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"