C# 和 PowerShell 腳本範例
本文提供裝載指引中提及的 PowerShell 和 C# 範例腳本摘要。 它們可用於部署、設定、移轉和布建工作。
部署腳本 -共用裝載
-
這些 PowerShell 腳本將協助部署和設定網頁伺服器。 請注意,這些腳本是使用 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 for Shared Hosting。
- 腳本會使用 IISSettings.xml 檔案作為輸入組態資料。 其中包含動態壓縮和閒置閾值的設定
- 伺服器的預設檔案設定是透過Default_File_Config.xml來控制。 其中包含要新增或移除之所有預設檔案的清單。 視需要建立多個專案。 設定 activity=「ADD」 以新增或移除 「REMOVE」。
Enable32bitModeWorkerProcess.PS1:在 64 位機器中啟用 32 位模式背景工作進程 。
AppPoolIdentAsAnonymousUser.PS1:將 應用程式集區身分識別設定為匿名使用者。
AddRemoveDefaultDoc.PS1:根據 Default_Files_Config.XML輸入檔規格新增或移除 預設檔 。
ConfigureDynamicIdleThreshold.PS1:設定 dynamicIdleThreshold 組態屬性。
ConfigureDynamicCompression.PS1:設定 動態壓縮 屬性。
HTTPResponseCache.PS1:顯示 HTTP 回應快取。
即將推出:設定 ASP.NET 中信任。
-
這些 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 許可權。
布建和管理
裝載服務範例 是一個廣泛的 C# 程式碼範例,可用來布建網站、使用者帳戶、SQL db 和其他專案。 請參閱 裝載服務程式代碼範例 一文中的詳細資料。
程式碼範例和腳本 提供用來建立 IIS 7.0 月臺和組態工作的範例程式碼片段。
[IIS 網站布建 PowerShell 腳本] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip 「IIS Sites PowerShell 腳本」) 。 以下是 6 個 PowerShell 腳本,可協助您自動布建 AppPools、Sites、應用程式、虛擬目錄和系結。 他們會使用 Microsoft.Web.Administration Managed 程式碼命名空間介面來布建這些物件。 以下是每個範例的範例:
4.1. 若要建立任意數目的 AppPools、Sites、Applications、Virtual Directory 和 Binding,請根據組態資料檔案 使用 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 識別碼。
範例:
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 埠系結Info 通訊協定。
範例:
CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"