Od kilku miesięcy dosyć często korzystam z SEFAUTIL i zdałem sobie sprawę, z tego, że wielu administratorów Skype for Business (przynajmniej w Polsce, gdzie Enterprise Voice nie jest zbyt często wdrażaną funkcjonalnością SfB) nie kojarzy tej nazwy lub nie miało okazji użyć tego narzędzia. Zacznę więc może od początku.
Kiedy zaczynamy używać Skype for Business jako systemu telefonicznego, często zachodzi potrzeba wykonania dodatkowych operacji, związanych z pracą w grupie - przekierowania rozmowy, wskazania delegata, który może dzwonić w naszym imieniu czy też uruchomienia funkcjonalności dzwonienia grupowego. Wszystkie te opcje użytkownik może skonfigurować samodzielnie, korzystając z opcji klienta Skype for Business na swoim komputerze, jak widać na poniższym obrazku.
Jednak gdy użytkownik jest nieobecny, a istnieje potrzeba wykonania takiej operacji, czy administrator może wyręczyć użytkownika? Odpowiedź jest prosta - może.
Żaby pomóc administratorowi w tych czynnościach, grupa produktowa już dla wersji Lync 2010 umieściła w zestawie narzędzi Resource Kit specjalne narzędze - SEFAUTIL, którego nazwa jest oczywiście skrótem i pochodzi od określenia Secondary Extension Feature Activation.
Niestety, narzędzie to działa w linii komend i wymaga dodatkowych przygotowań serwera, na którym chcemy je uruchomić - https://blogs.msdn.microsoft.com/ramblingsfromthefield/2014/11/14/using-sefautil-to-manage-users-delegates/. Nie jest to więc wygodne ani w żaden sposób powiązane z innymi czynności administracyjnymi, realizowanymi z powłoki PowerShell. Żeby np. sprawdzić ustawienia użytkownika, czy ma włączone równoczesne dzwonienie musimy wykonać (wskazując pulę serwerową, do której rejestruje się użytkownik) komendę:
.\SEFAUtil.exe /server:sfbpool.pepug.net adam.abacki@pepug.org
W odpowiedzi dostaniemy informację:
Żeby usprawnić życie administratora kilka lat temu MVP Matt Landis i jego firma przygotowały narzędzie SEFAUTIL Server, które możemy zainstalować w naszym środowisku z poziomu Powershell, a co więcej wywoływać je zdalnie, korzystając z powershell remoting. Ta sama komenda będzie wyglądała w tym przypadku następująco:
Invoke-Command -ComputerName serv1.pepug.net -ScriptBlock { Get-CsUserForwarding sip:bolek.babacki@pepug.org }
Odpowiedź będzie nieco bogatsza i co ważne, będzie realizowana z poziomu powershell
Get-CsUserCallForwardingSettings -Identity sip:Adam.Abacki@pepug.org
Kiedy zaczynamy używać Skype for Business jako systemu telefonicznego, często zachodzi potrzeba wykonania dodatkowych operacji, związanych z pracą w grupie - przekierowania rozmowy, wskazania delegata, który może dzwonić w naszym imieniu czy też uruchomienia funkcjonalności dzwonienia grupowego. Wszystkie te opcje użytkownik może skonfigurować samodzielnie, korzystając z opcji klienta Skype for Business na swoim komputerze, jak widać na poniższym obrazku.
Jednak gdy użytkownik jest nieobecny, a istnieje potrzeba wykonania takiej operacji, czy administrator może wyręczyć użytkownika? Odpowiedź jest prosta - może.
Żaby pomóc administratorowi w tych czynnościach, grupa produktowa już dla wersji Lync 2010 umieściła w zestawie narzędzi Resource Kit specjalne narzędze - SEFAUTIL, którego nazwa jest oczywiście skrótem i pochodzi od określenia Secondary Extension Feature Activation.
Niestety, narzędzie to działa w linii komend i wymaga dodatkowych przygotowań serwera, na którym chcemy je uruchomić - https://blogs.msdn.microsoft.com/ramblingsfromthefield/2014/11/14/using-sefautil-to-manage-users-delegates/. Nie jest to więc wygodne ani w żaden sposób powiązane z innymi czynności administracyjnymi, realizowanymi z powłoki PowerShell. Żeby np. sprawdzić ustawienia użytkownika, czy ma włączone równoczesne dzwonienie musimy wykonać (wskazując pulę serwerową, do której rejestruje się użytkownik) komendę:
.\SEFAUtil.exe /server:sfbpool.pepug.net adam.abacki@pepug.org
W odpowiedzi dostaniemy informację:
User Aor: sip:adam.abacki@pepug.org
Display Name: Adam Abacki
UM Enabled: True
Simulring enabled: True
Simul_Ringing to: sip:+48xxxxxxxxx@pepug.org;user=phone
User Ring time: 00:00:20
Call Forward No Answer to:
sip:+48xxxxxxxxx@pepug.org;user=phone
Żeby usprawnić życie administratora kilka lat temu MVP Matt Landis i jego firma przygotowały narzędzie SEFAUTIL Server, które możemy zainstalować w naszym środowisku z poziomu Powershell, a co więcej wywoływać je zdalnie, korzystając z powershell remoting. Ta sama komenda będzie wyglądała w tym przypadku następująco:
Invoke-Command -ComputerName serv1.pepug.net -ScriptBlock { Get-CsUserForwarding sip:bolek.babacki@pepug.org }
Odpowiedź będzie nieco bogatsza i co ważne, będzie realizowana z poziomu powershell
PSComputerName : serv1.pepug.net
RunspaceId : 977d2548-53e2-4b5a-bbd7-19a89ab5033e
ApplyOnlyDuringWorkHoursFromCalendar : False
BlockCallsEnabled : False
Breakthrough : {}
CallForwardingEnabled : False
CallForwardTo : {}
CallForwardToTargetsEnabled : False
CategoryName : routing
ControlledDevice : {}
DelegateRingEnabled : False
Delegates : {}
FirstDelegate :
FirstDelegateWaitTime : 00:00:00
ForwardAudioAppInvitesEnabled : False
SimultaneousRing : {}
SimultaneousRingEnabled : False
SkipPrimaryEnabled : False
Team : {}
TeamOrOtherDelegatesWaitTime : 00:00:20
TeamRingEnabled : False
UserOnlyWaitTime : 00:00:20
UserWaitTimebeforeTeamOrDelegates : 00:00:00
VoiceEscalation : {}
Po wielu latach próśb zespół produktowy w końcu zawarł cmdlety z grupy SEFAUTIL w pakiecie CU1 dla Skype for Business 2019, co znacząco upraszcza konfigurację i pozwala nam sprawdzić i ustawić w imieniu użytkownika niezbędne opcje bez konieczności instalowania dodatkowych narzędzi. Teraz żeby sprawdzić ustawienia użytkownika wystarczy wykonać komendę:RunspaceId : 977d2548-53e2-4b5a-bbd7-19a89ab5033e
ApplyOnlyDuringWorkHoursFromCalendar : False
BlockCallsEnabled : False
Breakthrough : {}
CallForwardingEnabled : False
CallForwardTo : {}
CallForwardToTargetsEnabled : False
CategoryName : routing
ControlledDevice : {}
DelegateRingEnabled : False
Delegates : {}
FirstDelegate :
FirstDelegateWaitTime : 00:00:00
ForwardAudioAppInvitesEnabled : False
SimultaneousRing : {}
SimultaneousRingEnabled : False
SkipPrimaryEnabled : False
Team : {}
TeamOrOtherDelegatesWaitTime : 00:00:20
TeamRingEnabled : False
UserOnlyWaitTime : 00:00:20
UserWaitTimebeforeTeamOrDelegates : 00:00:00
VoiceEscalation : {}
Get-CsUserCallForwardingSettings -Identity sip:Adam.Abacki@pepug.org