en-US/about_SPShellAdmins.help.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
.NAME
    SPShellAdmins

# Description
    
    This resource is used to manage the users with Shell Admin permissions. There
    are a number of approaches to how this can be implemented. The "Members"
    property will set a specific list of members for the group, making sure that
    every user/group in the list is in the group and all others that are members
    and who are not in this list will be removed. The "MembersToInclude" and
    "MembersToExclude" properties will allow you to control a specific set of
    users to add or remove, without changing any other members that are in the
    group already that may not be specified here, allowing for some manual
    management outside of this configuration resource. The "ContentDatabases" and
    "AllContentDatabases" properties will allow you to control the permissions on
    Content Databases.
    
    Requirements:
    
    * At least one of the Members, MemberToInclude or MembersToExclude properties
      needs to  be specified.
    * Do not combine the Members property with the MemberToInclude and
      MembersToExclude  properties.
    * Do not combine the ContentDatabase property with the AllContentDatabases
      property.
    
    Notes:
    1.) If a content database is created using the Central Admin, the farm account
    is the owner of that content database in SQL Server. When this is true, you
    cannot add it to the Shell Admins (common for AllContentDatabases parameter)
    and the resource will throw an error. Workaround: Change database owner in SQL
    
.PARAMETER Name
    Key - String
    Name for the config, used for administration purposes

.PARAMETER Members
    Write - String
    Exact list of accounts that will have to get Shell Admin permissions

.PARAMETER MembersToInclude
    Write - String
    List of all accounts that must be in the Shell Admins group

.PARAMETER MembersToExclude
    Write - String
    List of all accounts that are not allowed to have Shell Admin permissions

.PARAMETER ContentDatabases
    Write - String
    Shell Admin configuration of Content Databases

.PARAMETER AllContentDatabases
    Write - Boolean
    Specify if all content databases must get the same config as the general config

.PARAMETER InstallAccount
    Write - String
    POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5


.EXAMPLE
    This example gives admin access to the specified users for the local farm as well as
    all content databases in the local farm.


    Configuration Example 
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount
        )
        Import-DscResource -ModuleName SharePointDsc

        node localhost {
            SPShellAdmins ShellAdmins
            {
                Name                = "Shell Admins"
                Members             = "CONTOSO\user1", "CONTOSO\user2"
                AllContentDatabases = $true
            }
        }
    }


.EXAMPLE
    This example gives admin access to the specified users for the local farm as well as
    all content databases in the local farm.


    Configuration Example 
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount
        )
        Import-DscResource -ModuleName SharePointDsc

        node localhost {
            SPShellAdmins ShellAdmins
            {
                Name                = "Shell Admins"
                Members             = "CONTOSO\user1", "CONTOSO\user2"
                ContentDatabases    = @(
                    @(MSFT_SPContentDatabasePermissions {
                        Name = "SharePoint_Content_1"
                        Members = "CONTOSO\user2", "CONTOSO\user3"
                    })
                    @(MSFT_SPContentDatabasePermissions {
                        Name = "SharePoint_Content_2"
                        Members = "CONTOSO\user3", "CONTOSO\user4"
                    })
                )
            }
        }
    }