private void ValidateParameters()

in src/PFXImportPowershell/PFXImportPS/cmdlets/NewUserPFXCertificate.cs [228:287]


        private void ValidateParameters()
        {
            const string ProviderNameVariable = "EncryptPFXFilesProviderName";
            const string KeyNameVariable = "EncryptPFXFilesKeyName";
            const string IntendedPurposeVariable = "EncryptPFXFilesIntendedPurpose";
            const string PaddingSchemeVariable = "EncryptPFXFilesPaddingScheme";

            // Get Session Variable for ProviderName if one wasn't supplied.
            if (!string.IsNullOrEmpty(ProviderName))
            {
                SessionState.PSVariable.Set(ProviderNameVariable, ProviderName);
            }
            else
            {
                ProviderName = SessionState.PSVariable.GetValue(ProviderNameVariable, string.Empty).ToString();
            }

            // Get Session Variable for KeyName if one wasn't supplied.
            if (!string.IsNullOrEmpty(KeyName))
            {
                SessionState.PSVariable.Set(KeyNameVariable, KeyName);
            }
            else
            {
                KeyName = SessionState.PSVariable.GetValue(KeyNameVariable, string.Empty).ToString();
            }


            if (string.IsNullOrEmpty(KeyFilePath) && (string.IsNullOrEmpty(KeyName) || string.IsNullOrEmpty(ProviderName)))
            {
                ThrowTerminatingError(
                    new ErrorRecord(
                        new ArgumentException("KeyFilePath or ProviderName and KeyName is required."),
                            Guid.NewGuid().ToString(),
                            ErrorCategory.InvalidArgument,
                            null));
            }

            // Get Session Variable for IntendedPurpose if one wasn't supplied. Default to Unassigned if never supplied.
            if (IntendedPurpose != null)
            {
                SessionState.PSVariable.Set(IntendedPurposeVariable, IntendedPurpose);
            }
            else
            {
                IntendedPurpose = (UserPfxIntendedPurpose)SessionState.PSVariable.GetValue(IntendedPurposeVariable, 0);
            }

            // Get Session Variable for Padding Scheme if one wasn't supplied. Default to None if never supplied.
#pragma warning disable CS0618 // Type or member is obsolete
            if (PaddingScheme != null)
            {
                SessionState.PSVariable.Set(PaddingSchemeVariable, PaddingScheme);
            }
            else
            {
                PaddingScheme = (UserPfxPaddingScheme)SessionState.PSVariable.GetValue(PaddingSchemeVariable, 0);
            }
#pragma warning restore CS0618 // Type or member is obsolete
        }