Pular para o conteúdo
PowerShell

PHP — Chamando Script em PowerShell

Atualizado em
Capa do artigo: 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