Office 365 PowerShell 명령어 Top 15 (사용자, 그룹, 라이선스). Windows PowerShell 사용자로써, 많은 Office 365 사용자들에게 PowerShell을 사용하여 Office 365 관리하는 것이 복잡해 보일 수 있음을 알고 있습니다.
그러나, 제 경험상으로, 이와 같은 상황에도 불구하고, Windows PowerShell은 Office 365를 관리하는 데 매우 유용한 도구입니다. 예를 들어, Office 365 포털에서 제공되는 다양한 옵션을 살펴보는 대신, 관리자들은 몇 줄의 코드를 입력하여 필요한 것을 쉽게 얻을 수 있습니다. 따라서 Office 365 경험을 간소화하는 데 많은 도움이 되는 몇 가지 편리한 명령어를 배우는 것이 중요합니다.
이러한 점을 염두에 두고, 오피스 365 작업을 간소화하는 데 유용한 상위 15가지 오피스 365 PowerShell 명령어를 배워보겠습니다.
Office 365 PowerShell 명령어 상위 15개 (사용자, 그룹, 라이선싱)
이미지 출처: Pixabay
1. 마이크로소프트 365 그룹에 대한 분류 생성
조직 내의 사용자가 마이크로소프트 365 그룹을 생성할 때 감Sensitivity 민도가 표시되는 옵션을 제공할 수 있습니다.감Sensitivity 민도가 활성화되면 이전에 사용하던 분류 레이블에 접근할 수 없게 된 그룹 생성자들에게 주의해야 합니다.
Microsoft는 이전 그룹의 분류 기능 대신 민감도 레이블을 사용하도록 권장합니다. 조직 내의 사용자가 Microsoft 365 그룹을 생성할 때 설정할 수 있는 분류를 만들 수 있습니다. 예를 들어, 사용자가 생성하는 그룹에 “표준”, “비밀”, “최상위 기밀”을 설정할 수 있도록 허용할 수 있습니다. 그룹 분류를 생성하기 위한 적절한 Azure Active Directory cmdlet은 다음과 같습니다.
다음 명령은 분류 목록을 생성합니다:
$setting["ClassificationList"] = "Low Impact, Medium Impact, High Impact"
설정 속성을 사용하여 ClassificationDescriptions 각 분류를 정의할 수 있습니다. 구문은 다음과 같습니다::
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description"
예제 명령:
$setting["ClassificationDescriptions"] = "Low Impact: General communication, Medium Impact: Company internal data , High Impact: Data that has regulatory requirements"
또는 분류로 새 그룹을 생성할 때 이 명령을 실행할 수 있습니다:
New-UnifiedGroup -Classification -AccessType
이러한 설정을 활성화하면 그룹 소유자는 웹용 Outlook과 Outlook에서 그룹 편집 페이지에서 드롭다운 메뉴에서 레이블을 선택하고 저장할 수 있습니다.
2. 사용자에게 Microsoft 365 그룹으로 메일을 보낼 권한 부여
이미지 출처: Unsplash
이 설정이 활성화되면 Microsoft 365 그룹의 구성원은 Outlook 또는 웹용 Outlook의 모든 버전을 사용하여 그룹 이름으로 이메일을 작성하고 응답할 수 있습니다.
이렇게 하려면 Add-RecipientPermission 및 Get-RecipientPermission cmdlet을 사용하여 Microsoft 365 그룹 옵션을 “Send As”로 설정합니다.
그룹 주소로 이메일을 보내려면 사용자가 그룹을 방문하여 새 이메일을 작성한 다음 “Send As” 필드를 “그룹”으로 편집해야 합니다.
또한 이것은 익스체인지 관리 센터를 통해 수행할 수 있습니다. 특정 사용자에 대한 그룹의 권한을 수정하려면 Exchange Online PowerShell에 액세스할 수 있는 연결을 통해 얻은 그룹과 사용자의 별칭에 맞게 적절한 대체를 사용하여 다음 스크립트를 실행하십시오.
PowerShell:
$groupAlias = ""
$userAlias = ""
$groupsRecipientDetails = Get-Recipient -RecipientTypeDetails groupmailbox -Identity $groupAlias
Add-RecipientPermission -Identity $groupsRecipientDetails.
Name -Trustee $user
Alias -AccessRights SendAs
이 명령이 실행되고 실행되면 사용자는 Outlook 또는 웹용 Outlook에서 그룹의 이메일 주소를 From 필드에 입력하여 그룹으로 보낼 수 있습니다.
3. PowerShell을 사용하여 Office 365 사용자 전체 목록 검색
Get-MsolUser cmdlet을 사용하여 Office 365 사용자 목록을 작성하고 관련라이선스를 사용합니다. 이 명령은 각 사용자의 부서, DisplayName, City 및 ObjectID를 반환합니다. Office 365 테넌트에서 유효한 라이선스가 있는 사용자.
Get-MsolUser | Select DisplayName, City, Department, ObjectID
일반적으로 Office365를 관리할 때 계정 라이선스의 총 수를 확인해야 할 수 있습니다. 이렇게 하려면 다음 cmdlet을 실행하십시오.
Get-MsolAccountSku
사용 가능한 서비스 목록을 보려면 다음 스크립트를 실행해야 합니다.
Select "Get-MsolAccountSku | -ExpandProperty ServiceStatus"
4. 글로벌 주소록(GAL)에서 Microsoft 365 그룹 숨기기
Microsoft는 Microsoft 365 그룹이 GAL 또는 기타 회사 전체 배포 목록에 표시되는지 여부를 지정할 수 있습니다.
예를 들어, 어떤 이유로 특정 그룹이 글로벌 주소록에 나타나지 않길 원한다면 주소록에서 그룹 항목을 제거하려면 다음 Set-Unified Group cmdlet을 실행해야 합니다.
Set-UnifiedGroup -Identity "Legal Department" -HiddenFromAddressListsEnabled $true
또한 읽기 Office 365 사용자 보고서 배포
InfraSOS를 사용하여 Office 365 보고서 실행(수백 개의 보고서)
한번 시도해보세요 무료로, 모든 기능에 접근할 수 있습니다. – 200개 이상의 AD 보고서 템플릿 사용 가능. AD 보고서를 쉽게 커스터마이징할 수 있습니다.
5. 내부 사용자만이 Microsoft 365 그룹에 메시지 보낼 수 있도록 보장
이미지 출처: Pixabay
Microsoft 365 그룹 설정을 조정하여 그룹 외부의 사용자로부터의 메시지를 방지할 수 있습니다. 이 설정은 조직 외부의 사용자가 그룹에 이메일로 메시지를 보낼 수 없도록 합니다.
이 설정이 활성화되면 그룹 외부 사용자가 보낸 메시지는 무시됩니다.
이렇게 하려면 다음 Set-UnifiedGroup cmdlet 명령을 실행하세요.
Set-UnifiedGroup -Identity "Internal senders only" -RequireSenderAuthenticationEnabled $true
6. Microsoft 365 그룹의 표시 이름 수정
미리 보기 이름에서 Microsoft 365 그룹의 이름을 지정합니다. 이 이름은 Exchange 또는 Microsoft 365 제어판에 나타납니다. Set-UnifiedGroup 명령을 사용하여 그룹의 표시 이름을 변경하거나 기존 Microsoft 365 그룹에 새 이름을 지정할 수 있습니다.
다음 명령을 실행하여 이를 수행하십시오:
Set-UnifiedGroup -Identity "[email protected]" -DisplayName "My new group"
7. 라이선스가 부여된 Microsoft 365 사용자 보기
Microsoft 365 조직의 라이선싱 옵션은 사용자 계정에 발급되는 라이선스의 일부, 전체 또는 없음을 허용할 수 있습니다. PowerShell for Microsoft 365를 사용하면 어떤 직원이 유효한 라이선스를 보유하고 있고 어떤 직원이 없는지 쉽게 식별할 수 있습니다.
테넌트에서 사용 가능한 라이선스를 보려면 다음 명령을 실행하세요:
Connect-Graph -Scopes User.Read.All, Organization.Read.All
이 명령을 실행하여 특정 계정의 라이선스 세부 정보를 보여주세요:
Get-MgUserLicenseDetail -UserId ""
예를 들어:
Get-MgUserLicenseDetail -UserId "[email protected]"
이 명령을 실행하여 조직 내의 라이선스 플랜에 접근 권한을 부여받은 모든 사용자 계정 목록(라이선스 부여된 사용자)을 보여주세요.
Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Select UserPrincipalName,DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses
Write-Host "Found $licensedUserCount licensed users."
이 명령을 실행하여 조직 내의 E5 라이선스가 있는 사용자 계정 목록을 보여주세요.
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $($e5sku.SkuId) )" -ConsistencyLevel eventual -CountVariable e5licensedUserCount -All
Write-Host "Found $e5licensedUserCount E5 licensed users."
8. 라이선스가 없는 사용자 보기
라이선스가 없는 사용자를 보려면 다음 명령을 실행하세요:
Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
Write-Host "Found $unlicensedUserCount unlicensed users."
Get-MgUser -Filter "assignedLicenses/`$count eq 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
Write-Host "Found $unlicensedUserCount unlicensed users (excluding guests)."
9. Microsoft 365 그룹에 MailTips 통합
Office 365를 사용하면 이메일이 Microsoft 365 그룹에 전송될 때마다 메일 팁이 표시됩니다.
이렇게 하려면 Set-Unified Group cmdlet을 사용해야 합니다:
Set-UnifiedGroup -Identity "MailTip Group" -MailTip "This group has a MailTip"
Office 365를 사용하면 메일 팁 번역을 대체로 정의할 수 있습니다. 메일 팁 번역 설정을 통해 합니다.
예를 들어 스페인어 버전을 원하는 경우 다음 명령을 실행하여 얻을 수 있습니다:
Set-UnifiedGroup -Identity "MailaTip Group" -MailTip "This group has a MailTip" -MailTipTranslations "@{Add="ES:Esta caja no se supervisa."
10. PowerShell을 사용하여 Office 365에서 비밀번호 변경하기
Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!
11. Office 365 그룹 멤버십 관리
Office 365는 관리자가 Powershell을 사용하여 Office 365 멤버십을 관리할 수 있는 기능을 제공합니다. 관리자로서 모든 그룹의 목록을 얻을 필요가 있을 수 있습니다. 이를 위해 Get-MsolGroup 명령을 사용해야 합니다. 이 명령을 사용하면 Office 365 그룹의 전체 목록을 얻을 수 있습니다.
또한 Add-MsolGroupMember 명령을 사용하여 그룹에 사용자를 추가할 수 있습니다:
Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user
또한 Get-MsolGroup 명령을 사용하여 그룹의 16진수 ID인 GroupObjectId를 확인할 수 있습니다. 이 명령을 실행하여 GroupMemberObjectId인 사용자 개체 ID를 찾을 수도 있습니다:
Get-MsolUser | Select ObjectID.
마지막으로, 관리자로서 그룹에서 사용자를 제거하려면 Remove-MsoGroupMember cmdlet을 사용하여 수행할 수 있습니다.
12. Office 365에서 보고서 작성
PowerShell은 Office 365에서 다양한 보고서를 생성하는 데 사용됩니다. 다음은 Powershell을 사용하여 Office 365 보고서를 작성하기 위한 유용한 명령입니다.
모든 사서함에 대한 자세한 분석 얻기:
Get-mailbox | get-MailboxStatistics
마지막 30일 동안 액세스되지 않은 모든 비활성 사서함 목록을 보려면 다음 명령을 사용하세요:
Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).
AddDays(-30) } | Format-Table DisplayName, LastLogonTime
최고의 발신자와 수신자에 대한 보고서를 얻으려면 다음 명령을 실행하세요:
Get-MailTrafficTopReport
모든 그룹 및 해당 구성원에 대한 보고서를 얻으려면 다음 스크립트를 실행하세요:
function Get-AllO365Members
{
Try
{
$O365Groups=Get-UnifiedGroup
foreach ($O365Group in $O365Groups)
{
Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
Write-Host
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
Get-AllO365Members
중요한 점은 새로운 MS Graph Reporting API가 이제 Powershell 보고서 cmdlet의 대부분을 대체했다는 것입니다.
13. PowerShell을 사용하여 사용자를 모든 사이트에서 제거
때때로 관리자로서, Office 365에서 사용자를 제거해야 할 수도 있습니다. 다음 명령을 사용하여 모든 사이트에서 사용자를 영구적으로 삭제하십시오.
Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicr
또한 읽으십시오 Azure 조건부 액세스 + 다단계 인증(MFA) 설정
14. Office 365 인스턴스에 연결 설정
Office 365와 함께 작업을 시작하려면 Windows PowerShell 모듈을 다운로드하여 설치해야 합니다. 다음 단계에 따라 이를 수행하세요.
먼저, IT 전문가용 Microsoft Online Services 로그인 어시스턴트 RTW를 컴퓨터에 다운로드하여 설치하세요.
두 번째 단계로는 컴퓨터에 Azure Active Directory 및 Office 365용 Online Services PowerShell 모듈을 설치하세요:
이 작업은 다음 명령을 실행하여 수행할 수 있습니다:
Install-Module -Name AzureAD
Install-Module -Name MSOnline
다음 단계로 Office 365 관리자 자격 증명을 제공하세요:
$Cred = Get-Credential
네 번째 단계로 원격 Powershell 세션을 생성합니다. 다음 명령을 실행하여 이 작업을 수행하세요:
$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
다음 단계로 세션 명령을 로컬 Windows PowerShell 세션에 가져오세요:
Import-PSSession $O365
마지막으로, Office 365 서비스 전체에 연결하려면:
Connect-MsolService –Credential $O365
필요한 Windows PowerShell 모듈을 가져온 후 Office 365를 관리하기 시작할 수 있습니다.
15. Exchange Online 및 SharePoint Online에 PowerShell 연결
Office365를 사용하면 Microsoft Exchange Online 또는 Microsoft SharePoint Online에 연결할 수 있습니다. PowerShell을 통해 Exchange Online에 연결하는 것은 Office 365에 연결하는 것과 매우 유사합니다. 다음 코드를 실행하여 수행할 수 있습니다:
$Cred = Get-Credential
$Session = New
-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
반면에 SharePoint Online에 연결하는 방법은 약간 다릅니다. SharePoint Online 관리 쉘 추가 기능을 설치한 후 SharePoint Online 테넌트를 관리해야 합니다. 그렇게 하면 다음 PowerShell 스크립트를 실행할 수 있습니다:
$admin="[email protected]" $orgname="enterprise" $userCred = Get-Credential -UserName $admin -Message "Type the password." Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
또한 읽으십시오 Azure AD 모니터링 도구 배포
Office 365 PowerShell 명령 요약(사용자, 그룹, 라이선싱) 결론
파워쉘은 Office 365를 관리하는 데 굉장히 강력한 도구입니다. PowerShell을 사용한 Office 365 관리는 Microsoft Windows Server에서 하는 것과 마찬가지로 빠르고 간단합니다.
그러나 Powershell로 쉽게 수정할 수 있지만, Office 365 환경에 대한 모든 수정 사항을 감사 추적하는 것이 항상 권장됩니다.문제가 발생할 경우 문제 해결에 도움이 됩니다.
Source:
https://infrasos.com/top-15-office-365-powershell-commands-users-groups-licensing/