为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP powershell 脚本更改默认打印机纸张尺寸

使用 PHP powershell 脚本更改默认打印机纸张尺寸

PHP
皈依舞 2023-09-15 17:04:24
我正在尝试从 PHP 更改默认打印机纸张尺寸索引.php<?php$printer = Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "(Get-WmiObject win32_printer | Where-Object Default -eq $True).Name"');$printer = substr($printer, 0, -1);$printer = '"' . $printer . '"';$cmd = ('powershell.exe -executionpolicy bypass -NoProfile -Command ../A5.ps1 ' .$printer);echo shell_exec($cmd);?>A5.ps1$printer=$args[0]Set-PrintConfiguration -PrinterName $printer -PaperSize A5错误Set-PrintConfiguration : The specified printer was not found. At C:\Users\t4taa\Desktop\phpdesktop\A5.ps1:2 char:1 + Set-PrintConfiguration -PrinterName $printer -PaperSize A5 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_PrinterConfiguration:ROOT/StandardCi...erConfiguration) [Set-PrintCo nfiguration], CimException + FullyQualifiedErrorId : HRESULT 0x80070709,Set-PrintConfiguration当我从 PowerShell 运行脚本文件时工作正常,但从 PHP 运行脚本文件时,它拒绝获取打印机名称或错过双引号,如何解决此问题。
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

为什么不A5.ps1改成


$printer = (Get-WmiObject win32_Printer | Where-Object { $_.Default -eq $true }).Name

Set-PrintConfiguration -PrinterName $printer -PaperSize A5

让 powershell 找出默认打印机名称并设置纸张尺寸。


这样你就可以在index.php:


<?php

$cmd = ('powershell.exe -ExecutionPolicy Bypass -NoProfile -File ../A5.ps1');

echo shell_exec($cmd);

?>

使用-File而不是-Command



查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信