使用php运行powershell脚本

时间:2017-03-17 09:02:56

标签: php powershell

我有一个文件,其中包含一个必须根据我提交给php表单的值运行的powershell脚本。

我已经想出了如何运行linewise命令。如果我可以将表单值作为输入传递给shell脚本并获取输出,那将会很棒。

关于如何将表单值发布到powershell 读取主机元素的任何想法?

提前致谢:)

编辑:如果有人可以请让我知道一种通过php回复Read-Host的方法也很棒:)

1 个答案:

答案 0 :(得分:1)

在这种情况下我不会使用var getChartData = function() { return $http.get("./AlertsJsonCreation").success(function(response) { $scope.jsonChart = response; console.log("Inside refresh", $scope.jsonChart); }); }; $interval(function() { getChartData(); }, 5000); getChartData().then(function(response){ console.log("Refresh then", $scope.jsonChart); DealerChart($scope.jsonChart.dealer, $scope.jsonChart.dealerDrilldown); }); function DealerChart(dealer, drilldown) { ... series: [{ name: 'Regions', colorByPoint: true, data: dealer }], drilldown: { series: drilldown }, .... } ,因为它只对需要提示用户手动输入值的交互式脚本非常有用。

由于你想从php调用脚本,使用参数会更好。这样,您就可以从命令行为脚本提供输入。

更新此示例脚本以使用参数...

Read-Host

运行时会生成以下输出

$computerName = Read-Host -Prompt "Enter your Computer Name"
$filePath = Read-Host -Prompt "Enter the File Path"

Write-Host "$computerName is your computer name!"
Write-Host "Your files are in $filePath location"

您可以使用以下参数:

PS C:\> Get-Something.ps1

Enter your Computer Name: SERVER1
Enter the File Path: C:\folder
SERVER1 is your computer name!
Your files are in C:\folder location

运行时会生成以下输出

Param(
    [string]$computerName,
    [string]$filePath
)

Write-Host "$computerName is your computer name!"
Write-Host "Your files are in $filePath location"