Set-ClientAccessServer cmdlet이 DataValidationException을 발생시키는 이유는 무엇입니까?

Set-ClientAccessServer cmdlet이 DataValidationException을 발생시키는 이유는 무엇입니까?

내가 실행하려는 명령은 다음과 같습니다.

[PS] C:\Windows\system32>Set-ClientAccessServer -Identity CCSEMAIL2010 -AutoDiscoverServiceInternalURI https://autodiscover.local.company.net/Autodiscover/Autodiscover.xml

예외는

이 속성에 대한 값을 제공해야 합니다.

  • CategoryInfo: 지정되지 않음: (0:Int32) [Set-ClientAccessServer], DataValidationException
  • FullyQualifiedErrorId: 4DA56CC3,Microsoft.Exchange.Management.SystemConfigurationTasks.SetClientAccessServer
  • PS컴퓨터 이름 : ccsemail2010.local.company.net

지정되지 않은 내용과 오류에 Int32에 대한 참조가 있는 이유를 이해할 수 없습니다. 서버 이름이 제가 입력한 이름과 일치하는지 확인했습니다. Adsiedit.msc를 사용하여 AD에서 레코드를 찾고 cmdlet을 실행하는 데 사용하는 계정에 해당 레코드를 수정할 수 있는 권한이 있는지 확인했습니다. cmdlet에 대해 살펴본 모든 구문에는 필요에 따라 -Identity 속성만 있습니다. 내가 달리면

[PS] C:\Windows\system32>Set-ClientAccessServer -Identity CCSEMAIL2010

동일한 예외가 발생합니다.

답변1

실행할 때 무엇을 볼 수 있습니까?

get-clientaccessserver | fl name, fqdn

LE: 필요한 권한이 있는지도 확인해주실 수 있나요?

Get-ManagementRole -Cmdlet set-clientaccessserver
Get-ManagementRoleAssignment -Role "exchange servers" -GetEffectiveUsers | fl effectiveuser*

cmdlet을 사용하여 "Exchange Server" 외에 더 많은 역할이 있는 경우 해당 역할도 확인해야 합니다.

답변2

이것이 내가 문제를 해결한 방법입니다. 문제의 근본 원인은 결국 AD의 손상이었습니다. 손상이 제거되면 powershell을 통해 실행된 모든 set 명령이 예상대로 작동했습니다.

먼저 powershell을 통해 사서함 데이터베이스를 나열했습니다. 여기에 이미지 설명을 입력하세요

그런 다음 Exchange 관리 콘솔을 열어 powershell에서 본 내용을 확인했습니다. 여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

데이터베이스 이름을 확인한 후 도메인 컨트롤러에 로그인하고 ADSIEdit 도구를 시작했습니다. 나는 사서함 데이터베이스를 찾기 위해 나무를 뒤졌습니다. 내가 본 것은 좀 이상했다. 내가 예상했던 것보다 더 많은 사서함 데이터베이스 레코드가 있었습니다. 여기에 이미지 설명을 입력하세요

단일 서버와 연결되어 있음을 나타내는 두 개의 데이터베이스 레코드를 찾기 위해 사서함 데이터베이스 레코드를 추가로 조사했습니다. 나는 이전 연구를 통해 이것이 예상되지 않았으며 정확하지 않을 수도 있다는 것을 알고 있었습니다. 여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

나는 위험을 감수하기로 결정하고 Powershell과 EMC를 통해 메일함 데이터베이스를 요청할 때 나열되지 않은 데이터베이스를 제거했습니다.

그게 문제를 해결했습니다. 이제 모든 Powershell cmdlet이 예상대로 작동합니다.

관련 정보