PHP — Chamando Script em PowerShell
Ola Gente
Em alguns momentos precisamos acessar recursos do servidor que não estão acessíveis diretamente via PHP.
Para isto, podemos utilizar outras linguagens para nos auxiliar, neste exemplo, PowerShell.
Para este exemplo, temos um script em PowerShell dentro de um arquivo com nome “Comando.ps1” que recebe um parâmetro.
Este script (Em PowerShell) ira criar um diretório virtual no IIS.
Set-ExecutionPolicy Unrestricted
# --------------
Import-Module WebAdministration
# --------------
$sitenome = $args[0]
New-WebVirtualDirectory -Site $sitenome -Name "teste1" -PhysicalPath "C:\Inetpub\vhost\site.com.br\httpdocs\teste1"
# --------------
No PHP podemos chamar este “Comando.ps1” utilizando o “Shell_Exec”:
$Parametros = "teste1.com.br";
$Result = Shell_Exec('powershell.exe -executionpolicy bypass -NoProfile -File ".\Comando.ps1" ' . $Parametros);
echo $Result;
Caso o script não funcione, libere permissão de administrador ao pool que ira executar o script
Por hoje é isto, queridos desenvolvedores! 👩💼
Até logo! 👋
Leia também
PowerShell
PowerShell — Criando diretório virtual no IIS
Automatize a criação de diretórios virtuais no IIS com este simples script PowerShell, agilizando a configuração de novos sites