を発見していない私は、ビルド時に、それが次のエラーで失敗したときしかし7Zip4Powershellを使用してフォルダを7zipをするには、以下のPSスクリプトを書いている:はTFS PowerShellがインストール-モジュールを
Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At C:\Build\Work\19\s\DevOps\7zCompress.ps1:3 char:5
+ Install-Module -Scope CurrentUser -Name 7Zip4PowerShell -Verbose -Force
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Install-Module:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Compress-7Zip : The term 'Compress-7Zip' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Build\Work\19\s\DevOps\7zCompress.ps1:18 char:1
+ Compress-7Zip -Path $sourcedir -ArchiveFileName $filename -CompressionLevel $com ...
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Compress-7Zip:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Process completed with exit code 0 and had 1 error(s) written to the error stream.
スクリプト
param([string]$sourcedir, [string]$filename, [string]$compressionLevel, [string]$compressionMethod)
If (-not (Get-Module -ListAvailable -Name 7Zip4PowerShell)) {
Install-Module -Scope CurrentUser -Name 7Zip4PowerShell -Verbose -Force
}
If(Test-Path $filename) {
Remove-Item $filename
}
If (-not $compressionLevel) {
$compressionLevel = "Normal"
}
If (-not $compressionMethod) {
$compressionMethod = "Lzma2"
}
Compress-7Zip -Path $sourcedir -ArchiveFileName $filename -CompressionLevel $compressionLevel -CompressionMethod $compressionMethod
TFS 2015オンプレミスにInstall-Moduleが有効なコマンドであると認識させるにはどうすればよいですか?私はすでにそのマシンにInstall-Module用のMSIをインストールしました。おそらくビルドエージェント機能として追加する必要がありますか?
'Install-Module'を' Import-Module'に変更しますか? – gms0ulman
上記の@ gms0ulmanには、インストールモジュールがないので、セッションにインポートする必要があります。 – Paolis
パッケージ管理がインストールされている場合は 'install-module'がありますが、' get-module'はモジュールがすでにローカルで利用可能であることを示しているので、インポートするだけです。 –