I received the following error when doing a 2010 server installation including SP2 in the updates folder.
Exception : System.Management.Automation.ParameterBindingValidation
Exception: Cannot validate argument on parameter 'Name'
. The argument is null or empty. Supply an argument tha
t is not null or empty and then try the command again.
---> System.Management.Automation.ValidationMetadataExc
eption: The argument is null or empty. Supply an argume
nt that is not null or empty and then try the command a
gain.
at System.Management.Automation.ValidateNotNullOrEmp
tyAttribute.Validate(Object arguments, EngineIntrinsics
engineIntrinsics)
at System.Management.Automation.ParameterBinderBase.
BindParameter(CommandParameterInternal parameter, Compi
ledCommandParameter parameterMetadata, ParameterBinding
Flags flags)
--- End of inner exception stack trace ---
I found the issue at like 1093 of AutoSPInstallerFunctions.ps1 . The following line:
```
$sp2010LPServicePacks = Get-ChildItem "$bits\$spYear\Updates" -Name -Include oslpksp2010*.exe -ErrorAction SilentlyContinue | Sort-Object -Descending
```
Returned a collection with a single empty string instead of an empty collection. This caused a call to InstallSpecifiedUpdate in the loop below with an empty string, which caused the installation to bomb.
Adding the Null/Empty string check in the loop (see below) resolved in the installation issue.
```
foreach ($sp2010LPServicePack in $sp2010LPServicePacks)
{
if (-Not ([System.String]::IsNullOrEmpty($sp2010LPServicePack)))
{
InstallSpecifiedUpdate $sp2010LPServicePack ""
}
}
}
```
Exception : System.Management.Automation.ParameterBindingValidation
Exception: Cannot validate argument on parameter 'Name'
. The argument is null or empty. Supply an argument tha
t is not null or empty and then try the command again.
---> System.Management.Automation.ValidationMetadataExc
eption: The argument is null or empty. Supply an argume
nt that is not null or empty and then try the command a
gain.
at System.Management.Automation.ValidateNotNullOrEmp
tyAttribute.Validate(Object arguments, EngineIntrinsics
engineIntrinsics)
at System.Management.Automation.ParameterBinderBase.
BindParameter(CommandParameterInternal parameter, Compi
ledCommandParameter parameterMetadata, ParameterBinding
Flags flags)
--- End of inner exception stack trace ---
I found the issue at like 1093 of AutoSPInstallerFunctions.ps1 . The following line:
```
$sp2010LPServicePacks = Get-ChildItem "$bits\$spYear\Updates" -Name -Include oslpksp2010*.exe -ErrorAction SilentlyContinue | Sort-Object -Descending
```
Returned a collection with a single empty string instead of an empty collection. This caused a call to InstallSpecifiedUpdate in the loop below with an empty string, which caused the installation to bomb.
Adding the Null/Empty string check in the loop (see below) resolved in the installation issue.
```
foreach ($sp2010LPServicePack in $sp2010LPServicePacks)
{
if (-Not ([System.String]::IsNullOrEmpty($sp2010LPServicePack)))
{
InstallSpecifiedUpdate $sp2010LPServicePack ""
}
}
}
```