PowerShell Provisioning

Learn to use Skype SDN Interface Powershell commands.

Applies to: Lync Server 2013 | Skype for Business 2015 | Skype for Business 2019

PowerShell Provisioning

After the installation of SDN Manager, the Windows Start Menu contains an SDN Manager PowerShell link that allows execution of provisioning commands like the command line provisioning interface.

The SDN Interface PowerShell can be accessed from any SDN Manager in the SDN Manager pool by clicking on "SDNManager Powershell" under the Windows Start menu as seen in the screenshot below.

SDN Manager PowerShell location on Windows Start menu:

SDN Manager PowerShell location on Windows Start menu:

Below is the list of SDN Manager PowerShell commands, from "(Get-Command cssdn).Name":

Add-CsSdnListener

Add-CsSdnSubscriber

Get-CsSdnCatalog

Get-CsSdnListener

Get-CsSdnLog

Get-CsSdnManager

Get-CsSdnStatus

Get-CsSdnSubscriber

Get-CsSdnSubscriberStatus

Set-CsSdnListenerParameter

Set-CsSdnManagerParameter

Set-CsSdnSubscriberParameter

Remove-CsSdnListener

Remove-CsSdnSubscriber

Example output for Add-CsSdnListener -SdnPoolUri http://localhost:9333/Settings -Identifier SdnPool.CONTOSO.COM


true

Example output for Get-CsSdnCatalog -SdnPoolUri http://localhost:9333/Settings

<Catalog Version="A" xmlns="uctp.skype.microsoft.com" xmlns:s="uctp.skype.microsoft.com">
  <Identity>
    <Name>ProdStress2.LNEPROD.contoso.com</Name>
    <PoolName>MySDNDB</PoolName>
    <Role>UCS</Role>
    <Scope>
    </Scope>
  </Identity>
  <Endpoints>
    <Connection Transport="WebSockets" Encoding="text/xml" />
    <Connection Transport="WebSockets" Encoding="application/json" />
  </Endpoints>
  <Topic Name="LyncDiagnostics" Version="1.0" Schemas="SDNInterface.Schemas.D">
    <Element Name="SendRawSDP" Version="2.0" />
    <Element Name="Quality" Version="2.0" />
    <Element Name="Signaling" Version="2.0" />
    <Element Name="ObfuscationSeed" Version="2.0" />
  </Topic>
  <Topic Name="VQ" Version="1.0" Schemas="ms-rtcp-metrics,ms-rtcp-metrics.v2,ms-rtcp-metrics.v3,ms-rtcp-metrics.v4,ms-rtcp-metrics.v5">
    <Element Name="ObfuscationSeed" Version="3.0" />
  </Topic>
  <Topic Name="SBCQuality" Version="1.0" Schemas="sbc.uctp.skype">
    <Element Name="DeviceOverview" />
    <Element Name="Addressing" />
    <Element Name="UserInfo" />
    <Element Name="Summary" />
    <Element Name="Update" />
    <Element Name="Attempt" />
  </Topic>
  <Topic Name="NCQuality" Version="1.0" Schemas="nc.uctp.skype">
  </Topic>
</Catalog>

Example output for Get-CsSdnListener -SdnPoolUri http://localhost:9333/Settings -Identifier SdnPool.CONTOSO.COM


<Configuration Version="2.0" culture="en-US" Kind="Listener" Identifier="SDNPOOL.CONTOSO.COM" LastModified="2016-12-30T01:05:19.5514775Z">
  <parameter key="submituri">http://localhost:9333/LDL/</parameter>
  <parameter key="alternativeuri" />
  <parameter key="clientcertificateid" />
  <parameter key="submitqueuelen">1000</parameter>
  <parameter key="maxbackoff">30</parameter>
  <parameter key="maxdelaylimit">5</parameter>
  <parameter key="maxopen">100</parameter>
  <parameter key="maxretry">100</parameter>
  <parameter key="maxretrybeforefailover">10</parameter>
  <parameter key="Created">2016-12-29T17:05:19.5358543-08:00</parameter>
</Configuration>

Example output for Get-CsSdnLog -SdnPoolUri http://localhost:9333/Settings -Identifier lneapplog


<Log>2016-12-29T15:06:18.7226346-08:00 [Info] Skype for Business SDN Manager service started. EventId: 101 Category: 3

...
</Log>

Example output for Get-CsSdnLog -SdnPoolUri http://localhost:9333/Settings -Identifier siphonstate


<SiphonState Version="1.0" />

Example output for Get-CsSdnLog -SdnPoolUri http://localhost:9333/Settings -Identifier serverstate

<ServerStates Version="1.0">
</ServerStates>

Example output for Get-CsSdnLog -SdnPoolUri http://localhost:9333/Settings -Identifier connections


<Connections Version="1.0" />

Example output for Get-CsSdnLog -SdnPoolUri http://localhost:9333/Settings -Identifier config

<Config Version="1.0">
  <add key="configurationserviceuri" value="http://localhost:9333/Settings" />
  <add key="checkdns" value="False" />
  <add key="configurationrefresh" value="00:00:50" />
  <add key="mode" value="Database" />
  <add key="statedbserver" value="dblneprod" />
  <add key="statedbname" value="SDNManager22" />
  <add key="identifier" value="MySDNDB" />
  <add key="usedapi" value="False" />
</Config>

Example output for Get-CsSdnManager -SdnPoolUri http://localhost:9333/Settings


<Configuration Version="2.0" culture="en-US" Kind="Manager" Identifier="DEFAULT" LastModified="2016-12-29T23:06:18.4101308Z">
  <parameter key="calltimeout">1.00:00:00</parameter>
  <parameter key="endedtimeout">00:00:15</parameter>
  <parameter key="invitetimeout">00:03:00</parameter>
  <parameter key="maxcachesize">20000</parameter>
  <parameter key="qoetimeout">00:00:05</parameter>
  <parameter key="timeouthandlerperiod">00:00:10</parameter>
  <parameter key="hidepii">True</parameter>
  <parameter key="applicationsharing-AppliedBandwidthLimitAcceptable">500000</parameter>
...
  <parameter key="video-VideoPostFECPLROptimal">0.05</parameter>
</Configuration>

Example output for Get-CsSdnStatus -SdnPoolUri http://localhost:9333/Settings


<Status Version="1.0">
  <UpTime>1:59:01.1725951</UpTime>
  <SinceLastRequest>00:00:10.2136107</SinceLastRequest>
</Status>

Example output for Get-CsSdnSubscriber -SdnPoolUri http://localhost:9333/Settings -Identifier MySubscriber


<Configuration Version="2.0" culture="en-US" Kind="Subscriber" Identifier="MYSUBSCRIBER" LastModified="2016-12-30T01:05:19.5671027Z">
  <parameter key="submituri">http://localhost:9333/Log/poststuffhere</parameter>
  <parameter key="outputschema">D</parameter>
  <parameter key="clientcertificateid" />
  <parameter key="domainfilters" />
  <parameter key="subnetfilters" />
  <parameter key="tenantfilters" />
  <parameter key="trunkfilters" />
  <parameter key="quality">True</parameter>
  <parameter key="signaling">False</parameter>
  <parameter key="sendrawsdp">False</parameter>
  <parameter key="maxbackoff">30</parameter>
  <parameter key="maxdelaylimit">5</parameter>
  <parameter key="maxopen">100</parameter>
  <parameter key="maxretry">100</parameter>
  <parameter key="submitqueuelen">1000</parameter>
  <parameter key="obfuscationseed" />
  <parameter key="schemaextension">true</parameter>
  <parameter key="Created">Manual</parameter>
</Configuration>

Example output for Get-CsSdnSubscriberStatus -SdnPoolUri http://localhost:9333/Settings -Identifier MySubscriber


<Status Version="2.0" Subscriber="MYSUBSCRIBER">
  <SDNManager>ProdStress2.LNEPROD.contoso.com</SDNManager>
  <SDNManagerVersion>3.0 7.0.1459.1</SDNManagerVersion>
  <ServiceUri>http://localhost:9333/Log/poststuffhere</ServiceUri>
  <IPs>::1,127.0.0.1</IPs>
  <Connection>
    <Uptime>0:00:00.1874999</Uptime>
    <DeliveredMessages>0</DeliveredMessages>
    <ReceivedMessages>0</ReceivedMessages>
    <DroppedMessages>0</DroppedMessages>
    <QueueLength>0</QueueLength>
    <OpenRequests>0</OpenRequests>
    <CallsQueued>0</CallsQueued>
    <RecentFailedMessages>0</RecentFailedMessages>
    <FailedMessages>0</FailedMessages>
    <LastError />
    <LastErrorTimeStamp>N/A</LastErrorTimeStamp>
    <LastMessageSent>2016-12-29T17:05:19.5671031-08:00</LastMessageSent>
    <LastMsgDelivered>N/A</LastMsgDelivered>
  </Connection>
</Status>

Example output for Set-CsSdnListenerParameter -SdnPoolUri http://localhost:9333/Settings -Identifier SdnPool.CONTOSO.COM -Parameter submitqueuelen -Value 2000


True

Example output for Set-CsSdnManagerParameter -SdnPoolUri http://localhost:9333/Settings -Parameter hidepii -Value True

True

Example output for Set-CsSdnSubscriberParameter -SdnPoolUri http://localhost:9333/Settings -Identifier MySubscriber -Parameter maxopen -Value 101

True

Example output for Remove-CsSdnListener -SdnPoolUri http://localhost:9333/Settings -Identifier SdnPool.CONTOSO.COM

True

Example output for Remove-CsSdnSubscriber -SdnPoolUri http://localhost:9333/Settings -Identifier MySubscriber

True