PHP到Powershell-转义

PHP到Powershell-转义,php,powershell,iis-7,active-directory,escaping,Php,Powershell,Iis 7,Active Directory,Escaping,我正试图通过执行powershell制作一个php脚本来更改Active Directory用户密码。-对于那些希望 转义引号“和”时遇到问题 我的目标是充分利用所有字符(utf08标准),包括引号 因为我已经浏览了很多关于如何逃跑的网站,但仍然没有得到令人满意的结果。 如果可能的话,我想在转义这些字符方面得到一些帮助,因为我没有发现任何函数可以轻松地转义字符 我正在Windows 2008服务器上运行此脚本,其中包含IIS 7、PHP 5.4和Powershell v1.0 通过观察,命令sh

我正试图通过执行powershell制作一个php脚本来更改Active Directory用户密码。-对于那些希望

转义引号
”时遇到问题
我的目标是充分利用所有字符(utf08标准),包括引号
因为我已经浏览了很多关于如何逃跑的网站,但仍然没有得到令人满意的结果。
如果可能的话,我想在转义这些字符方面得到一些帮助,因为我没有发现任何函数可以轻松地转义字符

我正在Windows 2008服务器上运行此脚本,其中包含IIS 7、PHP 5.4和Powershell v1.0

通过观察,命令
shell_exec()
发送到命令行,命令行随后启动powershell(我不确定是否需要双重转义才能使其工作)


为了确保清楚起见,我想使用
shell_exec()
命令对Powershell v1.0的以下字符进行转义

向Powershell传递复杂参数的最简单方法是使用
-EncodedCommand
开关。它采用Base64编码的参数字符串。引号或任何其他奇怪的字符都不需要转义。这是另一种情况。Php有一个应该可以工作的函数。

这也会解除注入攻击吗?@Werezwolf不,不会。Base64将保留输入。Powershell将获得输入,而无需担心
{
"
等等。健全性检查和健全性输入必须使用其他技术完成。我相信这是我答案的一部分,但不是全部。我在php utf8 charictors中强制执行,我将继续手动退出charictors。因为我还没有找到它的函数。这个答案应该可以解决通过命令行传递它时出现的任何问题由于shell_exe()运行cmd,我也为我的英语道歉,因为它不是我的强项