public bool ParseParams(string[] args) { try { for (int i = 0; i < args.Length; i += 2) { if (!args[i].StartsWith("-") || (i + 1 == args.Length)) return false; if (args[i].Equals("-Context")) { if (args[i + 1].Equals("User")) m_context = X509CertificateEnrollmentContext.ContextUser; else if (args[i + 1].Equals("Machine")) m_context = X509CertificateEnrollmentContext.ContextAdministratorForceMachine; else return false; } else if (args[i].Equals("-TemplateName")) m_strTemplateName = args[i + 1]; else if (args[i].Equals("-PolicyServerAuthType")) { if (args[i + 1].Equals("Kerberos")) m_PolicyServerAuthType = X509EnrollmentAuthFlags.X509AuthKerberos; else if (args[i + 1].Equals("UsernamePassword")) m_PolicyServerAuthType = X509EnrollmentAuthFlags.X509AuthUsername; else return false; } else if (args[i].Equals("-PolicyServerUrl")) m_strPolicyServerUrl = args[i + 1]; else if (args[i].Equals("-PolicyServerUsername")) m_strPolicyServerUsername = args[i + 1]; else if (args[i].Equals("-PolicyServerPassword")) m_strPolicyServerPassword = args[i + 1]; else if (args[i].Equals("-EnrollmentServerAuthType")) { if (args[i + 1].Equals("Kerberos")) m_EnrollmentServerAuthType = X509EnrollmentAuthFlags.X509AuthKerberos; else if (args[i + 1].Equals("UsernamePassword")) m_EnrollmentServerAuthType = X509EnrollmentAuthFlags.X509AuthUsername; else return false; } else if (args[i].Equals("-EnrollmentServerUrl")) m_strEnrollmentServerUrl = args[i + 1]; else if (args[i].Equals("-EnrollmentServerUsername")) m_strEnrollmentServerUsername = args[i + 1]; else if (args[i].Equals("-EnrollmentServerPassword")) m_strEnrollmentServerPassword = args[i + 1]; else return false; } } catch(System.ArgumentException e) { Console.WriteLine("Error: {0}", e.Message); return false; } //Check if necessary members were set if (m_strTemplateName == null || m_PolicyServerAuthType == X509EnrollmentAuthFlags.X509AuthNone || m_strPolicyServerUrl == null || m_strEnrollmentServerUrl == null) return false; //Set enrollment server to the same auth type as policy server //if enrollment server auth type was not passed if (m_EnrollmentServerAuthType == X509EnrollmentAuthFlags.X509AuthNone) { m_EnrollmentServerAuthType = m_PolicyServerAuthType; m_strEnrollmentServerUsername = m_strPolicyServerUsername; m_strEnrollmentServerPassword = m_strPolicyServerPassword; } return true; }