dsccommunity / SharePointDsc

The SharePointDsc PowerShell module provides DSC resources that can be used to deploy and manage a SharePoint farm
MIT License
245 stars 107 forks source link

[SPShellAdmins] Setting specific DBs did not succeed #1389

Closed HeKr09 closed 1 year ago

HeKr09 commented 2 years ago

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
ykuijs commented 2 years ago

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?

HeKr09 commented 2 years ago

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 commented 2 years ago

Do you have any idea?

ykuijs commented 2 years ago

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.

HeKr09 commented 2 years ago

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

ykuijs commented 2 years ago

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'
HeKr09 commented 2 years ago

SQL Results In order of unrecognizable slots:

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

HeKr09 commented 2 years ago

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 commented 2 years ago

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

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 commented 2 years ago

Do you have any further ideas?

ykuijs commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 😉

HeKr09 commented 2 years ago

@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?

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?

ykuijs commented 2 years ago

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?

HeKr09 commented 2 years ago

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 commented 2 years ago

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

ykuijs commented 2 years ago

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 commented 2 years ago

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.

HeKr09 commented 2 years ago

@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
            }
ykuijs commented 2 years ago

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?

HeKr09 commented 2 years ago

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

ykuijs commented 2 years ago

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.

HeKr09 commented 2 years ago

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

ykuijs commented 2 years ago

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.

HeKr09 commented 1 year ago

Actually the error did not occur anymore! :)