C# および PowerShell スクリプトのサンプル

この記事では、ホスティング ガイダンス全体で説明されている PowerShell および C# サンプル スクリプトの概要を示します。 これらは、デプロイ、構成、移行、プロビジョニングのタスクに使用できます。

作成者: Walter Oliver

デプロイ スクリプト - 共有ホスティング

  1. Web サーバー

    これらの PowerShell スクリプトは、Web サーバーの展開と構成に役立ちます。 これらのスクリプトは PS 2.0 を使用して記述およびテストされていることに注意してください。

    • runPKGMGT_IIS.PS1: "pkgmgt.exe" コマンド ツールを実行して、共有ホスティングに推奨されるモジュールと共に IIS 7.0 をインストールします。Web サーバーの役割のインストールに関する記事を参照してください。

      • スクリプトでは、ファイル "unattended.xml" を入力構成データとして使用し、インストールする IIS モジュールを指定します。
      • 必須: unattend.xml では、バージョン番号を Windows の現在の製品バージョン (version="6.0.6000.16386") に設定する必要があります。 これは、C:\Windows\RegEdit.exe を右クリックし、[詳細] タブを選択すると確認できます。必要なすべてのコンポーネントを適切にインストールできるように、PkgMgr にはこのパラメータが必要です
    • Install_IISSharedHosting.PS1: 共有ホスティングのガイドラインに従ってすべての構成スクリプトを実行します。共有ホスティング用の IIS 7.0 の構成に関する記事を参照してください。

      • スクリプトでは、IISSettings.xml ファイルを入力構成データとして使用します。 動的圧縮とアイドルしきい値の設定が含まれています
      • サーバーの既定のファイル設定は、Default_File_Config.xml によって制御されます。 これには、追加または削除されるすべての既定のファイルの一覧が含まれています。 必要な数のエントリを作成します。 追加するには activity="ADD"、削除するには "REMOVE" を設定します。
    • Enable32bitModeWorkerProcess.PS1: 64 ビット マシンで 32 ビット モードのワーカー プロセスを有効にします。

    • AppPoolIdentAsAnonymousUser.PS1: アプリケーション プール ID を匿名ユーザーとして設定します。

    • AddRemoveDefaultDoc.PS1: Default_Files_Config.XML 入力ファイルの仕様に基づいて、既定のドキュメントを追加または削除します。

    • ConfigureDynamicIdleThreshold.PS1: dynamicIdleThreshold 構成プロパティを設定します。

    • ConfigureDynamicCompression.PS1: 動的圧縮プロパティを設定します。

    • HTTPResponseCache.PS1: HTTP 応答キャッシュが表示されます。

    • 近日公開予定: ASP.NET の中程度の信頼を設定します。

  2. ファイル サーバー

    これらの PowerShell スクリプトは、ファイル サーバーの展開と構成に役立ちます。 これらのスクリプトは PS 2.0 を使用して記述およびテストされていることに注意してください。

    • InstallFileServer.PS1: FileServer ロールをインストールして構成するために、すべてのスクリプトを実行します。

      • ファイル: FolderPermissions.xml、SharePermissions.xml、DirectoryQuotas_Settings.xml にはサンプル設定が設定されます。 これらの設定はデプロイごとに異なるため、デプロイ前にそれぞれ構成する必要があります。
      • DirectoryQuotas_Settings.xml: 必要な数のフォルダー クォータを定義できます。
      • FolderPermissions.xml: 必要な数のフォルダーを定義でき、各フォルダーには 0、1 つ、または多数のアクセス許可を指定できます。
      • SharePermissions.xml: 必要な数の共有を定義できます (新しい共有が既存のフォルダーに対応していない場合はエラーになります)。 各共有には、0、1 つ、または多数のアクセス許可を指定できます。
    • runPKGMGR_FileServer: "pkgmgt.exe" コマンド ツールを実行して、ファイル サーバーの役割をインストールします。 スクリプトでは、ファイル "unattended.xml" を入力パラメータとして使用し、インストールするモジュールを指定します。

    • DirectoryQuota.PS1: ディレクトリ クォータを設定します。ディレクトリ クォータに関する記事を参照してください。

    • Folder_Shares_Permissions.PS1: "SharePermissions.XML" 入力ファイルの仕様に従ってフォルダーのアクセス許可を設定します。 「共有と NTFS アクセス許可」を参照してください。

プロビジョニングと管理

  1. C# のプロビジョニング サンプルは、いくつかの一般的なプロビジョニング タスクを実行するための一連の C# サンプルです。「C# のプロビジョニング サンプル」の記事の詳細を参照してください。

  2. ホスティング サービス サンプルは、サイト、ユーザー アカウント、SQL DB などをプロビジョニングするための広範な C# コード サンプルです。 ホスティング サービスのコード サンプルに関する記事の詳細を参照してください。

  3. コード サンプルとスクリプトには、IIS 7.0 サイトと構成タスクを作成するためのサンプル コード スニペットが用意されています。

  4. [IIS サイトのプロビジョニング PowerShell スクリプト](https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "IIS サイトの PowerShell スクリプト")。 これらは、AppPools、サイト、アプリケーション、仮想ディレクトリ、バインドのプロビジョニングを自動化するのに役立つ 6 つの PowerShell スクリプトです。 Microsoft.Web.Administration マネージド コード名前空間インターフェイスを使用して、これらのオブジェクトをプロビジョニングします。 それぞれの例を次に示します。

    4.1. 構成データ ファイルに従って配置された任意の数の AppPools、サイト、アプリケーション、仮想ディレクトリ、バインドを作成するには、Sample_AppPool_Site_AppCreation を使用します。 このスクリプトでは、他のすべてを呼び出して、ProvisioningConfig.xml XML ファイル内の構成データに従って各オブジェクトを作成します。

    例:

    Sample_AppPool_Site_AppCreation
    

    ProvisioningConfig.xml 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. AppPools を作成するには、CreateIISAppPool PoolName ユーザー名パスワードを使用します。 ユーザー名とパスワードを指定しない場合は、現在のユーザーが使用されます。

    例:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. サイトを作成するには、CreateIISSite SiteName PhysicalPath PoolName ID を使用します。

    例:

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

    4.4. サイトにアプリケーションを作成するには、CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName を使用します。

    例:

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

    4.5. アプリケーションの仮想ディレクトリを作成するには、CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath を使用します。

    例:

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

    4.6. サイトのバインドを作成するには、CreateIISBindingOntoSite SiteName Port BindingInfo プロトコルを使用します。

    例:

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