2017-02-15 3 views
1

Возможно ли сразу несколько паролей активных паролей пользователей? Могу ли я создать список имен пользователей и дать им одинаковый пароль одновременно, как показано ниже? Или что-то вроде этого невозможно?Изменение паролей нескольких пользователей в активном каталоге сразу

<cfset usernames = 'Sta1, Sta2, Sta3, Sta4, Sta5'> 
<cfset password = 'newpassword17!'> 

<cfloop list="#usernames#" index="username"> 
<cfexecute 
    name="c:\windows\system32\cmd.exe" 
    arguments="/c net user #username# #password# /domain" 
    outputfile="C:\Users\administrator\Desktop\test.txt" 
    timeout="90"> 
</cfexecute> 
</cfloop> 
+0

Поместите cfexecute внутри цикла списка имен. –

+0

@ DanBracuk вот так? (выше) –

+0

Выглядит хорошо в теории. Что случилось, когда вы попробовали? К сожалению, пробелы после запятых должны уходить. –

ответ

1

ОП рассматривал решение ColdFusion, но запросил этот пример PowerShell в комментариях. Поэтому, пожалуйста, не давайте отрицательные оценки, потому что это не соответствует запросу OP.

@DavidBrierton, добавьте тег PowerShell к вашему вопросу, чтобы другие могли найти этот ответ.

Обратите внимание, что этот сценарий PowerShell предназначен для современной реализации PowerShell. Я тестировал его на PowerShell 5.1, но он, вероятно, будет работать с более старыми версиями PowerShell. Если вы используете более старый Windows Server, возможно, потребуется настроить «установить интерфейс RSAT-AD-PowerShell». Я включил URL-адрес для инструкций по установке из Windows 7 через Windows 2012 R2, если это необходимо.

Другой Примечание: обновление PowerShell свободны, и вы можете обновить до версии 5.1, получая программное обеспечение здесь: https://www.microsoft.com/en-us/download/details.aspx?id=54616

Первая строка кода в этом примере будет отображать установленную версию PowerShell.

#display your version of PowerShell 
$PSVersionTable.PSVersion 

#install the RSAT-AD-PowerShell feature on Windows Server 2012 R2 
#Source: https://4sysops.com/archives/how-to-install-the-powershell-active-directory-module/ 
Add-WindowsFeature RSAT-AD-PowerShell 

# create array of usernames 
$arrUserNames = @("Sta1", "Sta2", "Sta3", "Sta4", "Sta5") 

# assign variable with new password 
$password = "newpassword17!" 

# loop over usernames and assign a new password 
($arrUserNames).split(" ",[StringSplitOptions]'RemoveEmptyEntries') | foreach { 
    Write-Host "Changing password for: $_" 
    Set-ADAccountPassword -Identity $_ -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $password -Force) 
} 
+1

Язык программирования не так важен, как отсутствие разрешения. –

+1

Да, проблема с root была связана с разрешениями (и я предоставил ссылку на то, как это сделать), но вы должны спросить ... Должен ли сервер приложений ColdFusion иметь много прав безопасности? Если ColdFusion взломан (или издевается внутри), разве вы не открываете дверь для дальнейших злоупотреблений/эксплойтов? Microsoft PowerShell был разработан для автоматизации этих задач. Эта задача могла быть разработана с использованием SQL Server с xp_cmdshell. Будет ли это работать? Да. Хорошая идея? Возможно нет. –