The number of keys required are: Name.

May 16, 2015 at 12:21 AM
Not sure what to do with this. I ran through the script with what I thought were the proper parameters, but when trying the first time I got 0 rows returned. When running with trying to limit to a specific server group in the CMS, it failed with the above error. Same happens if I try to pass an empty string for the ConfigurationGroup.

Any ideas about what I might be doing incorrectly?
Jun 17, 2015 at 11:43 AM
You have to readd the SL line before the PowerShell execution

Because at the execution End the PowerShell process is placed on the SQL Server pointer:
"PS SQLSERVER:\SQLPolicy\CHDB221\DEFAULT\Policies>"

As you can see in this result:

PS C:\Windows\system32> SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
PS D:\POLICYMGT_DATA\POWERSHELLScript> .\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXXXX" -PolicyCa
tegoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"
EPM Framework v4.1.2
Starting policy category evaluation - 17.06.2015 13:38:12
Loading Assemblies
SQLPS module already loaded
Connecting to the policy store
Get list of servers to evaluate
Starting server loop
Finished server loop
VERBOSE: Jun 17 2015 1:38:44:493PM - Starting data integration for Category Microsoft Best Practices: Performance
VERBOSE: Jun 17 2015 1:38:45:200PM |- 485 rows inserted...
VERBOSE: Jun 17 2015 1:38:45:200PM - Starting no target data integration
VERBOSE: Jun 17 2015 1:38:46:513PM |- 30 rows inserted...
VERBOSE: Jun 17 2015 1:38:46:513PM - Starting errors data integration
VERBOSE: Jun 17 2015 1:38:46:577PM |- 0 rows inserted...
VERBOSE: Jun 17 2015 1:38:46:577PM - Finished data integration for Category Microsoft Best Practices: Performance
Finished policy category evaluation - 17.06.2015 13:38:46

PS SQLSERVER:\SQLPolicy\CHDB221\DEFAULT\Policies>

I found the solution to create a list of execution in a PowerShell launcher script like this one:

Write-Host " ----------------------------------------------------------------------------------- "
Write-Host " ----- CHECK POLICIES: Microsoft Best Practices: Performance ----- "
Write-Host " ----------------------------------------------------------------------------------- "
SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX2" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX3" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX4" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX5" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"
.\EPM_EnterpriseEvaluation_412.ps1 -ConfigurationGroup "XXXXX6" -PolicyCategoryFilter "Microsoft Best Practices: Performance" -EvalMode "Check"

SL "D:\POLICYMGT_DATA\POWERSHELLScript\"

Write-Host " ----------------------------------------------------------------------------------- "
Write-Host " ----- CHECK POLICIES: Microsoft Best Practices: Performance ----- "

Write-Host " ----------------------------------------------------------------------------------- "

I hope it will resolve also your issue.

Romelard Fabrice [MVP]