powershell - Windows 命令控制台运行 powershell 脚本(ps1)
问题描述
我想从批处理文件中运行 .ps1 。我需要在网站上下载一个只需要 http 请求的可执行文件。
我的 .ps1 代码在 Windows Powershell ISE(未提升)中工作,但从我的批处理文件运行时却不行。
我的批处理和 .ps1 文件如下,有人可以帮助我吗?
这是批处理文件
echo test
powershell -noexit -file C:\Users\username\Desktop\tyty.ps1
pause
这是ps.1
$userAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer
$downloadUrl = ((Invoke-WebRequest –Uri "http://tax.nat.gov.tw/info_BLR_download.html?id=2").Links | Where-Object {$_.href -like “*BLR_*I.exe” -and $_.href -notlike “*BLRATH*” } | Select-Object -ExpandProperty href)
Invoke-WebRequest -Uri $downloadUrl -OutFile "C:\Temp\BLR.exe" -UserAgent $userAgent
错误
[Microsoft.PowerShell.Commands.PSUserAgent]。 C:\Users\username\Desktop\tyty.ps1:1 字元:14
+ $userAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::InternetExp ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Power...nds.PSUserAgent:TypeName) [],RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
解决方案
要使某个类型可用,如果 PowerShell 尚未自动加载它,只需使用Import-Module
or手动添加相应的模块或程序集Add-Type
。在您的情况下,您必须加载一个可以从文档(Microsoft.PowerShell.Commands.PSUserAgent
)派生的程序集:
Add-Type -AssemblyName Microsoft.PowerShell.Commands.Utility
推荐阅读
- splunk - 配置 splunk 警报时,精确函数 wrt 标准差如何工作?
- javascript - 如何在反应中将路由参数值传递给我的标题组件和页面内容组件?
- python - 列表定义的外部方法内部无法访问?
- swift - 如何根据泛型类型执行泛型结构的方法的不同实现?
- css - 如何制作体积阴影css
- java - GridLayout 没有所需的列数和行数
- javascript - 从上下文中删除不可配置的对象
- database - 如何为 platform.sh 托管的 Symfony 项目设置数据库密码?
- java - DynamicReports reportParameters.getFieldValue() 返回错误值
- pytorch - Libtorch:无法加载跟踪的 lstm 脚本模型