私はAzureとTFSおよび関連するものにかなり慣れていません。ですから、ここで用語を混同してしまったら、すみません。
オンプレミスインストールを使用して、Microsoft Team FoundationServerの機能をテストしています。私はサーバー自体の管理者ではありません。内部のプロジェクトの1つに管理者アクセスできます。
このプロジェクトにはいくつかのPythonコードを含むgitリポジトリがあり、このためにCIビルドパイプラインをセットアップしようとしています。また、このビルドパイプラインを実行するようにエージェントを手動で構成しています。とりあえず、エージェントとして実行するように作業しているWindowsマシンを構成しています。ジョブをリッスンするように設定できました。また、TFSサーバーから送信されたときにジョブを取得します。(私はcmd.exeウィンドウからエージェントを実行しています)しかし、ビルドパイプラインの一部として最も単純なコマンドラインタスクを実行することさえできませんでした。
以下はの出力ですwhere python
:
2019-08-27T14:41:15.1614046Z ##[section]Starting: Find python version
2019-08-27T14:41:15.1623937Z ==============================================================================
2019-08-27T14:41:15.1624042Z Task : Command Line
2019-08-27T14:41:15.1624091Z Description : Run a command line script using cmd.exe on Windows and bash on macOS and Linux.
2019-08-27T14:41:15.1624157Z Version : 2.146.1
2019-08-27T14:41:15.1624203Z Author : Microsoft Corporation
2019-08-27T14:41:15.1624258Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613735)
2019-08-27T14:41:15.1625058Z ==============================================================================
2019-08-27T14:41:15.6151701Z Cannot invoke method. Method invocation is supported only on core types in this language mode.
2019-08-27T14:41:15.6151921Z At line:1 char:1
2019-08-27T14:41:15.6151968Z + . ([scriptblock]::Create('if (!$PSHOME) { $null = Get-Item -LiteralPa ...
2019-08-27T14:41:15.6152019Z + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-08-27T14:41:15.6152077Z + CategoryInfo : InvalidOperation: (:) [], RuntimeException
2019-08-27T14:41:15.6152123Z + FullyQualifiedErrorId : MethodInvocationNotSupportedInConstrainedLanguage
2019-08-27T14:41:15.6152156Z
2019-08-27T14:41:17.7569608Z Cannot invoke method. Method invocation is supported only on core types in this language mode.
2019-08-27T14:41:17.7569833Z At line:1 char:740
2019-08-27T14:41:17.7570630Z + ... Continue' ; Invoke-VstsTaskScript -ScriptBlock ([scriptblock]::Create ...
2019-08-27T14:41:17.7571090Z + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-08-27T14:41:17.7572452Z + CategoryInfo : InvalidOperation: (:) [], RuntimeException
2019-08-27T14:41:17.7574051Z + FullyQualifiedErrorId : MethodInvocationNotSupportedInConstrainedLanguage
2019-08-27T14:41:17.7574178Z
2019-08-27T14:41:17.8271008Z ##[error]Exit code 1 returned from process: file name 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe', arguments '-NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". ([scriptblock]::Create('if (!$PSHOME) { $null = Get-Item -LiteralPath ''variable:PSHOME'' } else { Import-Module -Name ([System.IO.Path]::Combine($PSHOME, ''Modules\Microsoft.PowerShell.Management\Microsoft.PowerShell.Management.psd1'')) ; Import-Module -Name ([System.IO.Path]::Combine($PSHOME, ''Modules\Microsoft.PowerShell.Utility\Microsoft.PowerShell.Utility.psd1'')) }')) 2>&1 | ForEach-Object { Write-Verbose $_.Exception.Message -Verbose } ; Import-Module -Name 'C:\TOOLS\agent\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.146.1\ps_modules\VstsTaskSdk\VstsTaskSdk.psd1' -ArgumentList @{ NonInteractive = $true } -ErrorAction Stop ; $VerbosePreference = 'SilentlyContinue' ; $DebugPreference = 'SilentlyContinue' ; Invoke-VstsTaskScript -ScriptBlock ([scriptblock]::Create('. ''C:\TOOLS\agent\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.146.1\cmdline.ps1'''))"'.
2019-08-27T14:41:17.8301183Z ##[section]Finishing: Find python version
このコマンドは、マシンのコマンドラインからインタラクティブに実行すると正常に実行されます。
パイプラインの実行時にPowerShellが呼び出されるのはなぜですか?そして、なぜこんなに単純なことを実行するような長いコマンドなのか?
あなたが与えることができるどんな提案にも前もって感謝します。
エージェントは舞台裏でPowerShellを使用していますが、IT部門が、一部のPowerShellスクリプトの実行をブロックしたコンピューターにセキュリティを設定しているようです(おそらくリモートからのスクリプトのみ)。
PowerShellで実行してみてください。
$ExecutionContext.SessionState.LanguageMode
私はあなたがこの出力を得ると思います:
ConstrainedLanguage
はいの場合は、次のように切り替えてみてくださいFullLanguage
。
$ExecutionContext.SessionState.LanguageMode = "FullLanguage"
それでも問題が解決しない場合は、ブロックされている可能性があるため、IT部門に相談して変更するか、ここで説明するようにレジストリを変更するか、環境変数__PSLockdownPolicy
をに設定する必要があります0
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加