SharePointDsc icon indicating copy to clipboard operation
SharePointDsc copied to clipboard

[SPShellAdmins] Setting specific DBs did not succeed

Open HeKr09 opened this issue 3 years ago • 26 comments

Problem description

I always get an error when setting the ShellAdmins. This occurs on the BCS-DB and Secure Store. As far as I noticed the DBs are created differently than the others. In the SQL the farm account is not set at Security > Users at the specific DBs. Instead the dbo-Account uses the schema of the farm account. Could that be the problem?

Verbose logs

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
     "Cannot add DEV\Farm to the SharePoint_Shell_Access role of the database SP16-JUMP_ServiceApplication_BusinessDataConnectivity. A possible cause of this error
is that the account name was already added to the database as a login using a different user name than the account name."
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]: LCM:  [ End    Set      ]  [[SPShellAdmins]AddShellAdmins]  in 0.8280 seconds.
The PowerShell DSC resource '[SPShellAdmins]AddShellAdmins' with SourceInfo 'D:\INSTALL\DSC\SharePoint.ps1::837::17::SPShellAdmins' threw one or more non-terminating
errors while running the Set-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for
more details.
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : SERVER01

DSC configuration

SPShellAdmins AddShellAdmins {
                    MembersToInclude     = @("DEV\Farm","DEV\Admins","DEV\ShellAdmins")
                    AllDatabases         = $true
                    IsSingleInstance     = "Yes"
                    PsDscRunAsCredential = $SpFarmAccount
                    DependsOn            = "[SPFarm]CreateOrJoinSharePointFarm"
                }

Suggested solution

Actually I don't know whether my description includes the solution?!

SharePoint version and build

SharePoint 2016
16.0.5227.1000

Operating system the target node is running

OsName               : Microsoft Windows Server 2016 Standard
OsOperatingSystemSKU : StandardServerEdition
OsArchitecture       : 64-bit
WindowsBuildLabEx    : 14393.4825.amd64fre.rs1_release.211202-1611
OsLanguage           : en-US
OsMuiLanguages       : {en-US}

PowerShell version and build the target node is running

Name                           Value
----                           -----
PSVersion                      5.1.14393.4583
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.4583
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

SharePointDsc version

Name          Version Path
----          ------- ----
SharePointDSC 4.5.1   C:\Program Files\WindowsPowerShell\Modules\SharePointDSC\4.5.1\SharePointDSC.psd1

HeKr09 avatar Feb 22 '22 06:02 HeKr09

This has indeed something to do with the way the specified accounts/groups already have access to the databases. If they already have permissions some other way, the Add-SPShellAdmin cmdlets is unable to add the account to the databases again.

It looks like the verbose logging you shared has been edited a little. Is that correct? The outputted content does not match the content that should have been outputted when I look at the code. Have been trying to see where exactly this is going wrong, but am unable to because of this.

Can you please share the full verbose output?

ykuijs avatar Feb 22 '22 09:02 ykuijs

Yeah I removed the customer specific terms. But this should only be the server name and the accounts. I added the complete verbose logging of the resource.

VERBOSE: [SERVER01]: LCM:  [ Start  Resource ]  [[SPShellAdmins]AddShellAdmins]
VERBOSE: [SERVER01]: LCM:  [ Start  Test     ]  [[SPShellAdmins]AddShellAdmins]
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Testing Shell Admin settings
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Getting Shell Admins config
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Executing as the local run as user DEV\FarmAccount
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Get-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Set-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Test-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Current Values: AllDatabases=True;
Databases=({Members=(DEV\FarmAccount,DEV\AdminGroup); Name=SP16-JUMP_ServiceApplication_StateService},{Members=DEV\AdminGroup;
Name=SP16-JUMP_ServiceApplication_SecureStore},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_WordAutomation},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_UserProfile_Social},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_Search_AnalyticsReportingStore},{Members=DEV\AdminGroup;
Name=SP16-JUMP_ServiceApplication_BusinessDataConnectivity},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_Admin_Config},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_SubscriptionSettings},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_Search_CrawlStore},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_AppManagement},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_Admin_Content},{Members=(DEV\FarmAccount,DEV\AdminGroup); Name=SP16-JUMP_Content_FDB},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_Content_MySites},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_Content_Portal},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_Search},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_ManagedMetaData},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_UserProfile_Profiles},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_UsageAndHealthDataCollection},{Members=(DEV\FarmAccount,DEV\AdminGroup);
Name=SP16-JUMP_ServiceApplication_UserProfile_Sync},{Members=(DEV\FarmAccount,DEV\AdminGroup); Name=SP16-JUMP_ServiceApplication_Search_LinksStore});
IsSingleInstance=Yes; Members=(DEV\FarmAccount,DEV\AdminGroup); MembersToExclude=;
MembersToInclude=(DEV\FarmAccount,DEV\AdminGroupInternal,DEV\AdminGroup)
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Target Values: AllDatabases=True; IsSingleInstance=Yes;
MembersToInclude=(DEV\FarmAccount,DEV\AdminGroupInternal,DEV\AdminGroup); Verbose=True
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Processing MembersToInclude parameter
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] DEV\FarmAccount is already a Shell Admin. Skipping
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] DEV\AdminGroupInternal is not a Shell Admin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Test-TargetResource returned false
VERBOSE: [SERVER01]: LCM:  [ End    Test     ]  [[SPShellAdmins]AddShellAdmins]  in 2.5940 seconds.
VERBOSE: [SERVER01]: LCM:  [ Start  Set      ]  [[SPShellAdmins]AddShellAdmins]
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Setting Shell Admin config
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Executing as the local run as user DEV\FarmAccount
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Get-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Set-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Importing function 'Test-TargetResource'.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPFarm.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Processing MembersToInclude
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Processing AllDatabases parameter
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPDatabase.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
     "Cannot add DEV\FarmAccount to the SharePoint_Shell_Access role of the database SP16-JUMP_ServiceApplication_SecureStore. A possible cause of this error is that the
account name was already added to the database as a login using a different user name than the account name."
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
     "Cannot add DEV\FarmAccount to the SharePoint_Shell_Access role of the database SP16-JUMP_ServiceApplication_BusinessDataConnectivity. A possible cause of this error
is that the account name was already added to the database as a login using a different user name than the account name."
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Get-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving BeginProcessing Method of Add-SPShellAdmin.
Some or all identity references could not be translated.
    + CategoryInfo          : InvalidData: (Microsoft.Share...AddSPShellAdmin:) [], CimException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletAddSPShellAdmin
    + PSComputerName        : SERVER01

VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving ProcessRecord Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]:                            [[SPShellAdmins]AddShellAdmins] Leaving EndProcessing Method of Add-SPShellAdmin.
VERBOSE: [SERVER01]: LCM:  [ End    Set      ]  [[SPShellAdmins]AddShellAdmins]  in 0.8280 seconds.
The PowerShell DSC resource '[SPShellAdmins]AddShellAdmins' with SourceInfo 'D:\INSTALL\DSC\SharePoint.ps1::837::17::SPShellAdmins' threw one or more non-terminating
errors while running the Set-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for
more details.
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : SERVER01

HeKr09 avatar Feb 22 '22 17:02 HeKr09

Do you have any idea?

HeKr09 avatar Feb 25 '22 16:02 HeKr09

Are you sure the group DEV\AdminGroupInternal exists?

To troubleshoot: Please replace the file MSFT_SPShellAdmins.ps1 in C:\Program Files\WindowsPowerShell\Modules\SharePointDSC\5.1.0\DSCResources\MSFT_SPShellAdmins with this file (rename to ps1) and then try again: MSFT_SPShellAdmins.txt

This updated file will add some more logging, so we can see which account is failing on which database.

ykuijs avatar Mar 01 '22 16:03 ykuijs

I did not find the AdminGroupInternal. Therefor some errors vanished but there are still the most important ones. I attachced a txt Log.txt.

HeKr09 avatar Mar 04 '22 12:03 HeKr09

Can you run these SQL commands and share the output (you can obfuscate the user ids):

USE [SP16-JUMP_ServiceApplication_BusinessDataConnectivity]

SELECT DP1.name AS DatabaseRoleName,
   isnull (DP2.name, 'No members') AS DatabaseUserName
 FROM sys.database_role_members AS DRM
 RIGHT OUTER JOIN sys.database_principals AS DP1
   ON DRM.role_principal_id = DP1.principal_id
 LEFT OUTER JOIN sys.database_principals AS DP2
   ON DRM.member_principal_id = DP2.principal_id
WHERE DP2.name IS NOT NULL

USE [SP16-JUMP_ServiceApplication_SecureStore]

SELECT DP1.name AS DatabaseRoleName,
   isnull (DP2.name, 'No members') AS DatabaseUserName
 FROM sys.database_role_members AS DRM
 RIGHT OUTER JOIN sys.database_principals AS DP1
   ON DRM.role_principal_id = DP1.principal_id
 LEFT OUTER JOIN sys.database_principals AS DP2
   ON DRM.member_principal_id = DP2.principal_id
WHERE DP2.name IS NOT NULL

SELECT suser_sname( owner_sid ) AS Owner, Name, compatibility_level FROM sys.databases WHERE [name] = 'SP16-JUMP_ServiceApplication_BusinessDataConnectivity' OR [name] = 'SP16-JUMP_ServiceApplication_SecureStore'

ykuijs avatar Mar 04 '22 16:03 ykuijs

SQL Results In order of unrecognizable slots:

  • DEV\ServiceApplicationPoolAccount
  • DEV\AdminGroup
  • DEV\ServiceApplicationPoolAccount
  • DEV\AdminGroup
  • DEV\FarmAccount
  • DEV\FarmAccount

Just for comparison I modified the script and compared "Search" and "SecureStore" and got what I thought it would be: sql Results 2

  • DEV\FarmAccount
  • DEV\FarmAccount
  • DEV\FarmAccount
  • DEV\ServiceApplicationPoolAccount
  • DEV\SearchApplicationPoolAccount
  • DEV\AdminGroup
  • DEV\ServiceApplicationPoolAccount
  • DEV\AdminGroup
  • DEV\FarmAccount
  • DEV\InstallAccount

HeKr09 avatar Mar 06 '22 05:03 HeKr09

At another newly created farm I do not receive this error. Nevertheless I receive another error but on the migrated DBs. I don't think that this would help here.

HeKr09 avatar Mar 06 '22 05:03 HeKr09

Nevertheless I checked the SQL output at the other system (SharePoint 2019). sql Results 3

  • PROD\FarmAccount
  • PROD\FarmAccount
  • PROD\SearchApplicationPoolAccount
  • PROD\UserAccount
  • PROD\UserAccount2
  • PROD\AdminGroup
  • PROD\UserAccount3
  • PROD\ServiceApplicationPoolAccount
  • PROD\UserAccount3
  • PROD\UserAccount
  • PROD\UserAccount2
  • PROD\AdminGroup
  • PROD\InstallAccount
  • PROD\FarmAccount
  • PROD\InstallAccount

As you might notice: The output (except the user accounts) differs form the first system according the secure store! Although the same code is used.

HeKr09 avatar Mar 06 '22 06:03 HeKr09

Do you have any further ideas?

HeKr09 avatar Mar 17 '22 13:03 HeKr09

Ok, I finally got around diving into this a little further. My apologies for the delay.

For both the Secure Store and BCS databases, the Farm account is the owner of the database and therefore added to the database users with the SQL username "dbo":

Database properties: image

Details user dbo: image

When that is the case, you cannot add the user under a different name. When you do this through the SQL Mgmt Studio, you get this error: image

But apparently, Add-SPShellAdmin does not handle this error correctly.....resulting in the error you shared earlier.

The question now is: How to handle this issue? Which is quite a challenge. I am testing a few things at the moment, which hopefully will result in a solution.

ykuijs avatar Apr 08 '22 11:04 ykuijs

I tried what happens if you change the role membership of this dbo user, but unfortunately SQL does not allow that user to be edited 😢

Tested a few other scenarios:

  1. Catch the error and write a warning to the screen mentioning that the user is the database owner. Downside is that this means the resource will never get into the desired state. The Get-SPShellAdmin will only return those users that are a member of the SharePoint_Shell_Access database role, not the database owner. So this isn't a real option.
  2. Update the Get method of the resource to also retrieve the database owners and return them in the list of database owners to the Test method. This will fix this issue, but also means that other databases will no longer be in the desired state. This is of course also not an option.

Now thinking about the following: If one of the specified users is the owner of the database, the Get resource will return the user as a member of the Shell Admins.

ykuijs avatar Apr 08 '22 13:04 ykuijs

Ok, I have a version ready. @HeKr09 Could you please test this version?

Just like before, please replace the file MSFT_SPShellAdmins.ps1 in C:\Program Files\WindowsPowerShell\Modules\SharePointDSC\5.1.0\DSCResources\MSFT_SPShellAdmins with this file (rename to ps1) and then try again: MSFT_SPShellAdmins.txt

ykuijs avatar Apr 08 '22 14:04 ykuijs

Just noticed we added a note to the documentation of this resource: "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"

However, with this change this note is no longer required 😉

ykuijs avatar Apr 08 '22 15:04 ykuijs

@ykuijs I am going to to test your code I hope next week. I will install another system from scratch and I can rerun the first system. What do you think is the best way?

  • Rerun the first system with your improvement?
  • Install the other system from scratch with your improvement?

Nevertheless: When I read your comments, I wondered whether I am using the modules wrong... Maybe I don't need to put the users in as shell Admin... Is this a way?

HeKr09 avatar Apr 12 '22 03:04 HeKr09

It would be great if you can test both environments, in case anything is a little different in the first system.

Not sure what you mean with your second comment. Can you explain a little more?

ykuijs avatar Apr 12 '22 08:04 ykuijs

I'll test both environments. I just wondered whether my configuration is false. It doesn't seem realistic that I am the first with that error so I wondered whether my user of the SpShellAdmin resource is wrong?

HeKr09 avatar Apr 12 '22 08:04 HeKr09

I installed just the new farm. Not installed the old one yet. I got different outputs for the same server. I ran the script several times because I forgot a service instance here and a permission there. I attached two outputs. The Output1.txt occured before the Output2.txt. Does this help in any kind of way?

Output1.txt Output2.txt

HeKr09 avatar Apr 22 '22 04:04 HeKr09

The Output1.txt contains Search databases, where Output2.txt don't contain these databases.

Output1 fails on these Search databases and Output2 runs just fine.

Do you have an explanation why these databases are missing in Output2? Was the Search SA deleted in the meantime?

ykuijs avatar May 03 '22 15:05 ykuijs

Am I correct to see in the log that you are using the Farm account as the RunAsCredential in your config?

It looks like the Output1 is failing because the FarmAccount does not have the correct permissions to the Search databases.

ykuijs avatar May 03 '22 15:05 ykuijs

@ykuijs Yeah the Search was removed meanwhile.

Do you mean the SPFarm-Ressource? THis should run under the SetupAccount.

            SPFarm CreateOrJoinSharePointFarm {
                DatabaseServer            = $SharePointConfigData.DatabaseServerDefault
                AdminContentDatabaseName  = $SharePointConfigData.Farm.AdminContentDatabaseName
                FarmConfigDatabaseName    = $SharePointConfigData.Farm.FarmConfigDatabaseName

                ServerRole                = $Node.ServerRole

                Passphrase                = $SpPassphrase
                FarmAccount               = $SpFarmAccount

                CentralAdministrationPort = $SharePointConfigData.Farm.CentralAdministrationPort
                CentralAdministrationAuth = $SharePointConfigData.Farm.CentralAdministrationAuth
                CentralAdministrationUrl  = $SharePointConfigData.Farm.CentralAdministrationUrl
                RunCentralAdmin           = $Node.CentralAdmin

                IsSingleInstance          = "Yes"
                Ensure                    = "Present"
                DependsOn                 = @("[SPInstall]SharePointInstall", "[SqlAlias]$($SharePointConfigData.DatabaseServerDefault)")
                PsDscRunAsCredential      = $SpSetupAccount
            }

HeKr09 avatar May 08 '22 19:05 HeKr09

The logging shows that the account used for the PSDscRunAsCredential for the SPShellAdmin resource is the DEV\FarmAccount: image

Is that an edit mistake or are you actually using the Farm account here?

ykuijs avatar May 10 '22 07:05 ykuijs

No it is right. The farm account is used here. Should this be the setup account?

HeKr09 avatar May 12 '22 09:05 HeKr09

Yes, if the resources needs to run as the service account (like SPAppCatalog), the resource reads the credentials from SharePoint and uses that to run. In all cases, you should run all resource under the setup account.

ykuijs avatar May 12 '22 12:05 ykuijs

As I mentioned above: Maybe I am using the resource in a wrong way... So this became true 🤔

HeKr09 avatar May 13 '22 20:05 HeKr09

No problem, please test with using the Setup/Install account as PsDscRunAsCredential for all resources. Just like when you install SharePoint manually, you logon using an install account and then start installing/configuring SharePoint. There is no need to logon using the farm account and configure components, especially since that requires the farm account to be granted more permissions than needed, like local admin permissions.

ykuijs avatar May 13 '22 21:05 ykuijs

Actually the error did not occur anymore! :)

HeKr09 avatar Jan 04 '23 06:01 HeKr09