Enjoy Sharing

Integrating vPro KVM feature to ConfigMgr 2007

Alright, first some background. If you’ve not yet heard, in versions 6.x and 7.x of Intel vPro there is a feature called Remote KVM. Yes, that’s Keyboard-Video-Mouse! It’s the ability to take control of the remote computer’s keyboard, video and mouse just like how you’d do it using Remote Desktop; except that you can do this out-of-band. Previously we’ve been able to do this using Serial Over LAN (SoL) in earlier versions of vPro but it was limited to only displaying text. Now, you get full graphics and best of all it can automatically adjusts its quality based on the detected available bandwidth. Cool hey!

Let’s get to it! I’m assuming you’ve got your vPro computers provisioned and managed by SCCM. Let’s leave that as a pre-requisite to start. In ConfigMgr, we would have to use RealVNC to perform the remote KVM session specifically the Viewer Plus. The question is how do we get it integrated right into the ConfigMgr Administrator Console. Here’s how.

Downloading and Installing RealVNC Viewer Plus

  1. This part should be pretty straight forward. Here’s the where you’d go to download it.
  2. Install RealVNC Viewer Plus. Make sure you install it on a computer that is running the Administrator Console and where you would perform a remote KVM session on.
  3. Remember the path that you’ve installed it. The default would be at c:\Program Files\RealVNC\VNCViewerPlus.

Extending the Administrator Console

This is so that you are able to get an additional option to launch the Remote KVM from the context menu when you right-click on a computer resource in a collection. To do this you need an .XML file with the following contents. Change the DisplayName as desired. The .XML file calls a .VBS file which I will explain further down the post.

  1. Create a .XML file with the below contents.
  2. Name the file as vPro_Client.xml
  3. Copy the file to the “c:\Program Files\Microsoft Configuration Manager\AdminUI\XMLStorage\Extensions\Actions\7ba8bf44-2344-4035-bdb4-16630291dcf6” location. If the folder does not exist, create it.
  4. Close and open the ConfigMgr Administrator Console if it was currently open.

<ActionDescription Class="Group" DisplayName="vPro" MnemonicDisplayName="vPro" Description="PRO Client Tools" SqmDataPoint="53">
  <ActionGroups>
       
    <ActionDescription Class="Executable" DisplayName="AMT KVM" MnemonicDisplayName="Mnemonic" Description="AMT KVM">
      <Executable>
        <FilePath>cmd.exe</FilePath>
<Parameters>/C cscript c:\KVM\launch_AMT_KVM.vbs ##SUB:Name## ##SUB:__Server##</Parameters>
      </Executable>
    </ActionDescription>

  </ActionGroups>
</ActionDescription>

 

Calling the VNC Viewer

This is the .VBS script that the right-click option will call. The script basically retrieves the FQDN of the computer from the database and launches VNC passing the parameters to it.

  1. Create the C:\KVM folder. This can be in any other path as long as you change the path in the .XML file.
  2. Create a .VBS file with the contents below.
  3. Copy the file into the C:\KVM folder.

Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = wscript.scriptfullname & "\.."

hostname = WScript.Arguments(0)
WScript.Echo(hostname)
strServer = WScript.Arguments(1)
WScript.Echo(strServer)

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSMS = objLocator.ConnectServer(strServer, "Root/SMS") ‘connect to sms
objSMS.Security_.ImpersonationLevel = 3
set colSiteDetails=objSMS.ExecQuery("select Machine, SiteCode from SMS_ProviderLocation where ProviderForLocalSite=True")
For Each insSiteDetails In colSiteDetails
strSiteCode=insSiteDetails.SiteCode
next
set objSMS=objLocator.ConnectServer(strServer, "root/SMS/site_" & strSiteCode)
strQuery = "Select * From SMS_R_System where Name=’" & hostname & "’"

Set objEnumerator1 = objSMS.ExecQuery(strQuery)
if not isnull(objEnumerator1) then
t=0
for each instance1 in objEnumerator1
FQDN=instance1.ResourceNames(0)
WScript.Echo(FQDN)
temp=split(FQDN,".",2)
domain=temp(1)
t=1
next

set oExec = objShell.Exec( "c:\Program Files\RealVNC\VNCViewerPlus\vncviewerplus.exe ConnectionMode=IntelAMT AmtSecurity=TLS " & FQDN )

else
wscript.echo("Not a valid machine.")
Wscript.quit(4)
end if

 

 

Enjoy!!!

Advertisements

2 responses

  1. HKK

    hi Wei King,

    i have 3 Servers,
    – 1 Server for AD, DNS and DHCP server
    – 1 Server for SCCM
    – 1 Server for SQL server 2008,

    those are two server SCCM and SQL join domain.
    when i install the SCCM SP2 and i Run check.

    SQL server sysadmin rights Error.”Either the user account running targeted for sited database installation ro the SQL server instannce could not be contacted to verify permissions. Setup cannot continue.”

    So, could you gave me the instruction for fix this issue.

    i appreciate your support.

    Kind Regards,
    HKK

    July 9, 2011 at 11:22 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s