Хотя, похоже, есть три доступных варианта, один из которых на самом деле безопасен, похоже, есть только два доступных варианта, которые смогут повлиять на машины, которые не включены во время изменения или являются мобильными и не были в сети. во время перемен. Ни один из двух вариантов не кажется безопасным. Мне известны три варианта:
Я отклоняю опцию Powershell, потому что я не знаю, как эффективно настраивать таргетинг / итерацию и отклонять уже измененные машины, все машины в сети и какое влияние это окажет на ненужные сетевые накладные расходы, даже если это, вероятно, лучшее доступное решение поскольку сам пароль может храниться в контейнере CipherSafe.NET (стороннее решение), а пароль передается сценарию на целевую машину. Я не проверял, может ли Powershell получить пароль из диспетчера учетных данных локальной машины Windows для использования в сценарии, или можно ли сохранить пароль для использования со сценарием.
Параметр сценария .vbs небезопасен, поскольку пароль хранится в виде открытого текста в общей папке SYSVOL, доступной для любого компьютера домена в сети. Любой, кто хочет найти черный ход и немного воспользоваться Google, найдет его, если будет достаточно настойчив.
Параметр GPO также небезопасен, как указано в этой заметке MSDN: http://code.msdn.microsoft.com/Solution-for-management-of-ae44e789
Я ищу стороннее решение, которое, по моему мнению, должно быть доступно или может быть разработано собственными силами с соответствующими знаниями или руководством.
Я собираюсь отнести свой комментарий в answertown.
Это должна быть третья сторона. Как вы уже отметили, ни один из трех упомянутых вами вариантов не является оптимальным. Microsoft не предлагает идеального способа сделать это. Его просто нет. Это будет сторонний поставщик, и он почти наверняка потребует от вас установки программного агента на всех ваших клиентах.
Я разработал решение именно для этой проблемы (за исключением того, что оно работало одновременно во многих лесах и доменах), и оно действительно включало VBscript для максимальной совместимости с как можно большим количеством разных версий Windows, а также некоторые биты C #, а также третий партийный программный агент, который, к счастью, компания уже использовала для целей мониторинга и поэтому уже была установлена на каждой машине, которую я смог использовать.
В качестве альтернативы вы можете просто отключить все локальные учетные записи администратора через GPO, что довольно часто. Но если что-то пойдет не так с синхронизацией домена на этом члене домена, восстановление будет больше PITA, чем если бы у вас была учетная запись «локального администратора» для восстановления.
Изменить: просто для пояснения: я смущен, когда вы говорите, что «ищете стороннее решение, которое ... должно быть разработано в доме ...» Я бы рассмотрел все, что написано не Microsoft как встроенный компонент Windows в данном контексте «сторонний». Можете ли вы сделать это с помощью какого-нибудь умного кода, который использует сетевую связь TLS и хранит секреты в базе данных SQL Server с прозрачным шифрованием данных с помощью сложной хеш-функции, которая генерирует уникальный пароль для каждой машины? ДА. Встроен ли он в Windows без каких-либо усилий с вашей стороны? Нет. :)
Что касается варианта GPO, указанная вами статья Microsoft (http://code.msdn.microsoft.com/Solution-for-management-of-ae44e789) указывает в своей документации (загрузите файл Documentation.zip) следующее:
Передача пароля с управляемого компьютера в Active Directory защищена шифрованием Kerberos, поэтому узнать пароль путем прослушивания сетевого трафика невозможно.
Подробные технические характеристики - Управление паролем учетной записи локального администратора - страница 5
Возможно, определение статьи не обновлено, поэтому я предлагаю вам ознакомиться с документацией и, возможно, провести некоторое тестирование, отслеживая трафик, чтобы вы могли быть уверены.