Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 处理带有消息SWbemLocator的未捕获异常“com_exception”时出错。描述:访问被拒绝_Php_Com_Wmi - Fatal编程技术网

Php 处理带有消息SWbemLocator的未捕获异常“com_exception”时出错。描述:访问被拒绝

Php 处理带有消息SWbemLocator的未捕获异常“com_exception”时出错。描述:访问被拒绝,php,com,wmi,Php,Com,Wmi,我正在连接到远程服务器以获取一些WMI信息 $wmiLocator = new COM('WbemScripting.SWbemLocator'); $obj = $wmiLocator->ConnectServer($host, 'root\cimv2', $user, $pass); $Printers = $obj->ExecQuery("Select * from Win32_Printer"); 用户名和密码由用户输入。现在,我想确保他在运行查询之前正确输入了凭据,

我正在连接到远程服务器以获取一些WMI信息

$wmiLocator = new COM('WbemScripting.SWbemLocator');
$obj = $wmiLocator->ConnectServer($host, 'root\cimv2', $user, $pass);
$Printers =    $obj->ExecQuery("Select * from Win32_Printer");
用户名和密码由用户输入。现在,我想确保他在运行查询之前正确输入了凭据,因为我会收到以下错误消息:

致命错误:未捕获的异常“com_异常”包含消息 '来源:SWbemLocatorDescription:访问被拒绝。 '在test.php中

是否有人知道如何捕获此信息或如何事先检查访问权限


谢谢

您需要添加额外的WMI代码进行身份验证,因为WMI需要额外的凭据。我不懂php,但如果你想从VBS翻译,我可以发布一个带有一些有用信息和链接的答案。更多的是在身份验证失败时捕捉错误。以上代码在信誉正常时起作用$wmiLocator=new COM'WbemScripting.SWbemLocator'$obj=$wmiLocator->ConnectServer$host,'root\cimv2',$user,$pass$打印机=$obj->ExecQuerySelect*从Win32_打印机;foreach$Printers as$wmi_Printer{$PortName=$wmi_Printer->PortName;echo$PortName//提供连接的打印机名称;}其中$user和$pass从表单提交。我将与错误捕获人员核实,是否找到解决方案?当主机不可用或没有响应时,我还需要捕获错误。