Sdílet prostřednictvím


Přiřazení zásad Skype pro firmy online jednotlivým uživatelům pomocí PowerShellu pro Microsoft 365

Tento článek se týká Microsoft 365 Enterprise i Office 365 Enterprise.

Použití PowerShellu pro Microsoft 365 je efektivní způsob, jak přiřadit nastavení komunikace jednotlivých uživatelů pomocí zásad Skype pro firmy Online.

Příprava na spuštění příkazů PowerShellu

Pomocí těchto pokynů můžete nastavit spouštění příkazů (přeskočte kroky, které jste už provedli):

Poznámka

Skype pro firmy Online Connector je v současné době součástí nejnovějšího modulu PowerShellu pro Teams. Pokud používáte nejnovější veřejnou verzi PowerShellu pro Teams, nemusíte instalovat konektor Skype pro firmy Online Connector.

  1. Nainstalujte modul Teams PowerShell.

  2. Otevřete příkazový řádek Windows PowerShell a spusťte následující příkazy:

    Import-Module MicrosoftTeams
    Connect-MicrosoftTeams
    

    Po zobrazení výzvy zadejte název a heslo účtu správce Skype pro firmy Online.

Aktualizace nastavení externí komunikace pro uživatelský účet

Předpokládejme, že chcete změnit nastavení externí komunikace u uživatelského účtu. Chcete například službě Alex povolit komunikaci s federovanými uživateli (EnableFederationAccess se rovná hodnotě True), ale ne s uživateli Služby Windows Live (EnablePublicCloudAccess se rovná false). K tomu je potřeba udělat dvě věci:

  1. Vyhledejte zásady externího přístupu, které splňují naše kritéria.

  2. Přiřaďte zásady externího přístupu Alexi.

Jak určíte, které zásady externího přístupu chcete Alex přiřadit? Následující příkaz vrátí všechny zásady externího přístupu, kde je EnableFederationAccess nastavená na hodnotu True a EnablePublicCloudAccess je nastavená na hodnotu False:

Get-CsExternalAccessPolicy -Include All| Where-Object {$_.EnableFederationAccess -eq $True -and $_.EnablePublicCloudAccess -eq $False}

Pokud jste nevytvořili vlastní instance ExternalAccessPolicy, vrátí tento příkaz jednu zásadu, která splňuje naše kritéria (FederationOnly). Tady je příklad:

Identity                          : Tag:FederationOnly
Description                       :
EnableFederationAccess            : True
EnableXmppAccess                  : False
EnablePublicCloudAccess           : False
EnablePublicCloudAudioVideoAccess : False
EnableOutsideAccess               : True

Teď, když víte, kterou zásadu přiřadit Alexi, můžeme tuto zásadu přiřadit pomocí rutiny Grant-CsExternalAccessPolicy . Tady je příklad:

Grant-CsExternalAccessPolicy -Identity "Alex Darrow" -PolicyName "FederationOnly"

Přiřazení zásady je jednoduché: můžete zadat identitu uživatele a název zásady, která se má přiřadit.

A pokud jde o zásady a přiřazení zásad, nejste omezeni na práci s uživatelskými účty jednou za čas. Předpokládejme například, že potřebujete seznam všech uživatelů, kteří můžou komunikovat s federovanými partnery a s uživateli služby Windows Live. Už víme, že těmto uživatelům byla přiřazena zásada přístupu externích uživatelů FederationAndPICDefault. Protože to víme, můžete zobrazit seznam všech těchto uživatelů spuštěním jednoho jednoduchého příkazu. Tady je příkaz:

Get-CsOnlineUser -Filter {ExternalAccessPolicy -eq "FederationAndPICDefault"} | Select-Object DisplayName

Jinými slovy, ukažte nám všem uživatelům, kde je vlastnost ExternalAccessPolicy nastavená na FederationAndPICDefault. (Pokud chcete omezit množství informací, které se zobrazují na obrazovce, použijte rutinu Select-Object, která nám zobrazí jenom zobrazované jméno jednotlivých uživatelů.)

Pokud chcete nakonfigurovat všechny uživatelské účty tak, aby používaly stejné zásady, použijte tento příkaz:

Get-CsOnlineUser | Grant-CsExternalAccessPolicy "FederationAndPICDefault"

Tento příkaz pomocí Get-CsOnlineUser vrátí kolekci všech uživatelů, kteří mají povolený Lync, a pak odešle všechny tyto informace do grant-CsExternalAccessPolicy, která přiřadí zásady FederationAndPICDefault každému uživateli v kolekci.

Jako další příklad předpokládejme, že jste alexovi dříve přiřadili zásadu FederationAndPICDefault a teď jste změnili názor a chtěli byste, aby byl spravován globálními zásadami externího přístupu. Globální zásady nemůžete explicitně přiřadit nikomu. Místo toho se globální zásady použijí pro daného uživatele, pokud mu nejsou přiřazeny žádné zásady pro jednotlivé uživatele. Proto pokud chceme, aby byl Alex spravován globálními zásadami, musíte zrušit přiřazení zásad pro uživatele, které mu byly dříve přiřazeny. Tady je příklad příkazu:

Grant-CsExternalAccessPolicy -Identity "Alex Darrow" -PolicyName $Null

Tento příkaz nastaví název zásady externího přístupu přiřazené službě Alex na hodnotu null ($Null). Null znamená "nothing". Jinými slovy, Alexovi nejsou přiřazeny žádné zásady externího přístupu. Pokud nejsou uživateli přiřazeny žádné zásady externího přístupu, bude tento uživatel spravován globálními zásadami.

Správa velkého počtu uživatelů

Pokud chcete spravovat velký počet uživatelů (1000 nebo více), musíte příkazy dávkovat prostřednictvím bloku skriptu pomocí rutiny Invoke-Command . V předchozích příkladech musí při každém spuštění rutiny nastavit volání a pak počkat na výsledek, než ho odešlete zpět. Při použití bloku skriptu to umožňuje vzdálené spuštění rutin a po dokončení odeslat data zpět.

$s = Get-PSSession | Where-Object { ($.ComputerName -like '*.online.lync.com' -or $.Computername -eq 'api.interfaces.records.teams.microsoft.com') -and $.State -eq 'Opened' -and $.Availability -eq 'Available' }

$users = Get-CsOnlineUser -Filter { ClientPolicy -eq $null } -ResultSize 500

$batch = 50
$filter = ''
$total = $users.Count
$count = 0
    $users | ForEach-Object {
    $upn = $_.UserPrincipalName
    $filter += "(UserPrincipalName -eq '$upn')"
    $batch--
    $count++
    if (($batch -eq 0) -or ($count -eq $total)) {
        $filterSB=[ScriptBlock]::Create($filter)
        Invoke-Command -Session $s -ScriptBlock {param($f) Get-CsOnlineUser -filter $f | Grant-CsClientPolicy -PolicyName "ClientPolicyNoIMURL" -Passthru | Grant-CsExternalAccessPolicy -PolicyName "FederationAndPICDefault"} -ArgumentList $filterSB

        # Reset
        $batch = 50
        $filter = ''
    } else {
        $filter += " -or "
    }
}

Najde se 500 uživatelů najednou, kteří nemají zásady klienta. Udělí jim zásady klienta ClientPolicyNoIMURL a zásady externího přístupu FederationAndPicDefault. Výsledky jsou rozděleny do skupin po 50 a každá dávka po 50 se pak odešle do vzdáleného počítače.

Viz také

Správa Skype pro firmy Online pomocí PowerShellu

Správa Microsoftu 365 pomocí PowerShellu

Začínáme s PowerShellem pro Microsoft 365