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
Bisbilhoscópio: monitorando Windows Server e IIS
Conheça o Bisbilhoscópio, meu monitor de Windows Server, IIS, SQL Server e MySQL com agente somente leitura e alertas em português. 1º servidor grátis.
API Mágica: notificações Web Push no navegador com PHP
Web Push com a API Mágica em PHP puro: o navegador se inscreve, o seu site envia a notificação e a API conta o clique. Sem Composer e sem biblioteca.
IndexNow: avisando o Bing e o Yandex mais rápido
Como criar a chave do IndexNow e avisar Bing e Yandex das suas páginas novas com Node.js e PHP: as requisições, os erros reais e as armadilhas.


