none
DeployRoot provided by MDTDB location RRS feed

  • Question

  • I am trying to figure out hot to have the DeployRoot parameter to be provider from the MDTDB based on a Location. I have the MDTDB setup and it provides the functionality as expected during OS install. I have a datacenter on the EAST and West coast, with the MDTDB on the EAST coast. I am ok with the DB query to occur across the WAN but I do not want the actual OS and applications to go across the WAN.

    Going some googling I found a few suggestions that by setting the bootstrap.ini to the following setting DeployRoot=\\%servera%\Deploy$ and then the ServerA variable in the database > locations > ID1 > ServerA = server.kdt.int 

    [Settings]
    Priority=Default

    [Default]
    SkipBDDWelcome=YES
    DeployRoot=\\%servera%\Deploy$
    UserID=FA-MDT_Deploy
    UserDomain=kdt
    UserPassword=p@ssw0rd

    The problem is that when the ZTI runs, I get a error message stating that the deployment share at \\%servera\deploy$ cannot be found.

    So how do I get the DeployRoot to be retrieved from the MDT 2013 MDTDB?

    Friday, September 26, 2014 1:52 AM

Answers

  • I don't see why you can't read from the database in the bootstrap.ini, however I must admit that I don't do much with the MDT Database.

    As a test I ran the following, and worked in a full OS.

    [Settings]
    Priority=CSettings,Default
    
    [Default]
    ServerA=FallBack
    DeployRoot=\\%ServerA%\DeploymentShare$
    
    [CSettings]
    SQLServer=pickettv
    Instance=SQLEXPRESS
    Database=MDT
    Netlib=DBNMPNTW
    SQLShare=Deploy$
    Table=ComputerSettings
    Parameters=UUID, AssetTag, SerialNumber, MacAddress
    ParameterCondition=OR
    

    NOte that fallback would only be read if ServerA did not already exist from the DB QUery.


    Keith Garner - Principal Consultant [owner] - http://DeploymentLive.com

    Tuesday, September 30, 2014 10:05 PM
    Moderator

All replies

  • The database is not queried in the bootrap so it will note get the value from the database.

    Use %WDSserver% instead in the bootstrap

    DeployRoot=\\%WDSserver%\Deploy$

    or you could use defaultgateway

    [Settings]
     Priority=DefaultGateway, Default

     [Default]
     DeployRoot=\\Site1\DeploymentShare$

     [DefaultGateway]
     10.10.0.1=Site1
     10.20.0.1=Site2
     10.40.0.1=Site2
     10.50.0.1=Site4

    [Site1]
     Deployroot=\\Site1\DeploymentShare$
    [Site2]
     Deployroot=\\Site2\DeploymentShare$

    [Site4]
     Deployroot=\\Site4\DeploymentShare$

    Friday, September 26, 2014 9:57 AM
  • Option  if I am assuming correctly requires a WDS server to provide the PXE boot services, which then injects the WDSServer environment variable that the bootstrap can use.  If so this will not work in our environment as we are not setting up WDS.

    Option 2 is too manual for us, with over 200 subnets and ever growing, it will not help us with minimizing updates to the PE iso.

    Any other ideas?

    Friday, September 26, 2014 10:54 AM
  • Yes, ServerA is one way in which you can abstract the DeployRoot... However...

    Devil is in the details, and you didn't detail above how you got the ServerA value, That must be pre-populated early in the bootstrap.ini process.

    for example, Is the bootstrap.ini file parsing the database before [default] section? Have you tried using a web service? etc.


    Keith Garner - Principal Consultant [owner] - http://DeploymentLive.com

    Monday, September 29, 2014 9:46 PM
    Moderator
  • The "ServerA" option is being specified in the MDTDB manuall or prepopulated. For example:

    New-MDTlocation
    –name East -Gateways 192.168.148.2 -settings @{

    TimeZoneName='Eastern
    Standard Time';

    OSDAdapter0DNSServerList=192.168.148.50,192.168.148.51;

    DomainAdmin='fa-MDT_Join'

    DomainAdminDomain=kdt.int;

    DomainAdminPassword='p@ssw0rd';

    ServerA='deploy.kdt.int';

    }

    You Ask "Is the bootstrap.ini file parsing the database before [default] section?"  With my bootstrap.ini being part of my orginal post, I would say no I am not.  According to Henrik_Dahl this was not possible.  Can you point me in the correct direction?  Is it possible?  I originally thought that was what the MDTDB was supposed to do for me.  Thanks!


    Tuesday, September 30, 2014 1:06 PM
  • I don't see why you can't read from the database in the bootstrap.ini, however I must admit that I don't do much with the MDT Database.

    As a test I ran the following, and worked in a full OS.

    [Settings]
    Priority=CSettings,Default
    
    [Default]
    ServerA=FallBack
    DeployRoot=\\%ServerA%\DeploymentShare$
    
    [CSettings]
    SQLServer=pickettv
    Instance=SQLEXPRESS
    Database=MDT
    Netlib=DBNMPNTW
    SQLShare=Deploy$
    Table=ComputerSettings
    Parameters=UUID, AssetTag, SerialNumber, MacAddress
    ParameterCondition=OR
    

    NOte that fallback would only be read if ServerA did not already exist from the DB QUery.


    Keith Garner - Principal Consultant [owner] - http://DeploymentLive.com

    Tuesday, September 30, 2014 10:05 PM
    Moderator
  • That was it!  I was able to use the following config in my Bootstrap.ini to connect to the DB via TCP, detect the Location and select the appropriate DeployRoot:

    [Settings]
    Priority=LSettings,Default

    [LSettings]
    SQLServer=Deploy.kdt.int
    Instance=MDT
    Database=MDT
    Netlib=DBMSSOCN
    DBID=mdt_deploy
    DBPWD=p@ssw0rd
    SQLShare=deploy$
    Table=LocationSettings
    Parameters=DefaultGateway

    [Default]
    SkipBDDWelcome=YES
    DeployRoot=\\%ServerA%\Deploy$
    UserID=FA-MDT_Deploy
    UserDomain=kdt
    UserPassword=p@ssw0rd

    One note though this did break my SLSHare setting of where to copy the log files to.  Previously it was set to %DeployRoot%\Logs, my guess is that when it get's to that part or the task sqquence thae deployroot variable is no longer pointing to ServerA.  I am ok with this because I was going to hard code the log directory to a single server anyways.

    Thanks

    Thursday, October 2, 2014 12:55 PM