2017-02-14 16 views
9

Я пытаюсь сменить пароль с помощью активного каталога с помощью cfexecute. Единственный код на моей странице это (имя пользователя и новый пароль заполнены):CFEXECUTE назначает его для запуска с правами администратора

<cfexecute 
name="c:\windows\system32\cmd.exe" 
arguments="NET USER username password /domain" 
outputfile="C:\Users\administrator\Desktop\test.txt" 
timeout="90"> 
</cfexecute> 

Когда я попытался запустить этот код через Dreamweaver на моем компьютере вкладку в браузере продолжал вращаться даже после 5 минут ... Я закрыл вкладку, отправленную на сервер, и файл text.txt был пуст. Но я не могу удалить его, потому что он говорит, что coldfusion.exe использует его ???? Также он не изменил пароль пользователей.

Итак, я открыл командную строку на своем компьютере и побежал NET USER username password /domain, он дал мне System error 5 has occured. Access is denied..

Итак, я пошел к серверу, зарегистрированному как администратор, побежал NET USER username password /domain, и он сработал.

Как сказать cfexecute для запуска в качестве администратора при запуске, чтобы он работал правильно?

Я искал документы cfexecute, и это не похоже на cfldap, где вы можете выбрать имя пользователя и пароль.

Любая помощь с этим была бы принята с благодарностью!

Редактировать

Также проверяются файлы журналы администратора и заявил об этом:

Error occurred: coldfusion.tagext.lang.ExecuteTag$TimeoutException: Timeout period expired without completion of c:\windows\system32\cmd.exe 

(Это не может запустить эту простую команду в течение 90 секунд тайма-аута, но работает мгновенно, когда я запускаю его в командной строки?) Есть ли что-то не так с использованием cfexecute?

EDIT ВОЗМОЖНО? Для добавления пользователя всегда работает, чтобы изменить пароль, как так ?:

"/c net user /user:domain\Administrator <admin-pwd> username password /domain" 
+0

Есть две проблемы: а) тайм-аут и б) вопросы возможных разрешений. Первоначальный тайм-аут состоит в том, что cmd.exe все еще запущен (проверьте Диспетчер задач). Вам нужно добавить '/ c' в аргументы, чтобы он выполнял команду и завершал cmd.exe. Попробуйте этот простой тест и распечатайте две переменные: result и errorMessage: ' ' – Leigh

+0

Если это работает, попробуйте использовать его с использованием' net use'. Я не помню с головы, если «net use» будет работать с использованием учетной записи CF по умолчанию или требует повышенных разрешений. – Leigh

+0

@Leigh экран просто белый и ничего не было в файлах журнала admin –

ответ

6

ColdFusion только в состоянии получить доступ к учетной записи домена и пользователя, который используется службой ColdFusion.

Если вы хотите аутентифицировать имя пользователя/домен в локальной системе или домене Windows с помощью любой версии ColdFusion, рассмотрите возможность использования тега CFX_EXEC.

http://adiabata.com/cfx_exec.cfm

<CFX_EXEC 
    CMD="NET USER username password /domain" 
    USER="Administrator" 
    PWD="pass" 
    DOMAIN="domain" 
    FILE="C:\Users\administrator\Desktop\test.txt"> 
+0

, так что это будет запускать подсказку cmd как пользователь? –

+0

поддерживается, потому что выглядит многообещающе :) –

+0

Не нормальная команда? Вы должны купить его? –