• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    FOG 1.5.4.8 : Printer Management : config file field missing ?

    Scheduled Pinned Locked Moved
    FOG Problems
    6
    13
    872
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Jonathan CoolJ
      Jonathan Cool
      last edited by

      Hi !

      I’m using the Printer Management to push the printer on the computers. It’s work flawlessly.

      But now, i want to deploy a specific configuration of the printer : with theses commands, i can export and/or import a configuration :

      export : RUNDLL32 PRINTUI.DLL,PrintUIEntry /Ss /n"Printer Name" /a Path\ConfigFile.dat m f g p
      
      import : RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n"Printer Name" /a Path\ConfigFile.dat m f g p
      

      I saw a special field on FOG Printer Management named “conf file” but i can’t use / edit this field.

      There, 2 screenshots for better explanation : https://drive.google.com/drive/folders/1EjICoI8wM3DvKuyOlsbYO6_Wry-9RV91?usp=sharing

      Maybe i did a mistake ?

      Thank you 🙂

      My stuff :
      Server :
      FOG Version : Running Version 1.5.9
      OS : Debian GNU/Linux 10
      FOG Client Version : 0.12
      Specifications :
      > All images are on a Synology NAS storage : mounted with NAS_ip:/images
      > French user :)
      > “If everything would work the first time, what would you have learned?”
      Challenges make knowledge growth … by George1421 ;)

      1 Reply Last reply Reply Quote 0
      • Tom ElliottT
        Tom Elliott
        last edited by

        From what I can tell:

        1.5.4 was missing the items for this accidentally.

        Doing a compare from 1.5.4 to 1.5.9, I see that the config items have been added.

        Maybe updating your instance will provide you with the missing items?

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        Jonathan CoolJ 1 Reply Last reply Reply Quote 1
        • Tom ElliottT
          Tom Elliott
          last edited by

          Looks like this was fixed in 1.5.6.

          Here’s the relevant commit: https://github.com/FOGProject/fogproject/commit/fffeae85a38ee026ddadd83131579eddbdb8fefa

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

          1 Reply Last reply Reply Quote 0
          • Jonathan CoolJ
            Jonathan Cool @Tom Elliott
            last edited by

            @Tom-Elliott Hi !
            Thank you for your answers. I will try to update to the last stable version.
            I will be back to post the result.

            So, i can’t find any documentation about this field … maybe just set a path to the .dat file … i guess.

            My stuff :
            Server :
            FOG Version : Running Version 1.5.9
            OS : Debian GNU/Linux 10
            FOG Client Version : 0.12
            Specifications :
            > All images are on a Synology NAS storage : mounted with NAS_ip:/images
            > French user :)
            > “If everything would work the first time, what would you have learned?”
            Challenges make knowledge growth … by George1421 ;)

            JJ FullmerJ 2 Replies Last reply Reply Quote 0
            • JJ FullmerJ
              JJ Fullmer Testers @Jonathan Cool
              last edited by

              @Jonathan-Cool So I helped a lot with that field’s existence. I actually don’t use that feature anymore since I switched our infrastructure to just use a print server to deploy printer connections and settings (point being, I don’t actually remember how to use it…). But I’m pretty sure I have an old forum post explaining how to create a setting file from a configured printer. Standby, I’ll see if I can find it.

              Have you tried the FogApi powershell module? It's pretty cool IMHO
              https://github.com/darksidemilk/FogApi
              https://fogapi.readthedocs.io/en/latest/
              https://www.powershellgallery.com/packages/FogApi
              https://forums.fogproject.org/topic/12026/powershell-api-module

              1 Reply Last reply Reply Quote 0
              • JJ FullmerJ
                JJ Fullmer Testers @Jonathan Cool
                last edited by

                @Jonathan-Cool So I found my old post where I mentioned those exact commands you put in your original post
                https://forums.fogproject.org/topic/6540/adding-custom-printer-configuration plus it has a bat script (which is a language I don’t even use anymore since I moved everything to powershell)

                So it is the .dat file that you want but where it resides, I’m trying to find that info.

                I was a bit long winded when I tried to help someone else with something related here https://forums.fogproject.org/topic/6615/printer-problems/5

                I am sure I made some sort of documentation post somewhere though just gotta find it and then make sure it gets put somewhere more findable

                Have you tried the FogApi powershell module? It's pretty cool IMHO
                https://github.com/darksidemilk/FogApi
                https://fogapi.readthedocs.io/en/latest/
                https://www.powershellgallery.com/packages/FogApi
                https://forums.fogproject.org/topic/12026/powershell-api-module

                1 Reply Last reply Reply Quote 1
                • JJ FullmerJ
                  JJ Fullmer Testers
                  last edited by JJ Fullmer

                  TL;DR

                  Try putting the .dat file the same place you put your inf driver file for the printer and reference them on the same path. i.e. either a local path on the client computer or a publicly accessible file share.

                  As I mentioned though, I don’t use the fog print manager anymore. So I don’t have a way to test it currently.

                  Found some code, sorta remember how it works

                  Well I found the pull request commit on the fog client github from when @Joe-Schmitt put in the code I wrote for adding the config file https://github.com/FOGProject/fog-client/commit/57af21cdbbe79a9bd403056b1ea88f88af722ecf.
                  Both the posts I referenced earlier were for before this code was added, so they probably won’t be any help in figuring out where that config file is supposed to go.

                  And then I found where that code is now, on line 124 of this file fog-client https://github.com/FOGProject/fog-client/blob/master/Modules/PrinterManager/Windows/WindowsPrinterManager.cs,
                  which looks like this

                  public override void Configure(Printer printer, bool verbose = false)
                          {
                              if (printer.Type == Printer.PrinterType.Network)
                              {
                                  Log.Entry(LogName, $"Invoking add {printer.Name} for all users");
                                  PrintUI($"/in /n \"{printer.Name}\"", verbose);
                              }
                  
                              if (string.IsNullOrEmpty(printer.ConfigFile)) return;
                  
                              Log.Entry(LogName, "Configuring " + printer.Name);
                              PrintUI($"/Sr /n \"{printer.Name}\" /a \"{printer.ConfigFile}\" m f g p", verbose);
                          }
                  

                  As far as I can tell/remember from the code that it takes the given path and puts it into the command, which is the csharp version of the one you already know. So, I believe, it’s taking whatever you put in that field as a string and putting it in the command.

                  So if you put C:\printerConfig.dat in your config field it would run RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n"Printer Name" /a "C:\printerConfig.dat" m f g p after it adds the printer, which should import your config.

                  So it could either be a file on a share the system account (that runs the fogservice) has access to, or a file that is already local on the client computer. So I think it works the same way the inf does where the file just needs to be somewhere that is helpful.

                  I feel like we (or probably @Joe-Schmitt ) also made a helper tool for creating the dat files, and I see a folder in the code called PrinterManagerHelper here https://github.com/FOGProject/fog-client/tree/master/PrinterManagerHelper but I don’t remember how that works.

                  Ways to deploy printers

                  To deploy it a bit more smoothly you might…

                  Print Share

                  Consider creating a public samba share (or at least give it permissions for system/machine accounts) for sharing an organized structure of print drivers and config files. Then point each printer field as something like \\printshare\printerName\printerName-config.dat \\printShare\printerName\printerName-driver.inf

                  Snapin

                  You could also create a simple snapin for each printer, that copies the driver and dat files to some folder that works with your company’s organization. Like a C:\ProgramData\FogPrinters folder or something like that. And then maybe making a scheduled task or another snapin to delete them after fog adds the printers (no need to take up space on client computers with config files)

                  Feature Request

                  Maybe, if it’s desired by people, we could add functionality to copy files from the snapins folder (or a new fogserver folder) to a temporary folder while the printer gets installed and then deletes them from the temp folder. Once the printer is added I believe the driver gets put in the system driver store and the config file is no longer needed as its been imported. That would make the print functions of fog a bit more integrated and you could just manage the files in fog like you do with snapins.

                  But this would require

                  • Creating a new server folder
                    • at least a subfolder in the existing snapins, i.e /opt/fog/snapins/printers or even just make a /opt/fog/printers.
                  • A modification to the printer gui page
                    • Instead of specifying a path to the inf and config file, browse buttons and use existing dropdowns like the snapins have
                  • A code change to the printer manager
                    • make it work like the snapins code. where it copies down the files from the snapins folder, runs it, then deletes it. Just make it be from a printer folder that works like the snapins.
                  • Probably something else too I’m not thinking of. But if lots of people use the printer manager, could be a useful tool.

                  Have you tried the FogApi powershell module? It's pretty cool IMHO
                  https://github.com/darksidemilk/FogApi
                  https://fogapi.readthedocs.io/en/latest/
                  https://www.powershellgallery.com/packages/FogApi
                  https://forums.fogproject.org/topic/12026/powershell-api-module

                  1 Reply Last reply Reply Quote 0
                  • JJ FullmerJ
                    JJ Fullmer Testers
                    last edited by

                    So I didn’t find any clear documentation on how this is done. So we probably need to add it to the wiki @Wayne-Workman

                    Probably to here https://wiki.fogproject.org/wiki/index.php?title=Managing_FOG#Setting_up_Printers_With_Fog_Printer_Management

                    even something as simple as

                    updating this section

                    To create a new printer definition click on the Printer icon on the system menu bar. Then on the left hand menu, click on Add New Printer. The form you are presented with will require you to enter:

                    Printer Model - This must match the name in the INF file.
                    Printer Alias - This can be anything you wish and it is what the end user will see.
                    Printer Port - This is something like LPT1:, or IP_1.1.1.2.
                    Printer INF File - This is the path to the INF file for the printer driver.
                    Printer IP - (optional) This is ip address of an IP based printers only, this can take the form of 1.2.3.4:9100 or 1.2.4.5. If the port doesn’t exist already, it will create one named IP_x.x.x.x, where x.x.x.x is the ip address. That is what should be entered in the port field.

                    After all the required information is entered, click on the Add Printer button.

                    With this under the Printer IP definition

                    Printer Config File - (Optional) This is the local or remote path to a .dat file that will be imported to set the printers configurations (i.e. tray count, add-on modules, model specific settings, etc.). You can create this file by

                    1. manually configuring a printer via the printer properties gui
                    2. running this command on the same computer RUNDLL32 PRINTUI.DLL,PrintUIEntry /Ss /n"Printer Name" /a "C:\Path\To\Save\ConfigFile.dat m f g p

                    Of course if someone wants to create the evolution of the printer manager I suggested, it would have to be re-documented. But people would still need to know how to create the config file.

                    Have you tried the FogApi powershell module? It's pretty cool IMHO
                    https://github.com/darksidemilk/FogApi
                    https://fogapi.readthedocs.io/en/latest/
                    https://www.powershellgallery.com/packages/FogApi
                    https://forums.fogproject.org/topic/12026/powershell-api-module

                    Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                    • Wayne WorkmanW
                      Wayne Workman @JJ Fullmer
                      last edited by

                      @JJ-Fullmer A lot of the new client’s printer documentation is in the forums. The wiki does need updated concerning printers.

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                      Daily Clean Installation Results:
                      https://fogtesting.fogproject.us/
                      FOG Reporting:
                      https://fog-external-reporting-results.fogproject.us/

                      1 Reply Last reply Reply Quote 1
                      • Jonathan CoolJ
                        Jonathan Cool
                        last edited by

                        @JJ-Fullmer Many thanks for the lot of informations 😉
                        After i update my fog server, i will use your precious informations to deploy my printers.

                        I will be back ! 😉

                        My stuff :
                        Server :
                        FOG Version : Running Version 1.5.9
                        OS : Debian GNU/Linux 10
                        FOG Client Version : 0.12
                        Specifications :
                        > All images are on a Synology NAS storage : mounted with NAS_ip:/images
                        > French user :)
                        > “If everything would work the first time, what would you have learned?”
                        Challenges make knowledge growth … by George1421 ;)

                        1 Reply Last reply Reply Quote 1
                        • JJ FullmerJ
                          JJ Fullmer Testers
                          last edited by

                          @Jonathan-Cool Were you able to get the config file deployment to work?

                          Also, we’re (slowly) moving the documentation to a new home and I started updating the printer management section https://fogproject.readthedocs.io/en/latest/management/index.html#printer-management

                          Have you tried the FogApi powershell module? It's pretty cool IMHO
                          https://github.com/darksidemilk/FogApi
                          https://fogapi.readthedocs.io/en/latest/
                          https://www.powershellgallery.com/packages/FogApi
                          https://forums.fogproject.org/topic/12026/powershell-api-module

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sebastian Roth Moderator
                            last edited by

                            @jaumeramos Definitely Check the share access as posted by JJ!

                            There is enough room in the forums. No need to hijack other topics. May I ask you to open your own and post all the details there? The less things are mixed up in one thread the better support we can give.

                            Just open a new one and we can move the posts over for you.

                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                            1 Reply Last reply Reply Quote 0
                            • J
                              jaumeramos
                              last edited by Sebastian Roth

                              Sorry, I’ll post a new topic.

                              After lots of trying I’ve been able to deploy printers. The main problem was the name of the printer, which is not clear what it should be.

                              I’ve put the details in a new topic: https://forums.fogproject.org/topic/14891/problems-deploying-printers

                              Thanks for your help!

                              1 Reply Last reply Reply Quote 0
                              • 1 / 1
                              • First post
                                Last post

                              182

                              Online

                              12.0k

                              Users

                              17.3k

                              Topics

                              155.2k

                              Posts
                              Copyright © 2012-2024 FOG Project