원격 컴퓨터에서 특정 PowerShell 모듈을 사용하여 몇 가지 작업을 수행하는 작은 PowerShell 스크립트를 작성하려고합니다. 이 모듈을 사용하려면 PowerShell Version> =을 사용해야합니다.특정 Powershell 버전을 사용하는 원격 대상에서 Invoke-Command가 가능합니까?
나는 원격 컴퓨터에서 스크립트를 실행하는 Invoke-Command
를 사용하여 시도,하지만 난 원격 대상에 대한 최신 PowerShell을 버전을 사용할 수 사용하는 방법을 알아낼 수 없습니다 :
$SessionOption = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$Session = New-PSSession -ComputerName "TARGETHOST" -Authentication Negotiate -SessionOption $SessionOption
Invoke-Command -Session $Session -ScriptBlock {
(Get-Host).Version
}
버전 1에서 사용됩니다 .
$SessionOption = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$Session = New-PSSession -ComputerName "TARGETHOST" -Authentication Negotiate -SessionOption $SessionOption
Invoke-Command -Session $Session -ScriptBlock{
C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe -Command {
(Get-Host).Version
}
}
하지만 원격 세션 내에서 다른 PS 세션을 산란하고 있습니다 때문에 나는, 이것은 좋은 해결책이라고 생각하지 않습니다 일부 땜질 후 내가 원하는 것을 할 수있는 방법을 발견했다. 이제는 똑같은 것을 성취 할 수있는 더 좋은 방법이 있는지 궁금합니다.
감사의를 답변 및 설명. 문제는 두 번째 방법을 사용하면 내가 사용하고있는 모듈이 작동한다는 것입니다. 그렇지 않으면 다음 오류가 발생합니다.'이 cmdlet에는 PowerShell 버전 3.0 이상이 필요합니다. + CategoryInfo : InvalidOperation : (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException, 호출 SCXDiscovery + PSComputerName : TARGETHOST' – Manuel