से पावरशेल स्क्रिप्ट निष्पादित करने में मैं PHP से पावरहेल स्क्रिप्ट निष्पादित करने का प्रयास कर रहा हूं, लेकिन ऐसा लगता है कि यह काम नहीं करता है।php
स्क्रिप्ट 'newEvent.ps1' एक्सचेंज सर्वर पर एक ईवेंट बनाता है।
$psPath = "powershell.exe";
$psDIR = "C:\\wamp\\www\\ant\\assets\\ps\\";
$psScript = "newEvent.ps1";
$runScript = $psDIR. $psScript;
$runCMD = $psPath." ".$runScript." 2>&1";
echo "\$psPath $psPath <br>";
echo "\$psDIR $psDIR <br>";
echo "\$psScript $psScript <br>";
echo "\$runScript $runScript <br>";
echo "\$runCMD $runCMD <br>";
exec($runCMD,$out,$ret);
echo "<pre>";
print_r($out);
print_r($ret);
echo "</pre>";
यह आउटपुट:
$psPath powershell.exe
$psDIR C:\wamp\www\ant\assets\ps\
$psScript newEvent.ps1
$runScript C:\wamp\www\ant\assets\ps\newEvent.ps1
$runCMD powershell.exe C:\wamp\www\ant\assets\ps\newEvent.ps1 2>&1
Array
(
[0] => File C:\wamp\www\ant\assets\ps\newEvent.ps1 cannot be loaded because the execut
[1] => ion of scripts is disabled on this system. Please see "get-help about_signing"
[2] => for more details.
[3] => At line:1 char:39
[4] => + C:\wamp\www\ant\assets\ps\newEvent.ps1 <<<<
[5] => + CategoryInfo : NotSpecified: (:) [], PSSecurityException
[6] => + FullyQualifiedErrorId : RuntimeException
[7] =>
)
अगर मैं कमांड लाइन पर powershell.exe C:\wamp\www\ant\assets\ps\newEvent.ps1
चलाने के लिए, यह ठीक काम करता है।
यह पहली बार ऐसा कुछ करने का प्रयास कर रहा है। मैं Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
भाग गया लेकिन यह अभी भी मुझे एक ही त्रुटि देता है। वास्तव में मैं Set-ExecutionPolicy unristricted
चला गया, लेकिन यह अभी भी वही है।
आपके द्वारा चलाए जा रहे कमांड लाइन को देखें। –
32-बिट और 64-बिट दोनों उदाहरणों में जाना सुनिश्चित करें और निष्पादन नीति सेट करें फिर पुन: प्रयास करें।-> सेट-एक्जिक्यूशन पॉलिसी अप्रतिबंधित –