以指令碼方式設定 AppFabric
此範例會逐步解說設定 AppFabric 以使用網域帳戶搭配整合式安全性驗證來連接遠端資料庫的一系列必要動作。
注意
提供的範例僅適用於教學用途。請勿將範例用於生產環境,因為這些範例並未在生產環境中測試。Microsoft 不對這些範例提供技術支援。
必要條件
使用者應熟悉 Windows PowerShell 指令碼與一般指令碼概念,以及 AppFabric 中的資訊安全模型。此範例假設下列各項:
已經執行預設的 AppFabric 安裝。
已備妥資料庫 (已在遠端電腦上使用適當的安全性設定來初始化監控與持續性資料庫)。
您可以使用下列 Cmdlet 來準備資料庫:Initialize-ASMonitoringDatabase、Initialize-ASPersistenceSqlDatabase。
您可以透過編輯範例之 [User Defined Variables] 區段的
$Persistence_ConnectionStringName
、$Persistence_ConnectionString
、$Monitoring_ConnectionString
與$Monitoring_ConnectionStringName
變數,以在指令碼中自訂資料庫。
已經建立網域使用者與群組。此範例已預先填入符合下表的值。
網域:corp.contoso.com
AppFabric角色 | 網域群組 | 網域使用者 |
---|---|---|
系統管理員 |
AS_Administrators |
dubAdmin |
使用者 |
AS_Users |
dubUser |
觀察者 |
AS_Observers |
dubObserver |
系統管理員角色的使用者必須具備「以服務方式登入」權限,因為他們將會執行事件收集與工作流程管理服務。
用來執行 AppFabric 應用程式之應用程式集區身分識別必須是「使用者」角色的成員。
應用程式集區必須是 .NET Framework 4 應用程式集區。
範例位置與檔案
範例檔案包括:
Readme.mhtml
code\scriptedConfigurationOfDublin.ps1
code\scriptedUnconfigurationOfDublin.ps1
設定並執行此範例
執行此指令碼:
以系統管理員身分開啟命令提示字元。
瀏覽到包含範例 .ps1 檔案的資料夾。
執行下列命令:
powershell -ExecutionPolicy RemoteSigned -File scriptedConfigurationOfDublin.ps1
了解此範例
指令碼有四個函式與三個區段。
函式
GetUserCredential 會提示使用者提供使用者名稱與密碼,然後將資訊安全地儲存在 PSCredential 物件中以用於指令碼。
SetServiceCredential 會修改所指定服務的登入使用者與密碼。
GetSqlConnectionString 會產生所指定伺服器與資料庫的 SQL 連接字串。
UpdateConnectionString 會將指定的連接字串新增或更新至根 web.config 組態檔。
區段
在 [使用者定義的變數] 區段中,您可以找到用於指令碼中的變數清單。您可以修改這些變數來自訂環境專屬的指令碼。
在 [收集認證] 區段中,指令碼會呼叫 GetUserCredential 函式來取得使用者的認證,以用於系統服務 (「工作流程管理」服務與「事件收集」服務) 的組態。
在 [更新組態] 區段中,會根據定義的變數與收集的資訊來套用組態。
指令碼會執行下列設定動作:
將 AppFabric 系統管理員使用者新增至本機 Administrators 群組。
設定「事件收集」服務組態。
設定「工作流程管理」服務組態。
將連接字串新增至根 web.config 檔案中的連接字串區段。
建立持續性連接字串的「執行個體儲存區」項目。
設定持續性行為。
設定監控行為。
移除此範例
若要還原組態,請執行 scriptedUnConfigurationOfDublin.ps1。
powershell -ExecutionPolicy RemoteSigned -File scriptedUnConfigurationOfDublin.ps1
此指令碼會執行下列動作:
從本機 Administrators 群組移除 AppFabric 系統管理員使用者。
您需要在取消設定指令碼中自訂系統管理員使用者,使其符合組態中使用的自訂使用者。
還原「事件收集」服務組態。
還原「工作流程管理」服務組態。
移除持續性行為。
移除持續性連接字串的「執行個體儲存區」註冊。
在執行指令碼之後,您必須手動從根 web.config 檔案刪除監控行為。
<default enabled="true" connectionStringName="monitoringDB" monitoringLevel="HealthMonitoring" />
您也必須手動移除利用設定指令碼新增的任何連接字串。
2012-03-05