728x90

안녕하세요.

주현애비 입니다.

오늘은 Lync SErver 전체 사용자 버디리스트 및 그룹을 조회 하는 쿼리를 알아보도록 하겠습니다.

각 사용자는 ResourceID라는 것이 있습니다. 대부분의 이 ResourceID와 연결 고리 관계를 가지고 있다라고 볼수 있습니다.

1. ResourceID를 알기 위해서는 Resource Table에 본인의 'Sip Address'를 조건에 넣어 주시면 알수 있습니다.(F/E RCT DB)

===================================================

select * from Resource
 where UserAtHost = 'testh001@mani4u.com'

ResourceId  UserAtHost
3680            testh001@mani4u.com

===================================================

제 ResourceID는 "3680"이네요.

 

2.  사용자의 버디리스트를 확인 방법

Contact Table : 모든 사용자의 버디리스트가 있는 테이블입니다.

OwnerID는 본인의 ResourceID와 동일 합니다.

BuddyID는 사용자가 추가한 ResourceID입니다.

자 그럼 제가 추가한 사용자를 쿼리 해볼까요. 1번에서 봤듯이 제 ResourceID는 "3680"이었습니다.

select * from Contact

where OwnerId= '3680'

OwnerId BuddyId
3680       35
3680       36
3680       41
3680       42
3680       44
3680       45

제 버디리스트에는 6명이 존재하는 것을 알수 있네요.

거꾸로 생각해보면 상대방ID를 누가 추가 했는지도 알수 있겠네요.ㅋ

 

3. 버디 그룹 확인 방법

ContactGroup Table : 모든 사용자의 그룹이 있는 테이블입니다.

ContactGroup도 마찬가지로 OwnerId가 존재합니다. 즉 본인의 ReourceID와 동일하다는 것이고요.

각 OwnerID는 GroupNumber 필드의 값들은 1부터 그룹갯수만큼의 Sequence Number가 들어 있습니다.

기본적으로 GroupNumber 필드는 모든 사용자가 1과 2 값은 들어가 있습니다.

1값은 틸드(~)그룹으로 추가 되는 모든 사용자가 포함 되는 그룹입니다.

2값은 "다른 연락처(Pinned Contacts)"그룹입니다.

자 그럼 제 그룹이 몇개나 존재하는지 조회를 해보겠습니다.

select OwnerId , GroupNumber, cast(DisplayName as xml) as 그룹 from ContactGroup
where OwnerId =3680

OwnerId GroupNumber 그룹
3680       2                   Pinned Contacts
3680       1                    ~
3680       3                   그룹1
3680       4                   그룹2
3680       5                   그룹3

 

총 5개의 그룹이 존재 합니다.

요점 정리를 하자면 전체 버디 및 그룹을 잘 백업 하면 복원도 가능 합니다.

또한, 전체 사용자 백업을 위한 검증도 할 수 있겠죠.^^

끝.

 

 

 

 

 

728x90
728x90

F/E간 DB 복제 상태를 확인 하는 파워쉘 명령어이다.

정책배포라던지 Deploy 변경 시, 복제가 정상적으로 끝난 후 확인 하면 되겠다.

1. 기본 명령어

Get-CsManagementStoreReplicationStatus

 

2. Fales만 확인하는 명령어

Get-CsManagementStoreReplicationStatus | Where-Object {$_.UpToDate -eq $False}

 

전 F/E가 많기때문에 2번 방법을 선호 한다.

 

끝.

728x90
728x90

버디리스트를 파워쉘로 백업을 꼭 받아두자.

고객사 PM작업 이후 버디리스트가 유실 되는 현상이 발생 되었다.

그러나 백업의 유효성은 검증 되지 못하는 점이 아쉽다.

왜냐면 유실 사용자의 버디를 복원 해보니 아무것도 존재 하지 않는다는 사실!!!

헐!!!!

일단 가장 간당하게 백업 및 복원 할 수 있는 방법이고 Lync에서 제공 되기에 신뢰성은 높다고 본다.

 

1. 전체백업과 복원

a.전체 백업

Export-CsUserData -PoolFqdn "pool.domain.com" -FileName "C:\Logs\ExportedUserData.zip"

b.전체 백업 복원

Import-CsUserData -PoolFqdn "pool.domain.com" -FileName "C:\Logs\ExportedUserData.zip"

c.업데이트를 통한 전체 복원

 Update-CsUserData -PoolFqdn "pool.domain.com" -FileName "C:\Logs\ExportedUserData.zip"

 

2. 사용자 백업과 복원

a. 사용자 백업

Export-CsUserData -poolfqdn "pool.domain.com" -UserFilter "sipaddress" -FileName "D:\test001.zip"

b. 업데이트를 통한 복원

 Update-CsUserData -poolfqdn "pool.domain.com" -UserFilter "sipaddress" -FileName "D:\test001.zip"

 

3. 버디리스트 복원에서 특정 사용자만 XML Convert 방법

이것은 버디리스트 후 특정 사용자가 그룹 및 버디가 정상적으로 있는지 XML로 변환 후 정상적으로 있는지 확인을 위한 것이다.

 Convert-CsUserData -InputFile " d:\ExportedUserData.zip" -OutputFile "D:\Logs\Lync2010data.xml" -TargetVersion Lync2010 -UserFilter "sipaddress"

 

유효성이 검증 되지 않아 별도 2차 백업 및 복원 방법은 전체 F/E의 백업을 매일/재부팅작업전DB와 작업 후 DB를 백업 받은 후 검증하여 유실 사용자가 있는지 파악하여 WCF를 통하여 복원하였다.

시간이 되면 그때 공유 하도록 하겠습니다.

 

끝.

728x90

+ Recent posts