Export (0) Print
Expand All

Combining Lync Online cmdlets with other Windows PowerShell cmdlets in Lync Online

Lync Server 2013

Topic Last Modified: 2013-07-05

When you connect to Lync Online by using Windows PowerShell, approximately 40 Lync Online cmdlets will available for your use. However, you are not limited to using just those 40 cmdlets when managing Lync Online. In addition to the Lync Online cmdlets, you can also use any other Windows PowerShell cmdlets that are installed on your computer. (When you install Windows PowerShell 3.0, hundreds of core Windows PowerShell cmdlets are installed, as well.) Your commands can mix and match Lync Online cmdlets and any other cmdlets available on your computer.

Although a complete course in Windows PowerShell 3.0 goes beyond the scope of this article, here are a few examples that show why you might want to mix and match cmdlets. First of all, none of the Lync Online cmdlets include a Print command, and no such command can be found in the Windows PowerShell console, either. So how do you get a printout of the information retrieved by a cmdlet? One way is to retrieve the information, and then send that information to the Out-Printer cmdlet:

Get-CsTenant | Out-Printer

Because no additional parameters are included, all the information returned by the Out-Printer cmdlet will be printed to the default printer.

Likewise, none of the Lync Online cmdlets include a parameter that allows you to save data to a file. But that’s OK: this command uses the Out-File cmdlet to save the returned information to the text file C:\Logs\Tenants.txt:

Get-Tenant | Out-File -FilePath "C:\Logs\Tenants.txt"

And this command uses the Select-Object cmdlet to limit the data that is returned and displayed onscreen. In this example, the Get-CsOnlineUser cmdlet retrieves information for all of your Lync Online users, and then the Select-Object cmdlet is used to limit the displayed data to the user’s Identity value and their archiving policy:

Get-CsOnlineUser | Select-Object Identity, ArchivingPolicy

Because there will be hundreds of cmdlets available for use on your computer, you might have difficulty determining which cmdlets are Lync Online cmdlets and which ones are not. To return a list of the Lync Online cmdlets (and only Lync Online cmdlets), you must first determine the name of the temporary Windows PowerShell module that contains all the Lync Online cmdlets. To do that, run this command from the Windows PowerShell prompt:


Information similar to the following will appear onscreen:

ModuleType Name                 ExportedCommands
---------- ----                 ----------------
Manifest   Microsoft.PowerS...  {Add-Computer, Add-Content, A...}
Script     tmp_5astd3uh.m5v     {Disable-CsMeetingRoom, Enabl...}

The module with the ModuleType Script is the module that contains the Lync Online cmdlets. To return a list of those cmdlets, run the Get-Command cmdlet, using the name of the Script module as the module name:

Get-Command -Module tmp_5astd3uh.m5v

It’s possible that you could have multiple modules with a ModuleType equal to Script. In that case, you can run the following command to find out which module includes the Get-CsTenant cmdlet:

Get-Command Get-CsTenant

The module returned for the Get-CsTenant cmdlet will be the module containing all the Lync Online cmdlets:

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Get-CsTenant                                       tmp_5astd3uh.m5v
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft