我有一个Powershell脚本可以在Windows 10上安装TCP/IP打印机,它使用PNPUTIL来加载驱动程序。当脚本从Powershell窗口运行时,一切都很好。
当我使用格式从快捷方式启动脚本时
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1
当调用PNPUTIL时,我得到了一个错误:'pnputil.exe‘这个术语不能识别为cmdlet、函数、脚本文件或可操作程序的名称’。脚本的其余部分运行良好。
相关守则:
Write-Host `n 'Installing printer driver..'
pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"
有什么想法,为什么这将不能工作时,推出了一条捷径?
编辑:我试着用
& pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"
中引用的
Running CMD command in PowerShell
但我还是明白错误。我也试过
start-process pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"
但也有一个类似的错误,无法找到pnputil.exe。
这两个选项都可以在Powershell提示符下工作,但在从快捷方式启动时再次失败。
提前谢谢你。
发布于 2018-11-14 04:03:20
在64位系统上调用32位实例 of PowerShell,该实例没有看到pnputil.exe
(仅通过文件名)。
而不是:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1
用途:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1
C:\Windows\SysWOW64
是32位可执行文件所在的位置.C:\Windows\System32
保存的。如果出于某种原因,您确实需要运行PowerShell的32位实例,则可以通过其完整路径调用pnputil.exe
:
它仅作为64位可执行文件存在于64位系统文件夹中,32位进程可以作为C:\Windows\SysNative
访问该文件夹。
C:\Windows\SysNative\pnputil.exe
https://stackoverflow.com/questions/53289365
复制相似问题