2012-05-26 2 views
1

나는 C# 프로세스를 사용하여 Windows Server 2008 R2 컴퓨터 집합에서 성능 카운터를 읽습니다. 모든 컴퓨터는 회사 AD 도메인과 같은 네트워크에 있습니다. 서버 시스템에 로그온하고 로그인 세션에서 C# 프로세스를 실행하면이 프로그램이 올바르게 작동합니다. PowerShell로이 C# 프로세스를 사용하여 일부 실험을 자동화하려고합니다. 목표는 서버 중 하나에서 원격으로 내 데스크톱에서 실행하는 것입니다. 모든 컴퓨터가 동일한 도메인 (데스크톱 및 서버)에 있습니다.PowerShell을 사용하여 원격 컴퓨터에서 모니터링 응용 프로그램을 시작할 때 성능 카운터에 액세스

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 
Configure-SMRemoting.ps1 -force -enable 

는 파워 쉘 스크립트는 C#을 프로세스를 실행하고 시작하는 호출-명령을 사용하여 컴퓨터에 연결하여 PSSession을 만드는 :

모든 기계는로 설정되어있다. 그러나 원격 호스트의 C# 응용 프로그램은 모니터링하는 설정된 컴퓨터의 성능 카운터에 더 이상 액세스 할 수 없습니다. - "액세스가 거부되었습니다."

이것이 멀티 홉 인증 문제인 것으로 의심되자이 지침 http://www.ravichaganti.com/blog/?p=1230을 따라 멀티 홉 인증을 사용하도록 설정했습니다. 의 CredSSP를 사용하려고 :

$cred = Get-Credential -Credential "Company\user" 
$session = new-pssession -ComputerName $loadHost -Credential $cred -Authentication CredSSP -ErrorAction Stop 

수익률 : 다음과 같은 오류 메시지와 함께 실패 원격 서버에 연결

: 의 WinRM 클라이언트가 요청을 처리 할 수 ​​없습니다. CredSSP 인증은 클라이언트 구성에서 현재 비활성화 된 입니다. 클라이언트 구성을 변경하고 요청을 다시 시도하십시오. CredSSP 인증은 도 서버 구성에서 사용 가능해야합니다. 또한 대상 컴퓨터에 대한 자격 증명 위임을 허용하려면 그룹 정책을 으로 편집해야합니다. gpedit.msc를 사용하고 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 자격 증명 위임 -> 허용 신선한 자격 증명 위임. 활성화되어 있고이 대상 컴퓨터에 적합한 SPN으로 구성되어 있는지 확인하십시오. 예제의 경우 대상 컴퓨터 이름 "myserver.domain.com"의 경우 SPN은 일 수 있습니다. WSMAN/myserver.domain.com 또는 WSMAN/*. domain.com 자세한 내용은 about_Remote_Troubleshooting 도움말 항목.

gpedit.msc를 사용하면 도메인에 해당하는 SPN 항목과 함께 일반 위임 자격 허용이 설정됩니다. 모든 컴퓨터의 방화벽은 WinRM Http-In을 사용하도록 구성됩니다. about_Remote_Troubleshooting 설명서를 읽지 않았습니다.

멀티 홉 인증이 실제로 올바른 접근 방식인지, 아니면이를 위반할 수있는 다른 방식인지에 대한 아이디어가 있습니까?

+0

그것에 대한 전체 소스 코드가 포함 된 최종 해결책은 무엇입니까? Configure-SMRemoting.ps1이란 무엇입니까? – Kiquenet

답변

1

나는 블로그 게시물을 썼다. 그리고 문제의 설명에서 보면 CredSSP 인증 문제처럼 보입니다. 먼저 성능 카운터를 모니터링 할 수있는 올바른 권한이 필요합니다. 원격을 사용할 때 두 번째 인증은 자격 증명이 위임 된 경우 SYSTEM으로 요청을 수신하므로 원격 시스템의 Invoke-COmmand는 액세스가 거부됩니다.

첫 번째 질문은 원격 시스템에서 Enable-PSremoting을 사용하지 않은 이유는 무엇입니까? 두 번째 질문은 다음과 같습니다. C# 응용 프로그램이 CredSSP 클라이언트로 실행중인 로컬 시스템을 구성 했습니까?

Enable-WSManCredSSP -Role Client -DelegateComputer "*.SP2010lab.com" 

이것은 클라이언트로 사용중인 컴퓨터에서만 수행해야합니다. Invoke-Command를 사용하는 시스템에서 CredSSP 서버를 설정해야합니다.

Enable-WSManCredSSP -Role Server 

확인할 수 있습니까?

+0

enable 경로는 technet에 대한 조언을 따랐습니다. http://technet.microsoft.com/en-us/library/dd759202.aspx. 표시된 Enable-WSManCredSSP 단계는 정확히 입력 한 것과 같습니다. 문제가 내 클라이언트 컴퓨터와 내가 자동화하려고 시도하는 서버 사이에있는 것으로 의심됩니다. 지금은이 경로에서 퇴각을 치고 스크립트를 실행하여 단일 홉 인증 만 수행하도록했습니다. 감사. – OzCodeJunkie

+0

해결되었습니다. 컴퓨터는 모두 동일한 AD이지만 다른 OU에 속합니다. 하나의 OU에는 IPSec이 비활성화되어 있으며 OU 외부의 연결은 허용되지 않습니다. 이것은 서버가있는 곳입니다. 내 클라이언트 컴퓨터에서 IPSec을 사용할 수 있으며 다른 OU에 있습니다. 감사! – OzCodeJunkie

관련 문제