Я пытаюсь сделать php-скрипт для изменения паролей пользователей Active Directory, выполнив powershell. http://pastebin.com/XYvSFjPv - для тех, кто хочет посмотреть
Ran в проблему, избегающую кавычек "
и '
Моя цель состоит в том, чтобы в полной мере использовать все символы (стандарт utf08), включая кавычки, поскольку я прошел через многие веб-сайты о том, как убежать и до сих пор не пришел к удовлетворительному результату. помогите избежать этих символов, если это вообще возможно, потому что я не нашел никакой функции, чтобы легко избежать символов.
Я запускаю этот скрипт на сервере Windows 2008 с IIS 7, PHP 5.4 и Powershell v1.0
и по наблюдению команда shell_exec()
отправляет в командную строку, которая, в свою очередь, запускает powershell (я не уверен, что мне нужно удвоить escape, чтобы сделать эту работу.)
И чтобы убедиться, что ясно, что я хотел бы избежать следующих символов '
и "
для Powershell v1.0 с помощью shell_exec()
команды.
Самый простой способ передать сложные аргументы Powershell - использовать переключатель -EncodedCommand
. Требуется строка параметров кодировки Base64. Для кавычек или любых других странных символов для этого не требуется экранирование. Это обсуждалось в других сообщениях. Php получил функцию base64_encode()
которая должна работать.
{
,"
и т. П. Проверки работоспособности и ввод данных дезинфекции должны выполняться другими методами.