C#- und PowerShell-Beispielskripts

In diesem Artikel erhalten Sie eine Zusammenfassung der PowerShell- und C#-Beispielskripts, die in der Hostinganleitung erwähnt werden. Sie können für Bereitstellungs-, Konfigurations-, Migrations- und Bereitstellungsaufgaben verwendet werden.

von Walter Oliver

Bereitstellungsskripts – Freigegebenes Hosting

  1. Webserver

    Diese PowerShell-Skripts helfen bei der Bereitstellung und Konfiguration 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 freigegebenes Hosting zu installieren (siehe Installieren der Webserverrolle).

      • Das Skript verwendet die Datei „unattended.xml“ als Eingabekonfigurationsdaten. Sie gibt die IIS-Module an, die installiert werden sollen.
      • Erforderlich: Die Datei „unattend.xml“ erfordert, dass die Versionsnummer auf die aktuelle Produktversion von Windows festgelegt wird, d. h. version="6.0.6000.16386". Klicken Sie dafür mit der rechten Maustaste auf C:\Windows\RegEdit.exe, und wählen Sie die Registerkarte „Details“ aus. „PkgMgr“ erfordert diesen Parameter, um alle gewünschten Komponenten ordnungsgemäß installieren zu können.
    • Install_IISSharedHosting.PS1: Führt alle Konfigurationsskripts gemäß den Richtlinien für freigegebenes Hosting aus (siehe Konfigurieren von IIS 7.0 für freigegebenes Hosting).

      • Das Skript verwendet die Datei „IISSettings.xml“ als Eingabekonfigurationsdaten. Sie enthält Einstellungen für die dynamische Komprimierung und den Leerlaufschwellenwert.
      • Die Einstellung für die Standarddatei des Servers wird über die Datei „Default_File_Config.xml“ gesteuert. Sie enthält eine Liste aller Standarddateien, die hinzugefügt oder entfernt werden sollen. Sie können beliebig viele Einträge erstellen. Legen Sie activity="ADD" fest, um eine Datei hinzuzufügen, oder activity="REMOVE", um eine Datei zu entfernen.
    • Enable32bitModeWorkerProcess.PS1: Aktiviert die 32-Bit-Arbeitsprozesse auf 64-Bit-Computern.

    • AppPoolIdentAsAnonymousUser.PS1: Legt die Identität des Anwendungspools auf „anonymen Benutzer“ fest.

    • AddRemoveDefaultDoc.PS1: Fügt gemäß der Spezifikation der Eingabedatei „Default_Files_Config.XML“ Standarddokumente hinzu oder entfernt diese.

    • ConfigureDynamicIdleThreshold.PS1: Legt die Konfigurationseigenschaft dynamicIdleThreshold fest.

    • ConfigureDynamicCompression.PS1: Legt die Eigenschaften für die dynamische Komprimierung fest.

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

    • Bald verfügbar: Festlegen der mittleren Vertrauensebene in ASP.NET.

  2. Dateiserver

    Diese PowerShell-Skripts helfen bei der Bereitstellung und Konfiguration des Dateiservers. Beachten Sie, dass diese Skripts mit PS 2.0 geschrieben und getestet wurden:

    • InstallFileServer.PS1: Führt alle Skripts für die Installation und Konfiguration der Dateiserverrolle aus.

      • Dateien: „FolderPermissions.xml“, „SharePermissions.xml“ und „DirectoryQuotas_Settings.xml“ werden mit Beispieleinstellungen aufgefüllt. Sie sollten jeweils vor der Bereitstellung konfiguriert werden, da diese Einstellungen je nach Bereitstellung variieren.
      • DirectoryQuotas_Settings.xml: Ermöglicht das Definieren beliebig vieler Ordnerkontingente.
      • FolderPermissions.xml: Ermöglicht das Definieren beliebig vieler Ordner mit jeweils 0, 1 oder vielen Berechtigungen.
      • SharePermissions.xml: Ermöglicht das Definieren beliebig vieler Freigaben (entspricht die neue Freigabe keinem vorhandenen Ordner, wird ein Fehler angezeigt). Jede Freigabe kann über 0, 1 oder viele Berechtigungen verfügen.
    • runPKGMGR_FileServer: Führt das Befehlstool „pkgmgt.exe“ aus, um die Dateiserverrolle zu installieren. Das Skript verwendet die Datei „unattended.xml“ als Eingabeparameter. Sie gibt die Module an, die installiert werden sollen.

    • 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).

Bereitstellen und Verwalten

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

  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 Artikel Codebeispiel für Hostingdienste.

  3. Unter Codebeispiele und Skripts finden Sie Beispielcodeausschnitte zum Erstellen von Websites und Konfigurationsaufgaben in IIS 7.0.

  4. [PowerShell-Skripts für die Bereitstellung von IIS-Websites](https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip „PowerShell-Skripts für IIS-Websites“). Diese sechs PowerShell-Skripts helfen bei der Automatisierung der Bereitstellung von AppPools, Websites, Anwendungen, virtuellen Verzeichnissen und Bindungen. Sie verwenden die Schnittstellen für verwalteten Code des Namespaces Microsoft.Web.Administration, um diese Objekte bereitzustellen. Die folgenden Beispiele veranschaulichen die einzelnen Skripts:

    4.1. Zum Erstellen einer beliebigen Anzahl von AppPools, Websites, Anwendungen, virtuellen Verzeichnissen und Bindungen gemäß einer Konfigurationsdatendatei, verwenden Sie „Sample_AppPool_Site_AppCreation“. Dieses Skript ruft alle anderen auf, um jedes Objekt gemäß den Konfigurationsdaten in der XML-Datei „ProvisioningConfig.xml“ zu erstellen.

    Beispiel:

    Sample_AppPool_Site_AppCreation
    

    Beispiel für eine XML-Datei „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. Zum Erstellen von AppPools, verwenden Sie „CreateIISAppPool“ mit PoolName, Benutzername und Kennwort. Wenn Sie keinen Benutzernamen und kein Kennwort angeben, wird der aktuelle Benutzer verwendet.

    Beispiel:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. Zum Erstellen einer Website, verwenden Sie „CreateIISSite“ mit SiteName, PhysicalPath, PoolName und ID.

    Beispiel:

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

    4.4. Zum Erstellen einer Anwendung auf einer Website, verwenden Sie „CreateIISApplicationOntoSite“ mit PhysicalPath, RelativePath, SiteName und PoolName.

    Beispiel:

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

    4.5. Zum Erstellen eines virtuellen Verzeichnisses für eine Anwendung, verwenden Sie „CreateIISVDirOntoApplication“ mit ApplicationPhysicalPath, PhysicalPath, SiteName und RelativePath.

    Beispiel:

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

    4.6. Zum Erstellen einer Bindung für eine Website, verwenden Sie „CreateIISBindingOntoSite“ mit SiteName, Port, BindingInfo und Protocol.

    Beispiel:

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