DSC 群組資源
適用於:Windows PowerShell 4.0、Windows PowerShell 5.x
Windows PowerShell Desired State Configuration (DSC 中的群組資源) 提供機制來管理目標節點上的本機群組。
注意
此 DSC 資源的本檔涵蓋 7.2 版之前 PowerShell 隨附的版本。 PSDscResources模組包含 Microsoft 正式支援的全新和更新 DSC 資源。 PSDscResources 模組可從 PowerShell 資源庫中取得。
如需詳細資訊和更新的檔,請參閱 PSDscResources 參考檔。
語法
Group [string] #ResourceName
{
GroupName = [string]
[ Credential = [PSCredential] ]
[ Description = [string[]] ]
[ Members = [string[]] ]
[ MembersToExclude = [string[]] ]
[ MembersToInclude = [string[]] ]
[ DependsOn = [string[]] ]
[ Ensure = [string] { Absent | Present } ]
[ PsDscRunAsCredential = [PSCredential] ]
}
屬性
屬性 | 描述 |
---|---|
GroupName | 您要確保其特定狀態的群組名稱。 |
認證 | 存取遠端資源時所需的認證。 此帳戶必須具有適當的 Active Directory 權限,藉此將所有非本機帳戶新增至群組;否則,在目標節點上執行設定時會發生錯誤。 |
描述 | 群組的描述。 |
成員 | 您可以使用這個屬性,以指定的成員來取代目前的群組成員資格。 這個屬性值為字串陣列,格式為 Domain\UserName 。 如果您在設定中設定這個屬性,請勿使用 MembersToExclude 或 MembersToInclude 屬性。 這麼做會產生錯誤。 |
MembersToExclude | 使用這個屬性從群組的現有成員資格移除成員。 這個屬性值為字串陣列,格式為 Domain\UserName 。 如果您在設定中設定這個屬性,請勿使用 Members 屬性。 這麼做會產生錯誤。 |
MembersToInclude | 使用這個屬性將成員新增至群組的現有成員資格。 這個屬性值為字串陣列,格式為 Domain\UserName 。 如果您在設定中設定這個屬性,請勿使用 Members 屬性。 這樣會產生錯誤。 |
通用屬性
屬性 | 描述 |
---|---|
DependsOn | 表示必須先執行另一個資源的設定,再設定這個資源。 例如,如果第一個想要執行的資源設定指令碼區塊識別碼是 ResourceName,而其類型是 ResourceType,則使用這個屬性的語法就是 DependsOn = "[ResourceType]ResourceName" 。 |
Ensure | 指出群組是否存在。 將此屬性設定為 Absent ,以確保群組不存在。 設定此群組為 Present 以確保此群組存在。 預設值為 Present。 |
PsDscRunAsCredential | 設定用於執行整個資源的認證。 |
注意
已在 WMF 5.0 中新增 PsDscRunAsCredential 通用屬性,以允許在其他認證的內容中執行任何 DSC 資源。 如需詳細資訊,請參閱搭配 DSC 資源使用認證。
範例 1:確定群組不存在
下列範例示範如何確定名為 "TestGroup" 的群組不存在。
Group GroupExample
{
# This removes TestGroup, if present
# To create a new group, set Ensure to "Present"
Ensure = "Absent"
GroupName = "TestGroup"
}
範例 2:將網域使用者新增至本機群組
下列範例顯示如何將 Active Directory 使用者新增至本機系統管理員群組,成為已使用本機系統管理員帳戶 PSCredential 之多電腦實驗室組建的一部分。 因為這也會用於網域系統管理員帳戶 (在網域升級之後),所以我們需要將此現有的 PSCredential 轉換為適用於網域的認證。 之後,我們便可將網域使用者新增到成員伺服器上的本機系統管理員群組。
@{
AllNodes = @(
@{
NodeName = '*';
DomainName = 'SubTest.contoso.com';
}
@{
NodeName = 'Box2';
AdminAccount = 'Admin-Dave_Alexanderson'
}
)
}
$domain = $node.DomainName.split('.')[0]
$DCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ("$domain\$($credential.Username)", $Credential.Password)
Group AddADUserToLocalAdminGroup {
GroupName='Administrators'
Ensure= 'Present'
MembersToInclude= "$domain\$($Node.AdminAccount)"
Credential = $dCredential
PsDscRunAsCredential = $DCredential
}
範例 3
下列範例示範如何確定伺服器 TigerTeamSource.Contoso.Com 上的本機群組 TigerTeamAdmins 不包含特定的網域帳戶 Contoso\JerryG。
Configuration SecureTigerTeamSource {
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Node TigerTeamSource.Contoso.Com {
Group TigerTeamAdmins {
GroupName = 'TigerTeamAdmins'
Ensure = 'Present'
MembersToExclude = "Contoso\JerryG"
}
}
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應