Apps and tools built by our engineers that are intended to be played with and explored.




Note: The functionality of this Fling has now been integrated into Horizon View 6.1. However, you can still download this Fling if you are using earlier versions of Horizon View.


The ViewDbChk tool allows administrators to scan for, and fix provisioning errors that can not be addressed using View Administrator. Provisioning errors occur when there are inconsistencies between the LDAP, vCenter and View Composer databases. These can be caused by: direct editing of the vCenter inventory, restoring a backup, or a long term network problem.

This tool allows VMware View administrators to scan for machines which can not be provisioned and remove all database entries for them. The View Connection Server will then be able to re-provision the machine without any errors.



System Requirements

This fling is designed to be compatible with VMware Horizon 5.3 and 6.0. It should only be deployed on systems where the View Connection Server from VMware Horizon 5.3 or 6.0 has already been installed.

Separate downloads of ViewDbChk are provided for VMware Horizon 5.3 and 6.0. Please ensure that you install the correct version of ViewDbChk for your View Connection Server.


  1. Download the VMware ViewDbChk zip file.
  2. Create a new directory that is independent of the existing View Server installation.
  3. Unzip the ViewDbChk zip file into the new directory.
  4. Open a command prompt and 'cd' to the new directory.
  5. Type 'viewdbchk' to display the tool's help.


Change Log


Griff James

Enterprise Desktop
Add Feedback

36 thoughts on “ViewDbChk

  1. Thomas Lepke


    I have View 6.0.0 on Windows Server 2008 R2 and will use the tool. I unzip it in c:\temp\viewdbchk\, I start it and get the message: The system cannot find the path specified.

    What´s my problem?!? Can you helpme?

    Best Regards, Thomas

    1. Thomas Lepke

      Sorry for the spam, it´s monday and to early in the morning. I have unzip it on the composer server and not on the view server. Now the tool is running…

      Excuse me…

  2. HouK

    Any plans for working with horizon 6.1.1 ?

    Currently have error

    C:\Tools\viewdbchk-x86_64-e.x.p-1990161-1>viewdbchk.cmd –findDesktop –desktopName VMKP002
    Looking for desktop pool “VMKP002” in LDAP…

    1. Griff James

      You should find that ViewDbChk in integrated into the 6.1.1 release, so you should be using the integrated version instead of the fling.

      Please use the version under “C:\Program Files\VMware\VMware View\Server\tools\bin” and update me with how you get on.



  3. Phil

    I wish there was a –listMachines options that would list the machines that are in a pool, by netbios name machine name not Adam database name. It would look something like this: viewdbchk.cdm –listMachines –desktopName

  4. Phil

    In view administrator my machines have names like Standard-001. However in AD the machine is STANDARD-001.
    So this happens:
    C:\viewdbchk-x86_64-e.x.p-1990161-1>viewdbchk.cmd –findMachine –desktopName Standard –machineName Standard-001
    Looking for desktop pool “Standard” in LDAP…
    ** ERROR: The machine “Standard-001” is not a member of the desktop pool “Standard” **

    C:\viewdbchk-x86_64-e.x.p-1990161-1>viewdbchk.cmd –findMachine –desktopName Standard –machineName STANDARD-001
    Looking for desktop pool “Standard” in LDAP…
    Desktop Pool Name: Standard
    Desktop Pool Type: AUTO_LC_TYPE
    VM Folder: /thprd-vdi/vm/Desktops – Linked Clones/Standard/
    Desktop Pool Disabled: false
    Desktop Pool Provisioning Enabled: true
    Checking connectivity…
    Connecting to View Composer “”. This may take some time…
    Connecting to vCenter “”. This may take some time…
    Looking for machine “STANDARD-001” in View Composer…
    Deployment Group Id: 1cdf0253-081a-4628-a39d-dd4a1fb35580
    Clone Id: 041ce134-786b-444d-9434-f4dee41e59df
    MOID: vm-1286
    Parent VM MOID: vm-1162
    Parent VM Snapshot MOID: snapshot-1163
    Looking for parent VM in vCenter…
    MOID: vm-1162
    Snapshot Name: WIN7_32_PRO(base51-standard-exempt)-Snapshot1.vmsn
    Looking for machine “STANDARD-001” in vCenter…
    ** ERROR: NOT FOUND **
    Looking for machine “STANDARD-001” in LDAP…
    ** ERROR: NOT FOUND **


    1. Griff James


      Can you send the output from:

      viewdbchk.cmd –findMachine –desktopName Standard –machineName Standard-001


    1. Griff James

      Hi Declan,

      Can you provide a few more details on the
      – version of View you are using the fling with
      – details of the error you are seeing


    2. Braxton Lay

      I kept getting Java errors too while running these commands on Server 2012 R2. Open command prompt and run as admin and the commands worked flawlessly in Server 2012.

      1. Griff James

        Hi Braxton,

        Can you post the error text here in as much detail as possible.
        Also, what version of View are you using? Later versions of View come with this tool included in the install.


        1. Braxton Lay

          Connection Server = Server 2012 R2
          VMware View version = 6.1.1 build-2769403
          Using the viewdbchk.cmd that is included in the connection server install located at C:\Program Files\VMware\VMware View\Server\tools\bin

          I was able to get the command to run when running command prompt as administrator and the tool worked great.

          Below is the error that it returns when running –scanMachines

          javax.naming.AuthenticationException: GSS-SPNEGO [Root exception is javax.securi
          ty.sasl.SaslException: Failed to initiate authentication: com.vmware.vdi.common.
          winauth.WinAuthCodifiedException: Failed to start authentication negotiation: Un
          known error [Caused by com.vmware.vdi.common.winauth.WinAuthCodifiedException: F
          ailed to start authentication negotiation: Unknown error]]
          at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:168)
          at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:235)
          at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2740)
          at com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:316)
          at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)

          at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211
          at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.ja
          at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.jav
          at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
          at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307
          at javax.naming.InitialContext.init(InitialContext.java:242)
          at javax.naming.ldap.InitialLdapContext.(InitialLdapContext.java:1
          at com.vmware.vdi.ldapcontextpool.LdapContextManager$LdapContextPool.new
          at com.vmware.vdi.ldapcontextpool.LdapContextManager$LdapContextPool.get
          at com.vmware.vdi.ldapcontextpool.LdapContextManager$LdapContextPool.get
          at com.vmware.vdi.ldapcontextpool.LdapContextManager.getLdapContextForPo
          at com.vmware.vdi.ldapcontextpool.LdapContextManager.getLdapContext(Ldap
          at com.vmware.vdi.viewdbchk.desktop.MiniDesktopTracker.initialize(MiniDe
          at com.vmware.vdi.viewdbchk.desktop.MiniDesktopTracker.getInstance(MiniD
          at com.vmware.vdi.viewdbchk.command.ScanMachines.execute(ScanMachines.ja
          at com.vmware.vdi.viewdbchk.command.ViewDbCmd.execute(ViewDbCmd.java:409
          at com.vmware.vdi.viewdbchk.ViewDbChk.go(ViewDbChk.java:129)
          at com.vmware.vdi.viewdbchk.ViewDbChk.main(ViewDbChk.java:62)
          Caused by: javax.security.sasl.SaslException: Failed to initiate authentication:
          com.vmware.vdi.common.winauth.WinAuthCodifiedException: Failed to start authent
          ication negotiation: Unknown error [Caused by com.vmware.vdi.common.winauth.WinA
          uthCodifiedException: Failed to start authentication negotiation: Unknown error]

          at com.vmware.vdi.common.winauth.sasl.WinAuthSASLClient.prepareSASLCtx(W
          at com.vmware.vdi.common.winauth.sasl.WinAuthSASLClient.evaluateChalleng
          at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:123)
          … 22 more
          Caused by: com.vmware.vdi.common.winauth.WinAuthCodifiedException: Failed to sta
          rt authentication negotiation: Unknown error
          at com.vmware.vdi.common.winauth.WinAuthCodifiedException.fromResponse(W
          at com.vmware.vdi.common.winauth.UserContext.initiateSASLAuthentication(
          at com.vmware.vdi.common.winauth.UserContext.initiateSASLAuthentication(
          at com.vmware.vdi.common.winauth.UserContext.initiateSASLAuthentication(
          at com.vmware.vdi.common.winauth.sasl.WinAuthSASLClient.prepareSASLCtx(W
          … 24 more

          1. Griff James

            So everything is ok when running as an administrator? but if you use a regular user you get the error?

            If this is the case the behaviour is expected. The tool asks the connection server process to perform some work for it. The transport used for this has a security check that insists that the ViewDbChk process is run as an administrator.

            1. Braxton Lay

              That is correct. Right clicking and running command prompt as admin works without issue. I was posting the comment because often times I forget to run things as admin and thought it may help others in the future.

              1. Griff James

                Hi Braxton,

                Thanks for confirming.

                The security check has to insist on the user being an administrator in order to run any commands – because they are pretty powerful….



    1. Griff James

      Hi Anton,

      No, ViewDbChk won’t detect VMs that are missing from ADAM. If the entry for a VM has been removed from ADAM, View will attempt to re-provision the VM and re-create the ADAM entry before failing because the VM already exists.


  5. Masanobu.H

    Hello Griff,

    My customer would like to use this tool on View5.2. Can we use with 5.2?
    I remember 5.3 was planed to be released as 5.2.3 at that time, so I think
    its OK but would like to confirm if 5.2 is QAed.

    Kind regards,

    1. Terry Odom

      Additionally, when installing I get the error “Could not find the main class: com.vmware.vdi.viewdbchk.viewdbchk. Program will exit.”

      1. Griff James

        Hi Terry,

        ViewDbChk is designed to install in a separate directory from the connection server. e.g. c:\ViewDbChk.

        The bat file looks in the registry for the directory where the connection server is installed and then uses the JVM from there.

        Are you cd’ing to the directory where ViewDbChk was unzipped before running it?

  6. Ben Miller

    Does using this tool require me to install Java on my Connection Server? If so, what version of Java is required?

    1. Griff James

      Hi Ben,

      ViewDbChk uses the JVM installed as part of the connection server. You don’t need to explicitly install Java, the only requirement is that a connection server is already installed on the machine.

  7. Griff James

    Sorry Brian, I missed your question.

    Yes, there is a plan to port to View 5.3. I don’t have an exact ETA at the moment.

  8. Brian N.

    This looks like an amazing tool to have. We are not yet on Horizon 6. Is there any chance this will work or could be made to work with Horizon 5.2 or View 4.6?


Leave a Reply

Your email address will not be published. Required fields are marked *