首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从快捷方式启动脚本时Powershell找不到PNPUTIL

从快捷方式启动脚本时Powershell找不到PNPUTIL
EN

Stack Overflow用户
提问于 2018-11-13 20:55:37
回答 1查看 6.2K关注 0票数 2

我有一个Powershell脚本可以在Windows 10上安装TCP/IP打印机,它使用PNPUTIL来加载驱动程序。当脚本从Powershell窗口运行时,一切都很好。

当我使用格式从快捷方式启动脚本时

代码语言:javascript
运行
复制
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1

当调用PNPUTIL时,我得到了一个错误:'pnputil.exe‘这个术语不能识别为cmdlet、函数、脚本文件或可操作程序的名称’。脚本的其余部分运行良好。

相关守则:

代码语言:javascript
运行
复制
Write-Host `n 'Installing printer driver..'
pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"

有什么想法,为什么这将不能工作时,推出了一条捷径?

编辑:我试着用

代码语言:javascript
运行
复制
& pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"

中引用的

Running CMD command in PowerShell

但我还是明白错误。我也试过

代码语言:javascript
运行
复制
start-process pnputil.exe /add-driver "\\myServer\HP UPD PCL 5\hpcu180t.inf"

但也有一个类似的错误,无法找到pnputil.exe。

这两个选项都可以在Powershell提示符下工作,但在从快捷方式启动时再次失败。

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 04:03:20

在64位系统上调用32位实例 of PowerShell,该实例没有看到pnputil.exe (仅通过文件名)。

而不是:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1

用途:

代码语言:javascript
运行
复制
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file MyScript.PS1
  • 文件夹C:\Windows\SysWOW64是32位可执行文件所在的位置.
  • 自相矛盾的是,出于历史原因,64位可执行文件是由C:\Windows\System32保存的。

如果出于某种原因,您确实需要运行PowerShell的32位实例,则可以通过其完整路径调用pnputil.exe

它仅作为64位可执行文件存在于64位系统文件夹中,32位进程可以作为C:\Windows\SysNative访问该文件夹。

代码语言:javascript
运行
复制
C:\Windows\SysNative\pnputil.exe
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53289365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档