因此,在我的个人资料中,如果PoshCode不存在,我会尝试下载它:
Function Initialize-PoshCodeScript ([string] $ScriptName, [int] $ScriptId) {
$ScriptFile = Join-Path $ScriptsFolder "$ScriptName.ps1"
if (-not (Test-Path $ScriptFile)) {
"Could not find script $ScriptName, attempting to download"
try {
Get-PoshCode -Id $ScriptId -PassThru | Set-Content $ScriptFile
} catch {
"Could not download $($ScriptName): $_"
}
}
}
一个问题是Get-WebFile
PoshCode 模块中的 Cmdlet 尝试向用户请求凭据,因为它的一些参数具有CredentialAttribute,即使它在不提供它们的情况下运行得非常好。显然应该有一些方法可以禁用这个提示,我期待-NonInteractive
会这样做,但它没有。跑步
powershell -NoProfile -NonInteractive -c 'Import-Module PoshCode; Get-PoshCode -Id 2197 -PassThru'
导致外壳锁定并等待对话框被关闭。