SharePoint Online 사용자 작업

 

마지막으로 수정된 항목: 2014-06-09

요약: Windows PowerShell에서 Windows PowerShell cmdlet, 스크립트 및 일괄 프로세스를 사용하여 Office 365를 관리합니다.

Windows PowerShell은 SharePoint Online 사이트 사용자 관련 작업에 매우 유용한 도구입니다. 일례로 Windows PowerShell에서 Get-SPOUser cmdlet을 사용하면 사이트 액세스 권한이 부여된 모든 사용자의 목록을 반환할 수 있습니다. 다음 명령만 실행하면 됩니다.

Get-SPOUser -Site "https://litwareinc.sharepoint.com/sites/finance"

이처럼 Get-SPOUser와 원하는 사이트 URL을 차례로 입력하여 호출하면 됩니다.

사이트 액세스 권한이 있는 그룹이 아닌 사용자만 확인하려는 경우에는 다음 명령을 사용하면 됩니다.

Get-SPOUser -Site "https://litwareinc.sharepoint.com/sites/finance" | Where-Object {$_.IsGroup -eq $False}

이 경우에도 IsGroup 속성이 False로 설정된 사이트 사용자만 검색하면 됩니다. Windows PowerShell에서는 명령 작성 시 기존의 True 및 False가 아닌 $True 및 $False를 사용합니다.

또한 IsSiteAdmin 속성이 True로 설정된 사이트 관리자만 반환하는 작업도 간단합니다.

Get-SPOUser -Site "https://litwareinc.sharepoint.com/sites/finance" | Where-Object {$_.IsSiteAdmin -eq $True}

그러나 이 명령은 단일 사이트에만 사용할 수 있습니다. Windows PowerShell은 여러 사이트 등의 다수 개체에 사용하는 경우 보다 효율적입니다. 예를 들어 지정된 사이트에 대한 액세스 권한이 있는 모든 사용자의 목록을 반환하려는 경우 편리합니다. 반대로 단일 사용자에게 액세스 권한이 있는 모든 사이트 목록을 확인하려는 경우도 있습니다. 이 작업 역시 Windows PowerShell을 통해 수행할 수 있습니다. 아래에는 특정 사용자(여기서는 Ken Myer)에게 액세스 권한이 있는 모든 사이트의 이름을 반환하는 간단한 스크립트가 나와 있습니다. Windows PowerShell을 어느 정도 사용해 보았다면 이 스크립트를 쉽게 이해할 수 있을 것입니다.

$x = (Get-SPOSite).Url

foreach ($y in $x)
    {
        $z = $Null
        $z = Get-SpoUser -Site $y | Where-Object {$_.DisplayName -eq "Ken Myer"}
        if ($z -ne $Null) {$y}
    }

참고

Windows PowerShell에서 스크립트를 사용하려면 위의 코드를 복사하여 메모장이나 기타 텍스트 편집기에 붙여 넣은 다음 C:\Scripts\SitesAUserCanAccess.ps1과 같이 .ps1 파일 확장명을 사용하여 파일을 저장합니다. 스크립트를 실행하려면 Windows PowerShell을 사용하여 SharePoint Online에 연결한 다음 Windows PowerShell 명령 프롬프트에 .ps1 파일의 경로를 입력하고 Enter 키를 누릅니다.
C:\Scripts\SitesAUserCanAccess.ps1

모든 사이트 및 각 사이트의 관리자 목록이 필요한 경우 다음 명령 하나만 사용하면 원하는 정보를 쉽게 반환할 수 있습니다.

Get-SPOSite | ForEach-Object {Write-Host $_.Url; Get-SPOUser -Site $_.Url | Where-Object {$_.IsSiteAdmin -eq $True}}

이 경우 반환되는 결과는 다음과 같습니다.

https://litwareinc.sharepoint.com/sites/communities
MOD Administrator  admin@litwareinc.com {Communities Members, Comm...}
Sara Davis  sarad@litwareinc.com {Communities Members, Communities...}

https://litwareinc.sharepoint.com/sites/finance
MOD Administrator admin@litwareinc.com {Excel Services Viewers, Hi...}

https://litwareinc.sharepoint.com/sites/hr
MOD Administrator  admin@litwareinc.com   {Contoso Beta Members, C...}

출력이 깔끔하지는 않지만 원하는 정보는 모두 제공됩니다. Windows PowerShell을 계속 사용하면서 더 익숙해지면 이러한 출력을 원하는 방식으로 자유롭게 사용자 지정할 수 있게 될 것입니다.

Windows PowerShell이 유용한 가장 큰 이유는 정보를 검색할 수 있을 뿐 아니라 구성할 수도 있기 때문입니다. 사이트가 수백 개이며 각 사이트에 대해 Ken Myer를 관리자로 지정해야 하는 경우 다음 명령만 실행하면 됩니다.

Get-SPOSite | ForEach-Object {Set-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com" -IsSiteCollectionAdmin $True}

이처럼 작업을 매우 간단하게 완료할 수 있습니다.

다음 항목: SharePoint Online 사이트 그룹 작업

참고 항목

Windows PowerShell을 사용하여 SharePoint Online 관리