Я могу подумать о двух подходах, однако каждый из них будет включать в себя написание кода сверх вашего сценария установки, я больше не знаком с Installshield, но, вероятно, как и в проектах установки Visual Studio, у вас есть концепция пользовательских действий. , Я подозреваю, что это то, что вам нужно.
Я только обрисую в общих чертах первое, потому что второе является довольно сложным (то есть даже более сложным, чем первое!). Очевидный подход - AD. Следующий фрагмент кода расскажет вам, существует ли комбинация имени пользователя и пароля. Получив пользователя, я уверен, что вы сможете определить, в какие группы они входят.
if (true == String.IsNullOrEmpty(userName)) throw new Exception("userName not set");
DirectoryEntry entry = new DirectoryEntry();
entry.Username = userName; // Use the fully qualified name here
entry.Password = password;
string DomainlessUsername = userName.Substring(userName.LastIndexOf('\\') + 1, userName.Length - userName.LastIndexOf('\\') - 1);
// We know straight away that if this is empty, we've drawn a blank!
if (true == String.IsNullOrEmpty(DomainlessUsername)) throw new Exception("userName not set");
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + DomainlessUsername + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
throw new Exception("FindOne executed without exception, but result was null");
}
else
{
// some logging here
}
return true;
Теперь здесь есть потенциальная проблема, если у учетной записи, которая выполняет этот код, нет прав доступа к AD. Я не буду вдаваться в подробности в этом посте, потому что, надеюсь, приведенного выше кода будет достаточно, чтобы помочь вам, но основной принцип альтернативного подхода заключается в том, чтобы напрямую выложить в advapi32.dll такие функции, как LogonUser. (Имейте в виду, что снова моя проблема заключалась в проверке учетных данных, а не проверке прав администратора, но, вероятно, там есть ссылка, если вы готовы копать).
Надеюсь, что это поможет!