Freigeben über


Beispiele für C#- und PowerShell-Skripts

Dieser Artikel enthält eine Zusammenfassung der PowerShell- und C#-Beispielskripts, die im gesamten Hostingleitfaden erwähnt werden. Sie können für Bereitstellungs-, Konfigurations-, Migrations- und Bereitstellungsaufgaben verwendet werden.

von Walter Oliver

Bereitstellungsskripts -Shared Hosting

  1. Webserver

    Diese PowerShell-Skripts helfen beim Bereitstellen und Konfigurieren des Webservers. Beachten Sie, dass diese Skripts mit PS 2.0 geschrieben und getestet wurden:

    • runPKGMGT_IIS.PS1: Führt das Befehlstool "pkgmgt.exe" aus, um IIS 7.0 mit den empfohlenen Modulen für gemeinsames Hosting zu installieren, siehe Installieren der Webserverrolle.

      • Das Skript verwendet die Datei "unattended.xml" als Eingabekonfigurationsdaten, es gibt die zu installierenden IIS-Module an.
      • Erforderlich: Unattend.xml erfordert, dass die Versionsnummer auf die aktuelle Produktversion von Windows festgelegt wird, d. h. version="6.0.6000.16386". Dies finden Sie, indem Sie mit der rechten Maustaste klicken C:\Windows\RegEdit.exe und die Registerkarte "Details" auswählen. PkgMgr erfordert diesen Parameter, damit alle gewünschten Komponenten ordnungsgemäß installiert werden können.
    • Install_IISSharedHosting.PS1: Führt alle Konfigurationsskripts gemäß den Richtlinien für gemeinsames Hosting aus, siehe Konfigurieren von IIS 7.0 für gemeinsames Hosting.

      • Das Skript verwendet die IISSettings.xml Datei als Eingabekonfigurationsdaten. Es enthält Einstellungen für die dynamische Komprimierung und den Leerlaufschwellenwert.
      • Die Standarddateieinstellung für den Server wird über Default_File_Config.xml gesteuert. Sie enthält eine Liste aller Standarddatei, die hinzugefügt oder entfernt werden soll. Erstellen Sie beliebig viele Einträge. Legen Sie "activity="ADD" fest, um hinzuzufügen, oder "REMOVE", um zu entfernen.
    • Enable32bitModeWorkerProcess.PS1: Ermöglicht die Arbeitsprozesse im 32-Bit-Modus auf 64-Bit-Computern .

    • AppPoolIdentAsAnonymousUser.PS1: Legt die Anwendungspool-Identität als Anonymer Benutzer fest.

    • AddRemoveDefaultDoc.PS1: Fügt Standarddokumente basierend auf der Default_Files_Config.XML Eingabedateispezifikation hinzu oder entfernt sie.

    • ConfigureDynamicIdleThreshold.PS1: legt "dynamicIdleThreshold "-Konfigurationseigenschaft fest.

    • ConfigureDynamicCompression.PS1: Legt die Eigenschaften der dynamischen Komprimierung fest.

    • HTTPResponseCache.PS1: Zeigt den HTTP-Antwortcache an.

    • In Kürze verfügbar: Festlegen der ASP.NET mittleren Vertrauensstufe.

  2. Dateiserver

    Diese PowerShell-Skripts helfen beim Bereitstellen und Konfigurieren des Dateiservers. Beachten Sie, dass diese Skripts mit PS 2.0 geschrieben und getestet wurden:

    • InstallFileServer.PS1: Führt alle Skripts aus, um die FileServer-Rolle zu installieren und zu konfigurieren.

      • Dateien: FolderPermissions.xml, SharePermissions.xml, DirectoryQuotas_Settings.xml werden mit Beispieleinstellungen aufgefüllt. jede sollte vor der Bereitstellung konfiguriert werden, da diese Einstellungen je nach Bereitstellung variieren.
      • DirectoryQuotas_Settings.xml: Ermöglicht Es Ihnen, beliebig viele Ordnerkontingente zu definieren.
      • FolderPermissions.xml: Ermöglicht es Ihnen, beliebig viele Ordner zu definieren, und jeder Ordner verfügt möglicherweise über 0, 1 oder viele Berechtigungen.
      • SharePermissions.xml: Ermöglicht es Ihnen, so viele Freigaben wie nötig zu definieren (tritt ein Fehler auf, wenn die neue Freigabe nicht einem vorhandenen Ordner entspricht). Jede Aktie kann 0, 1 oder viele Berechtigungen haben.
    • runPKGMGR_FileServer: führt das Befehlstool "pkgmgt.exe" aus, um die Dateiserverrolle zu installieren. Das Skript verwendet die Datei "unattended.xml" als Eingabeparameter, es gibt die zu installierenden Module an.

    • DirectoryQuota.PS1: Legt das Verzeichniskontingent fest, siehe Verzeichniskontingente.

    • Folder_Shares_Permissions.PS1: Legt die Ordnerberechtigungen gemäß der Spezifikation in der Eingabedatei "SharePermissions.XML" fest. Siehe Freigabe- und NTFS-Berechtigungen.

Bereitstellung und Verwaltung

  1. Das Bereitstellungsbeispiel in C# ist eine Reihe von C#-Beispielen, um mehrere allgemeine Bereitstellungsaufgaben auszuführen. Weitere Informationen finden Sie im Artikel zur Bereitstellung im C# -Artikel.

  2. Das Beispiel für Hostingdienste ist ein umfangreiches C#-Codebeispiel für die Bereitstellung von Websites, Benutzerkonten, SQL DB und anderen. Weitere Informationen finden Sie im Codebeispiel zu Hostingdiensten .

  3. Codebeispiele und Skripts stellen Beispielcodeausschnitte zum Erstellen von IIS 7.0-Websites und -Konfigurationsaufgaben bereit.

  4. , die PowerShell-Skripts bereitstellen. Dies sind 6 PowerShell-Skripts, mit denen Sie die Bereitstellung von AppPools, Websites, Anwendungen, virtuellen Verzeichnissen und Bindungen automatisieren können. Sie verwenden die Namespaceschnittstellen für verwalteten Code von Microsoft.Web.Administration, um diese Objekte bereitzustellen. Hier ist ein Beispiel für jede dieser Beispiele:

    4.1. Verwenden Sie Sample_AppPool_Site_AppCreation, um eine beliebige Anzahl von AppPools, Websites, Anwendungen, virtuellen Verzeichnissen und Bindungen zu erstellen, die gemäß einer Konfigurationsdatendatei angeordnet sind. Dieses Skript ruft alle anderen Objekte auf, um jedes Objekt gemäß den Konfigurationsdaten in der XML-Datei ProvisioningConfig.xml zu erstellen.

    Beispiel:

    Sample_AppPool_Site_AppCreation
    

    Beispiel für eine ProvisioningConfig.xml XML-Datei:

    <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. Verwenden Sie zum Erstellen von AppPools das Benutzernamenkennwort "CreateIISAppPool PoolName". Wenn Sie keinen Benutzernamen und kein Kennwort angeben, wird der aktuelle Benutzer verwendet.

    Beispiel:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. Verwenden Sie zum Erstellen einer Website createIISSite SiteName PhysicalPath PoolName ID.

    Beispiel:

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

    4.4. Verwenden Sie zum Erstellen einer Anwendung auf einer Website CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName.

    Beispiel:

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

    4.5. Zum Erstellen eines virtuellen Verzeichnisses für eine Anwendung verwenden Sie CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath.

    Beispiel:

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

    4.6. Verwenden Sie zum Erstellen einer Bindung für eine Website createIISBindingOntoSite SiteName Port BindingInfo Protocol.

    Beispiel:

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