• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. george1421
    3. Posts
    • Profile
    • Following 1
    • Followers 65
    • Topics 113
    • Posts 15,342
    • Best 2,780
    • Controversial 0
    • Groups 2

    Posts made by george1421

    • RE: Force Windows Update once image loaded

      Typically you would install windows updates, .exes, packages, etc in your reference image before you captured it into FOG. But there are ways to do this post image install too. If you sysprep your reference image there is a windows batch file you can create called setupcomplete.cmd where you can call scripts. This batch file is executed after oobe is complete and just before the login window appears for the first time. This is a function of windows and not FOG.

      There is also a second place where you can place commands to execute. If you again sysprep your reference image and use an unattend.xml file you can tell windows to log in as an administrator and execute a first run section of your unattend.xml file.

      There is a third way to install applications (the FOG way), is to create snapins which are software packages that are called and installed post imaging from FOG. These snapins deliver the install packages to the target computers and then call the application silent installers to install the applications.

      posted in General
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      Progress is going very well with the ldap plugin. But we found that when we start bringing in other ldap serves to test, some of the shortcuts that worked for M$ did not work so well with other ldap servers. To that end, I wrote another proof of concept code using the long way to get a user’s ldap attributes. In this method I have to use an authorized read only user to query the ldap server to locate the user’s ldap account, then I use that ldap account to relogin to the ldap server to pick up the user’s group associations.

      <?php
      
          // the user we are going to authenticate
          $user = 'user1234';
          $pass = 'Password';
      
          // IP address or fqdn of ldap server
          $server = '192.168.1.5';
      
          // credentials that have read access to the LDAP server
          $bindDN = 'cn=Bob Jones,ou=Users,ou=nyc,dc=domain,dc=com';
          $bindPass = 'Password.2';
      
          // How deep in ldap from search base are we going to look for the user
          $searchScope = 2;
      
              // clean up user name we only want the user's short name without any domain component
              // note I did not try to understand the regex expression but I expect there to be
              // issues with non-us english characters, just saying.
              $user = trim(preg_replace('/[^a-zA-Z0-9\-\_@\.]/', '', $user));
      
              // open connection to the server
              $ldapconn = ldap_connect($server,389);
              ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
              ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
      
              $accessLevel = 0;
              $userSearchDN = 'ou=nyc,dc=domain,dc=com';
              $adminGroup = 'FoG_Admins';
              $userGroup = 'FOG_Users';
              $grpMemberAttr = strtolower('memberOf');
      
              if ( ldap_bind($ldapconn, $bindDN, $bindPass) ) {
                  // for the filter we are searching for a person with an NT style account like the contents of $user
                  $filter = sprintf('(&(objectCategory=inetOrgPerson)(%s=%s))', 'sAMAccountName', $user);
      
                  // we want to return the user's DN so that we can bind as the user
                  // we will get his DN based on his samaccountname for AD
                  $attr = array( 'dn' );
      
                  switch ($searchScope) {
                      case 1:
                          // LDAP_SCOPE_ONELEVEL search one level down but not base
                          $result = ldap_list($ldapconn, $userSearchDN, $filter, $attr);
                          break;
                      case 2:
                          // LDAP_SCOPE_SUBTREE search base + all subtree (OUs) below
                          $result = ldap_search($ldapconn, $userSearchDN, $filter, $attr);
                          break;
                      default:
                          // LDAP_SCOPE_BASE search base only and don't look any deeper
                          $result = ldap_read($ldapconn, $userSearchDN, $filter, $attr);
                  }
      
                  // count the number of entries returned
                  $retcount = ldap_count_entries($ldapconn, $result);
      
                  if ($retcount == 1) {
                      // great we only returned one entry
                      $entries = ldap_get_entries($ldapconn, $result);
                      // pull out the user dn from the entries
                      $userDN = $entries[0]['dn'];
                  } else {
                      $userDN = '';
                  }
      
              }
      
              // if user dn is populated then attempt to connect (bind) to ldap as user
              if (!$userDN =='') {
                  // Now rebind as the user we just found
                  if ( ldap_bind($ldapconn, $userDN, $pass) ) {
                      // If we get to here the user is authorized, now lets get the group membership
      
                      // This time since we know the user DN (fully qualified ldap path) we can look up the user based on that
                      // this filter just matches all objects (cheat)
                      $filter = '(objectclass=*)';
      
                      // get what groups this user is a member of
                      $attr = array( $grpMemberAttr );
                      
                      // read in the attributes of this user
                      $result = ldap_read($ldapconn, $userDN, $filter, $attr);
      
      
                      // count the number of entries returned
                      $retcount = ldap_count_entries($ldapconn, $result);
      
                      if ($retcount > 0) {
                          $entries = ldap_get_entries($ldapconn, $result);
      
                          // check groups for membership
                          foreach($entries[0][$grpMemberAttr] as $grps) {
                              // is admin user, set level and break loop
                              if(strpos( $grps, $adminGroup )) { $accessLevel = 2; break; }
      
                             // is user, set level and keep looking just incase user is in both groups
                             if(strpos( $grps, $userGroup )) $accessLevel = 1;
                         }
                      }
      
                      // close our connection as bindDN
                      ldap_unbind( $ldapconn );
      
                      echo $accessLevel;
      
                  } else {
                      print 'unable to bind using user info, user is not authorized in ldap';
      
                  }
           } else {
                echo 'User not found in LDAP';
           }
       ?>
      
      posted in Feature Request
      george1421G
      george1421
    • RE: Host Machine and images

      @wcheung said in Host Machine and images:

      I think I understand, I will play around. I’m glad I used norton to capture an image prior so my didn’t lose an data really.

      Once you see how it works you will understand the concepts here. One other thing I should mention. After you upload your golden image to the FOG server, go back into image management and for that image select the protected check box. This will keep you from accidentally overwriting your golden image (if you happen to hit capture again).

      posted in General
      george1421G
      george1421
    • RE: Host Machine and images

      @wcheung That is correct the mac address is typically a unique item per machine.

      I would have to ask how do you plan on using FOG in your environment? Will you use FOG for only image deployment or will you use FOG to manage the target computers (such as deploying applications post imaging)?

      Your approach will be slightly different depending on if you will use fog for only imaging or system management.

      If you are only doing imaging then you can use the quick image function of the iPXE menu just to push an image to the target computer. If you want to use fog to manage your clients, you will need to register them with the usb ethernet adapter, image the computer then manually update the mac address of the carbons to match the wifi mac address. That will free up the usb network adapter mac address for the next registration. Its a bit more cumbersom this route but then you can push applications post imaging (because fog uses the fog system id and not the mac address) without issue.

      posted in General
      george1421G
      george1421
    • RE: Host Machine and images

      @wcheung let switch this a bit.

      What you do in fog is create image definitions first. (i.e. Image name Win7ENTX64, Win10ProX64 and so on.) Then you register your hosts. And then you connect your host to A single image definition.

      So if you capture to host “123” and host 123 is connected to Win7ENTX64 the captured image will be saved to Win7ENTX64 imaged definition. So now if you change host “123” and connect it to image definition Win10ProX64 and recapture from host 123 the image will be saved in image definition Win10ProX64.

      Now lets add host 234 to the mix. You connect it to image definition Win10ProX64. And schedule a deploy to host 234. The win10 pro image will be pushed to host 234.

      This gives you a many hosts to a single image. Now lets say you want to reimage host 234 as a win7 image. Just connect it to the Win7ENTX64 image and schedule a deploy.

      posted in General
      george1421G
      george1421
    • RE: "No Boot Device Found" after updating kernel

      What kernel version did you update to? Also are these computers in uefi or legacy mode? If they came with win10 on them then they were in uefi mode from dell.

      Did you attempt to run the FOG compatibility test from the iPXE boot menu? That latitude is pretty new (we use the 7270s). But we are also running fog 1.3.0-RCx series. I can say that the 7270s do work with the updated version of fog. Your kit is a bit old. Ubuntu 12.04 is not a good candidate for FOG 1.3.0-RCx series.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      @JJ-Fullmer OK I couldn’t resist checking. I have B54 installed and I was able to add a second ldap server without issue. Let me refresh my install and see if something changed from B54

      posted in Feature Request
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      @JJ-Fullmer Wow interesting. I’ll surely take a look at that tonight. I installed RC11 B58 (I think) this AM after Tom updated the master code. The one thing that you must do if the LDAP plugin was installed before (now) is that you must uninstall and reinstall the plugin because the internal structure has changed. This AM after the refresh I had to recreate the ldap server and it installed correctly. Just to be sure uninstall the ldap plugin and then readd it back in.

      As far as the status of the LDAP plugin, its (should be) almost complete. The only outstanding issue is adding the code for reauth. So as it stands right now once you are authorized via LDAP, you are authorized forever even if you kill the AD account (which is not to cool). I have a way to fix this tonight.

      I’ll add a simple how to to this thread on what the plugin is expecting, but its pretty straight forward.

      posted in Feature Request
      george1421G
      george1421
    • RE: Custom iPXE menu background image not showing up

      @george1421 I meant to follow up a bit sooner with my wiseguy comment but work called.

      I just confirmed that the original file is 800x600x32 bit png file. Can you confirm that your image is in the same format and a png file? And will you include a screen shot of the fog settings where you changed the image file?

      Lastly will you do this with your browser, open this url (but replace the values with your site specific ones).

      http://<fog_ip_server>/fog/service/ipxe/<image_file>.png make sure you can access the image from the fog server.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Custom iPXE menu background image not showing up

      @PageTown That screen would scare the hell out of me first thing in the morning.

      BTW: There are also capabilities to update/change the font colors. The standard text colors may get lost in that picture.

      posted in FOG Problems
      george1421G
      george1421
    • RE: Lenovo Yoga (20CO-S27700) 2013 - UEFI Mode - Fails to load into FOG. Legacy Mode works fine.

      @RipAU Can you confirm that the yoga has the latest firmware installed? We have seen instances of Lenovo system in the past with faulty uefi firmware. I’m not saying this is the issue now, but you have uefi devices booting with your current FOG configuration. So I would think its the lenovo at fault here.

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: Error while install FOG service for Windows

      I can say I use MDT to install fog on my reference images. In MDT I use the following command.

      msiexec.exe /i FOGService.msi /quiet USETRAY=“0” WEBADDRESS=“192.168.1.53”

      Where 192.168.1.53 is the ip address of the FOG server.

      You must disable the fog service on your reference image before you sysprep it and capture with FOG or you will have OOBE boot problems. You will want to enable the FOG Client in the setupcomplete.cmd file to allow FOG to manage the client once OOBE is done.

      posted in Windows Problems
      george1421G
      george1421
    • RE: Microsoft Surface Pro 4 with Surface Docking Station - Unable to get boot file

      @kwetiaw I’m not sure that lspci (actually pretty sure) will show this network adapter. You will want to use something like lsusb -v to show all devices connected to the usb bus controller. I can’t say for sure if lsusb is included in the FOS Engine.

      posted in General
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      @adukes40 While anything is possible it would be a lot of work, and it would then tie FOG to requiring an AD infrastructure.

      I can say from a programming standpoint the code that FOG is built on can communicate with ldap pretty easily. So its possible to do. The issue is having enough motivation to pull it off. I looked at the ldap plugin that was in fog and have experience with programming queries to LDAP so there wasn’t a huge learning curve to update the plugin, plus what was there was sound already, they were just missing a few things.

      posted in Feature Request
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      @adukes40 This is only for user login. So far I’ve only tested via the web gui.

      posted in Feature Request
      george1421G
      george1421
    • RE: Extend LDAP plugin to support AD authentication

      Its been a few days since I posted an update to this. I’ve been debugging and have the ldap authentication working with AD. So the actual ldap authentication is working fine. I’ve run into a snag passing the authorized flag back to fog. I’m sure that can be worked out soon. Beyond that I’ve been testing with RC8 code. Once that is working I’ll stand up a new RC11 instance of FOG and confirm. In the end we are making progress with an end in sight.

      posted in Feature Request
      george1421G
      george1421
    • RE: Dell Latitude 3470

      @Chubert There are some bits just need to be flushed out. The easies way is to use the fixparts command. If you reload windows you will end up in the same spot and only have accomplished just burning time.

      IF you want to reload windows, use a brand new hard drive or one that has never seen a gpt format. That is the way around this issue.

      You may be able to clean the disk (destructively) using this process. I say “may” because I haven’t done this route I use fixparts. https://technet.microsoft.com/en-us/library/cc725797(v=ws.11).aspx The downside is that you will have to reload windows and recreate your reference image.

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: Dell Latitude 3470

      @Chubert sorry was updating my last post. Debug capture is the easiest way. That will drop you to a command prompt on the target computer then run the fixparts command below.

      ref: fixparts http://www.rodsbooks.com/fixparts/

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: Dell Latitude 3470

      @Chubert OK called that pretty close then.

      Yeah deleting the partitions doesn’t purge the gpt bits. The debug deploy/capture may be located under the advanced link on the host definition for this target computer. You do want to do a debug capture so it will drop you to the FOS Engine (the software the captures and deploys images on the target computer) so you can run the fixparts command

      posted in Hardware Compatibility
      george1421G
      george1421
    • RE: Dell Latitude 3470

      @Chubert If the compatibility test passes.

      Then let me read the tea leaves a bit. Since these are new computer that probably came with Win10 on it with uefi firmware. You probably moved it back to legacy (bois) mode and then loaded Win7 on it. And now you are trying to capture the image?

      If so, the disk structure needs to be cleaned up because you have mbr parts and gpt bits left over. You will need to do a debug capture (I don’t remember how to do that on 1.2.0 anymore) which should drop you to a command prompt on the 3470. From there you will want to run the command fixparts /dev/sda that will flush out the gpt bits.

      posted in Hardware Compatibility
      george1421G
      george1421
    • 1
    • 2
    • 644
    • 645
    • 646
    • 647
    • 648
    • 767
    • 768
    • 646 / 768