したがって、私のプロファイルでは、存在しない場合は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): $_"
}
}
}
問題の 1 つはGet-WebFile
、PoshCode モジュールの Cmdlet がユーザーに資格情報を要求しようとすることです。そのパラメーターの一部にはCredentialAttributeが含まれているため、それらを提供しなくても完全に正常に動作します。明らかに、このプロンプトを無効にする方法があるはずです。私はそれを期待し-NonInteractive
ていましたが、そうではありませんでした。ランニング
powershell -NoProfile -NonInteractive -c 'Import-Module PoshCode; Get-PoshCode -Id 2197 -PassThru'
シェルがロックアップし、ダイアログが閉じられるのを待ちました。