2

나는 파일 "test.ps1"가 그 내용은 다음과 같습니다 : 나는 WinRS을 사용하면 오류가 생긴다WinRS를 사용하는 경우 PowerShell이 ​​작동하지 않는 이유는 무엇입니까?

powershell -f c:\test.ps1 

: 내가로 호출하는 경우

$getRSDBName = 
{ 
    Add-PSSnapIn Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue 
    $rsdb = Get-SPRSDatabase 

    return $rsdb 
} 


$rsdb = invoke-command -scriptblock $getRSDBName 

$rsdb 

그것은 작동

winrs -r:xxxxx -u:xxxxxx -p:xxxxx powershell -f c:\test.ps1 

는 또한 Invoke-Command의 매개 변수로 -Authentication CredSSP -Credential $creds를 입력하여 그것을 시도,하지만 난 이전과 같은 결과를 얻었다. 두 경우 모두 오류는 다음과 같습니다.

로컬 팜에 액세스 할 수 없습니다. FeatureDependencyId가있는 cmdlet은 이 등록되어 있지 않습니다. Get-SPRSDatabase : 로컬 팜에 액세스 할 수 없습니다. 로컬 팜이 올바르게 구성되었는지 확인하십시오 (현재 ). 다시 시도하기 전에 데이터베이스에 에 액세스 할 수있는 적절한 임무가 있음을 확인하십시오. C에서 : \ clean.ps1 : 181 문자 : 29 + = $ RSDB 얻 SPRSDatabase < < < < + CategoryInfo : InvalidData (Microsoft.Repor ... ServiceDatabase : GetReportingServiceDatabase) 위젯 - SPRSDatabase, SPCmdletException + FullyQualifiedErrorId : Microsoft.ReportingServices.SharePoint.PowerShell.GetReportingServiceDatabase이

사람이 무슨 일이 일어나고 있는지 설명 할 수 있을까요?

+0

PowerShell Remoting [사용 가능] (사용 가능) en-us/magazine/ff700227.aspx)을 원격 호스트에 설치 하시겠습니까? 모든 호스트의 실행 정책이 PowerShell 스크립트를 실행할 수 있습니까? –

답변

0

PS-Session을 생성 한 다음 해당 원격 쉘에서 스크립트를 실행할 수 있습니까? 그렇다면 왜 현재 스크립트에 작성/삭제 세션을 추가하지 않습니까? 원격 서버의 커맨드는 SQL 데이터베이스에 도달하기 위해 다시 시도 할 때 "두 번째 홉"문제로 인해 발생있어

$Session = New-PSSession -ComputerName "computerNameHere" 
Import-PSSession -Session $Session 

$getRSDBName = { 
    Add-PSSnapIn Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue 
    $rsdb = Get-SPRSDatabase 

    return $rsdb 
} 
$rsdb = invoke-command -scriptblock $getRSDBName 
$rsdb 

Remove-PSSession -ComputerName "computerNameHere" 
1

here 설명 (그것으로 자격 증명을 통과해야하지만, 두 번째 시간을 위임 할 수 없다)

가이 클라이언트에서

Enable-WSManCredSSP –Role server 

이 서버에서 다음을 실행 해결하기 위해 (상승 된 권한)

이 필요

다음 호출-명령을 할

Invoke-Command -ScriptBlock $doSomething -Session $session 

을이 나를 위해 해결 : 일반적으로 난 것으로 나타났습니다 원격 세션을 열 때

$session = New-PSSession -ComputerName $computer -Credential $credential -Authentication CredSSP 

을 사용하고, $ 세션을 전달하는 기억 invoke-command를 사용할 때 발견되는 이상한 문제는 어떻게 든 두 번째 홉 문제와 관련이 있습니다. 실제로 보안 기능입니다. 따라서 약간 지루하지만 해결하기가 어렵지 만 도움이됩니다.