我想编写一个PowerShell脚本,该脚本运行存储在URL上的PowerShell脚本,传递自定义参数并转发给此PowerShell的所有参数。具体来说,我可以这样做:
$VAR=Invoke-WebRequest http://example.com/powershell.ps1
$TEMP=New-TemporaryFile
$FILE=$TEMP.FullName + ".ps1"
$VAR.Content | Out-File $FILE
& $FILE somearguments $args
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望在不使用临时文件的情况下执行此操作,但是powershell -content -
似乎不允许同时传递参数。有什么办法可以避免使用临时文件?
直接从Chocolatey网站窃取。我经常使用它
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Run Code Online (Sandbox Code Playgroud)
自动下载并启动remote
PowerShell 脚本,无需保存(动态):
iex (iwr $ScriptURL).Content
Run Code Online (Sandbox Code Playgroud)
哇:
alias iex,iwr
Run Code Online (Sandbox Code Playgroud)
更多帮助:
Get-Help Invoke-Expression
Get-Help Invoke-WebRequest
Run Code Online (Sandbox Code Playgroud)
您可以将内容转换为脚本块,然后使用参数将其作为命令调用
$Script = Invoke-WebRequest 'http://example.com/powershell.ps1'
$ScriptBlock = [Scriptblock]::Create($Script.Content)
Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList ($args + @('someargument'))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6374 次 |
最近记录: |