Lync PowerShell
Auch Microsoft Lync lässt sich per PowerShell wunderbar verwalten. Die meisten Einstellungen sind sogar nur über die PowerShell erreichbar und gar nicht per Lync Control Panel (Lync CSCP)
Siehe auch Lync Userprovisioning und XDSPublishItems
Lokale Lync PowerShell
Wenn Sie über den Lync Deployment Builder auf einem Computer die Lync Admin Tools installieren, bekommen Sie natürlich auch die Lync PowerShell mit installiert, die sich mit folgendem Aufruf im Startmenü verankert. (Zur besseren Lesbarkeit umgebrochen)
C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe -noexit -command "cd $env:UserProfile; Import-Module 'C:\Program Files\Common Files\ Microsoft Lync Server 2013\Modules\Lync\Lync.psd1'
Ein Blick in die PSD1-Datei zeigt neben der langen digitalen Signatur nur ganz wenig Code (zur Lesbarkeit umgebrochen):
@{ GUID="b8499a8b-4b90-43b8-a27e-3c4e7b292c44" Author="Microsoft Corporation" CompanyName="Microsoft Corporation" Copyright="Copyright (c) Microsoft Corporation. All rights reserved." ModuleVersion="5.0.0.0" Description="Microsoft Lync Server 2013" + " PowerShell Module" CLRVersion="2.0.50727" NestedModules="Microsoft.Rtc.Management","Microsoft.Rtc.Rgs.Management","init.ps1" RequiredAssemblies="Microsoft.Rtc.Management", "Microsoft.Rtc.Management.Core", "Microsoft.Rtc.Management.WritableConfig", "Microsoft.Rtc.Rgs.Management", "Microsoft.Rtc.Rgs.Data", "Microsoft.Rtc.Management.Deployment" ScriptsToProcess= "startup.ps1", "BackcompatCmdlets.ps1", "SetCsPinSendCAWelcomeMail.ps1" PowerShellVersion ="3.0" HelpInfoURI = "http://go.microsoft.com/fwlink/?LinkID=299660" }
Es werden ein paar Assemblies eingeladen und dann drei Skripte eingebunden.
- startup.ps1
Initialisiert die PowerShell - BackcompatCmdlets.ps1
Addiert ein paar Funktoinen, die beim Aufruf von früheren Commandlets eine Meldung, z.B. bei *-CsVacantNumber, die nun *-CsUnassignedNumber lauten -
SetCsPinSendCAWelcomeMail.ps1
Addiert die Funktion Set-CsPinSendCAWelcomeMail in der PowerShell, über die KonferenzPins erstellt und an die Benutzer per SMTP versendet werden können.
Ich habe bislang noch keine dieser zusätzlichen Funktionen wissentlich verwendet. Danach haben Sie aber alle Funktionen gemäß ihren Lync Verwaltungsrollen zur Verfügung.
Remote Lync PowerShell
Wie auch in Exchange lässt sich Lync aber auch von einem Computer ansteuern, der nur eine PowerShell installiert hat. Es ist daher nicht erforderlich die komplette Lync Admin Umgebung zu installieren. Hier ein Beispielcode:
# Angabe expliziter Credentials $cred = Get-Credential "ExampleDomain\Lync_Administrator" $session = New-PSSession ` -ConnectionURI "https://LyncServer/OcsPowerShell" ` -Credential $cred Import-PsSession $session # Nutzung der lokalen Anmeldedaten $session = New-PSSession ` -ConnectionURI "https://LyncServer/OcsPowerShell" ` -Authentication negotiatewithimplicitcredential Import-PsSession $session
Wenn die Lync PowerShell z.B. per HTTPS aus dem Internet erreichbar ist, können Sie so auch den Server verwalten.
- Using Remote PowerShell to
connect to Lync
http://blogs.technet.com/b/ilvancri/archive/2010/11/25/using-remote-PowerShell-to-connect-to-lync.aspx - Microsoft Lync Remote
PowerShell Administration
http://blog.insidelync.com/2011/08/remote-lync-PowerShell-administration/ - Lync Server 2010
http://blogs.technet.com/b/csps/archive/2010/08/03/scriptremotedesktopicon.aspx
Skype for Business Online PowerShell
Siehe dazu auch Office 365 - PowerShell
Genau dies ist mit Office 365 manchmal erforderlich. Seit Aug 2013 gibt es nun auch die PowerShell-Module zum Download, um von einem internen System per HTTPS auch per Skript die Konfiguration vornehmen zu können.
Skype for Business
Online, Windows PowerShell Module
http://www.microsoft.com/en-us/download/details.aspx?id=39366
Hier scheint aber eine einfache "Remote Verbindung" nicht möglich zu sein. Der Versuch mit folgendem Code und passenden Anmeldedaten wurde mit einem Fehler quittiert.
# Das geht leider nicht $session = New-PSSession ` -ConnectionURI "https://webdir0d.litwareinc.com/OcsPowerShellLiveId" ` -Credential $cred
Insofern macht der Code im Downloadpaket wohl doch noch das ein oder andere zusätzlich. Daher muss man für die Verwaltung von Lync Online einfach eine "normale" PowerShell starten und dann folgendes ausführen:
# Zuerst gültige Office 365 Anmeldedaten eingeben $credential = Get-Credential # Verbindung zu Office 365 herstellen $session = New-CsOnlineSession -Credential $credential -verbose # Session in die aktuelle Umgebung importren Import-PSSession $session -AllowClobber # Test ob alles erfolgreich war. Die Funktion "get-cstenant" ist # erst verfügbar, wenn die Session erfolgreich importiert wurde. get-cstenant # Am ende sollten Sie die Session natürlich wieder sauber abbauen Remove-PSSession $session
- Office 365 - PowerShell
- Remote PowerShell für Lync
Online
http://blogs.office.com/2013/08/19/remote-PowerShell-for-lync-online/ - Connecting to Lync Online by using Windows PowerShell
http://technet.microsoft.com/en-us/library/dn362795.aspx - Introduction to Lync Online
remote PowerShell documentation
http://go.microsoft.com/fwlink/?LinkId=309073 - Using Windows PowerShell to
manage Lync Online
http://technet.microsoft.com/en-us/library/dn362831.aspx - List of Lync Online Cmdlets
http://technet.microsoft.com/en-us/library/jj994021.aspx
OCS und PowerShell
OCS 2007 nutzt bislang LDAP und WMI, um alle Verwaltungstätigkeiten durchzuführen und bietet keine direkte PowerShell Unterstützung über Commandlets an. OCS 2007 R2 soll dies ändern. Aber es gibt Erweiterungen und Ergänzungen durch die Community.
- OCS Powerpack
http://powergui.org/entry.jspa?externalID=1926&categoryID=21
Autor: Curtis Johnstone ( http://powergui.org/accountView.jspa?UserID=1799 - OCS Snapin für PowerGUI
http://www.proexchange.be/modules.php?name=News&file=article&sid=921 - OCS Management on Steroids
http://dmitrysotnikov.wordpress.com/2008/06/20/ocs-management-console-on-steroids/ - OCS powerpack für PowerGUI just posted by Curtis
Johnstone:
http://powergui.org/entry.jspa?externalID=1926&categoryID=21 - PowerShell meets OCS
http://aspoc.net/archives/2008/07/24/PowerShell-meets-ocs/ - Provisioning OCS From the Command Line
http://blog.insideocs.com/2009/01/16/189/ - OCS and PowerShell Webcast
http://dmitrysotnikov.wordpress.com/2009/01/19/ocs-PowerShell-webcast/ - PowerShell Script für Retriving IM from Archving
Database
http://communicationsserverteam.com/archive/2008/01/14/69.aspx
Weitere Links
- PowerShell4Admin
- PowerShell
- PSExRemote
- Lync CSCP
- Lync Groupprovisioning
- LyncWeb
- XDSPublishItems
- Microsoft Lync Remote
PowerShell Administration
http://blog.insidelync.com/2011/08/remote-lync-PowerShell-administration/ - Lync Server 2013 PowerShell
Cmdlet Updates and Additions
since RTM
http://tomtalks.blog/2014/08/lync-server-2013-PowerShell-cmdlet-Updates-and-additions-since-rtm/ - All Lync 2013 Cmdlets and
the Default RBAC Roles That Can use Them
http://www.ehloworld.com/2367