Determine if a Particular Windows Update is Installed on Remote Computers

Windows administrators periodically need to check their systems to determine if a particular update has been installed. BatchPatch provides a simple way to scan for previously installed Windows Updates on numerous remote computers. You can use this facility to generate a consolidated report of the computers that have a particular update installed, or you can generate a report of all installed updates on all computers. It’s up to you.

Note, we have an alternate method for checking if a particular update is installed posted here: An Alternate Way To Check If Computers Have A Particular Windows Update Installed

Add hosts to a grid in BatchPatch, and then highlight the desired hosts and right-click > Windows Updates > Generate consolidated report of update history. This will bring up the report settings window. Since the purpose of this tutorial is to search for a particular update, let’s examine our options for doing this.

BatchPatch_ConsolidatedUpdateHistoryReport

One option is we can use the “Filter by title:” section to specify which update we are looking for. Perhaps we need to find computers with KB2800095 installed. All we have to do is enter that particular ID into the ‘Filter by title’ field before we execute the search. In the screenshot below you can see I’ve set the search preferences to only include the last 300 days, and I’ve entered ‘2800095’ into the ‘Include’ section of the filter options. When I execute the search I expect to get a list of machines that had this update installed within the past 300 days.

2014-12-29 13_07_36-new 1 - BatchPatch X2

Click ‘Generate Report’ to begin the search process. When the search completes, we can see both of the machines that we searched had this update installed in the past 300 days.

2014-12-29 13_11_53-Consolidated Update History Report

Pretty simple, right? The other option we have for obtaining this information is very similar, but in this case we would leave the ‘Filter by title:’ section blank. In this case we’ll simply retrieve all updates that have been installed on the selected computers during the past 300 days. Once we have this complete list, we can then do a search for the particular update in question, or we can sort by update title. As you can see in the screenshot below, I simply typed ‘2800095’ into the “Find” field, and the first computer with that update installed was highlighted. Continually clicking the ‘Find’ button will rotate through every search hit, as you would expect.

2014-12-29 13_19_08-Consolidated Update History Report

That’s all there is to it. I told you it was simple!

Posted in Blog, General, Tutorials | Tagged , | Comments closed

Multi-Step Execution Using the Job Queue

Last week we published an update to the BatchPatch Job Queue that adds some nice new features, and I thought I’d take some time to show you what you can do with it.

BatchPatch Job Queue

In the new Job Queue interface you’ll find the following items that weren’t previously available:

  • Wait for host to go offline and come back online:
    In previous versions of BatchPatch if you executed a task that involved rebooting a computer, you didn’t have a way to start the next task in the queue as soon as the computer finished rebooting. Instead you’d have to set a “wait” period of something like 10 minutes, after which the next task would begin, regardless of whether or not the computer had actually finished rebooting.

    However, in the new Job Queue you now have the option to Wait for host to go offline and come back online. If you insert this special item after a reboot task, BatchPatch will automatically keep track of the target computer’s status, waiting for the machine to go offline and then come back online before proceeding with the next task. The next task will not begin until BatchPatch is able to confirm that the target computer is replying to pings *and* also responding to Windows Management Instrumentation (WMI) queries. If a ping is successful but the machine isn’t ready to respond to WMI queries, BatchPatch will wait a minute before it tries again. As soon as it gets a valid response from WMI, it will proceed with the next task in the queue.

    Note, there is an additional setting in the Job Queue that allows you to set the timeout threshold for this feature. See ‘Wait for host to go offline / come online’ global timeout (minutes). The default value is set to 60 minutes. If the host never goes offline (maybe it hangs while it’s shutting down) or if the host goes offline but never comes back online and/or never begins responding to WMI queries within the 60 minute window, BatchPatch will simply stop processing the job queue for that host.
  • Stop queue execution if previous action fails/errors
  • Inserting this new special item in a queue after a custom script gives you the ability to make sure that BatchPatch will not proceed with the queue execution if the custom script does not run successfully. When this Stop queue execution if previous action fails/errors item is reached in the queue, BatchPatch will check the previous action’s exit code. If the previous action’s exit code is non-zero, BatchPatch will terminate the queue.

  • Saved User-Defined Commands and Deployments
  • The new Job Queue interface now lets you add your own saved commands and deployments to a queue. We know that a lot of you have been waiting for this, and we’re pleased that it’s finally available for you.

  • Saved Queues
  • You can finally save your job queues for future execution! This is another item that many of you have been waiting for. The cool thing is that once you save a queue, it will then appear “hard-coded” into the BatchPatch actions menu for future execution. You can execute a saved queue by highlighting hosts in the grid and then selecting Actions > Job Queue > Execute saved job queues. See the screenshot below:
    2014-12-18 12_21_17-Program Manager

Posted in Blog, General | Tagged , | Comments closed

Remotely Installing .NET 4.5.1 on Windows 7 and Windows Server 2008R2

This is an example of using BatchPatch to install .NET 4.5.1 remotely on Windows 7 and Windows 2008R2 computers.

Overview: The process is very straightforward. Add the target hosts to your BatchPatch grid, create the BatchPatch deployment, and then finally execute the deployment. It’s important to always test a new deployment on a single machine before you try to execute it across numerous computers. This way you can iron out any kinks in the process to make sure it’s working properly before you move forward with it on your entire network.

Important: Please try to remember that any remote deployment task in BatchPatch requires that the installation be executed silently / quietly. When I say “silent” or “quiet” installation, I mean that the installation process needs to be executed without requiring any user interaction whatsoever. As you know, many installer packages will prompt the logged on user to click OK or to select an installation directory or to specify some other installation-specific options. However, in the case of a remote installation, there won’t be any opportunity to click on various options that the installer presents. In fact, if the installer presents any options, the presentation of these options will actually be hidden from the view of any logged on users because it’s being executed in the background. In this case the installation will simply appear to hang indefinitely without ever completing. So, any time you’ve attempted a deployment and it appears to be hanging with no completion, then you can rest assured knowing that it’s simply waiting for user input. In that case, since the remote deployment is hidden from view, you would have to manually kill the installation process on the target computer and then start over again with the correct silent/quiet parameters.

  1. Determine the “silent” / “quiet” installation parameter:
    You can generally learn what the “silent” / “quiet” parameters are by executing the installation at the command line with the “/?” or “/help” parameter. For example, take a look at the screenshots below, where I have launched the .NET installer package with the “/?” parameter. Doing so displays a windows with all of the installation options.

    cmd_dotNetInstaller_Help
    dotNet451InstallerOptions

  2. Create the deployment:
    Highlight the host(s) and choose Actions > Deployment > Create/modify deployment. In the window that appears, you’ll select the location of the .NET installer file, and you’ll add the “/q” parameter to ensure that the installation executes without any interaction. In the screenshot below you can see I’ve also added the /log parameter, so that I can review the installation log in the event of a problem or failure. Note: The installation package that I’m using is the offline installer that Microsoft offers. You will not be able to use their online installer for this silent deployment because their online installer does not offer a silent/quiet installation parameter. The offline installer is available here: http://www.microsoft.com/en-us/download/details.aspx?id=40779
    dotNetOfflineInstallerDeployment4.5.1
  3. I’ve saved the Deployment, and now I can execute it using Actions > Deployments > Execute saved deployment
    ExecuteDotNet451Deployment
    Confirm the deployment configuration and click OK on the prompt that appears:
    2014-12-08 13_33_22-new 1 - BatchPatch X1
  4. .NET Installer Exit Codes:
    0: Installation completed successfully.
    1602: The user canceled installation.
    1603: A fatal error occurred during installation.
    1641: A restart is required to complete the installation. This message indicates success.
    3010: A restart is required to complete the installation. This message indicates success.
    5100: The user’s computer does not meet system requirements.

Posted in Blog, General, Tutorials | Tagged , , , | Comments closed

Troubleshooting Common Errors in BatchPatch

When BatchPatch was designed one of the fundamental tenets was to keep it as simple as possible while also being extremely functional and effective. It was and still is very important to us to make sure that BatchPatch is easy and intuitive to use. That said, as much as we’d like for there to never be any errors, it *is* still software after all, and we use errors to express when there was a problem. The intention of this posting is to cover the most common errors that users encounter, and to provide information to help rectify those errors.

  • The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

    **The most common reason one encounters this error is due to a firewall. It could be a software firewall or a network level hardware firewall. In either case, BatchPatch needs access to the target machine’s RPC server, and if there is a firewall enabled on the target machine or in between the BatchPatch computer and the target computer, it will need to be configured to allow the appropriate traffic to pass through. For instructions on configuring BatchPatch to work with Windows Firewall, please see: Using BatchPatch with Windows Firewall. For more information on ports used by BatchPatch, please see: BatchPatch Ports.

    **Another possible reason for this error is because The Remote Procedure Call (RPC) service is not started/running on the target computer. Launch the services console on the target machine (Start > Run > services.msc) and make sure the service is set to Automatic and that it’s started.

    **Finally, if the BatchPatch computer is not able to resolve the name of the target computer (typically using NetBIOS or DNS), or if there is simply no response from the target computer or IP address, this is the error that we would expect to see. If, for example, you added a non-existent host or IP address into the BatchPatch grid, and then you tried to perform some action on that non-existent host, you would encounter this RPC error. So, if you are sure that the machine name or IP is correct and that the machine is powered on and connected to the network, then it means that the machine simply isn’t responding to RPC requests, likely due to one of the above-mentioned reasons. To ensure that the issue is not related to name resolution, we recommend testing both the IP address as well as the FQDN (fully qualified domain name) of the host in the BatchPatch grid instead of just the simple host name.

    **If you’ve gone through the above information and still get this error, then you’ve probably got something more significant happening with the target computer in question. You might consider looking through Microsoft’s posting and troubleshooting steps here: Windows Server Troubleshooting: “The RPC server is unavailable”

  • Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

    **This error message is due to an issue with account permissions. The following link explains everything you need to know about authentication problems. Most ‘Access Denied’ issues can be resolved with the information at this link: BatchPatch Authentication in Domain and Workgroup (non-domain) Environments

    **In some rare cases you might get ‘Access Denied’ as a result of the remote execution context settings. These settings can be controlled/configured under ‘Tools > Settings > Remote Execution Context‘ and can have an impact on ‘Access Denied’ permissions issues under certain circumstances, depending on the nature of the command. We recommend trying all of the four following combinations for your command to see if one works better for your particular situation and particular command:
    SYSTEM
    SYSTEM + Interactive
    Elevated token
    Elevated token + Interactive

    **Another rare case of ‘Access is denied’ can occur if your BatchPatch instance is running on a Windows version that is patched to a date *prior* to November 2021 but your target computers are patched to a date of June 2022 or newer. See here for more details on that issue.

    **It’s possible that there might also be some very rare cases where ‘Access is denied’ could be caused by a software firewall or hardware/network firewall, anti-virus software, HIPS software, or some other similar security software suite.

    **Further troubleshooting for authentication problems that are specific to WMI:
    WMI troubleshooting article
    WMI Diagnosis Utility

    **Also you should review the Getting Started Guide to make sure you are all setup correctly for BatchPatch to work properly.

    **If you are still stuck the BatchPatch Troubleshooting Guide will help you step through to figure out where things are going wrong.

  • BatchPatch is stuck on ‘Windows Update: Attempting to initiate Windows Update’ or ‘Deployment: Initiating execution’

    Please review this link for an explanation and resolution steps.

  • -102: Failed to execute the search. HRESULT: [Some_HRESULT_value_here]

    For complete details on error -102, see BatchPatch Error: -102: Failed to execute the search. HRESULT -XXXXXXXXXX

    The -102 error occurs any time the target computer is unable to execute the search for updates. The HRESULT code that is reported with the -102 error is the key to determining the specific reason for the failure. If you closed BatchPatch without saving the HRESULT code, you can still view this in the target computer’s BatchPatch.log and/or BatchPatchError.log, which will both be stored in the remote working directory. The default location is C:\Program Files\BatchPatch unless you have modified the ‘Remote working directory’ location under ‘Tools > Settings > General.’ HRESULT codes will be in decimal format, but we usually need to convert them to hex in order to figure out what they mean. The easiest way to do that is with your Windows calculator. Launch calc.exe and switch to the ‘Programmer’ calculator by clicking the button in the upper left corner of the calculator window.

    In the Programmer calculator select DEC and paste in your HRESULT value. You can then see the HEX value. In this example I’ve pasted -2147012867, and we can see the HEX value is 80072EFD.

    Once you have the hex representation of the HRESULT, you can look it up here to see what it means: Windows Update Error Code List

    In almost all cases the cause of the -102 error is due to a connectivity issue where the target computer is unable to reach or communicate with the WSUS server, ‘Windows Update’ server or ‘Microsoft Update’ server. In the event that a local WSUS server is the location being searched, the most common cause for this error is simply due to the WSUS server being down or offline or unreachable due to some type of network problem. In the event that the location being searched is Windows Update or Microsoft Update, this error is usually the result of the target computer simply not having internet access and therefore not being able to reach Microsoft’s servers. In some cases, the cause of this error is due to a proxy configuration preventing the Windows Update Agent on the target computer from accessing the Windows Update server. For more information on proxies and Windows Update, please see the following links:
    How the Windows Update client determines which proxy server to use to connect to the Windows Update Web site
    Using BatchPatch with an Enterprise Web Proxy

Posted in Blog, General, Tutorials | Tagged , | Comments closed

Using ‘Offline Mode’ to Install Windows Updates on Computers That Do Not Have Internet Access or WSUS Access – Video Tutorial

This video demonstrates the process for installing Windows Updates to an entire network of computers when that network is completely segregated with no internet access and no WSUS access.

Note, there are multiple ways to utilize ‘offline mode’ and this video demonstrates only one method. All methods are described in more detail, with tutorials, here: Cached Mode and Offline Updates

Using ‘Offline Mode’ to Install Windows Updates on Computers That Do Not Have Internet Access or WSUS Access:

 

The written tutorial for this process is available here: Using Batchpatch In Offline Mode to Deploy Windows Updates to Computers that Do Not Have Internet Access

Posted in Blog, General, Tutorials, Videos | Tagged , , , , | Comments closed

Importing Notes or MAC Addresses into BatchPatch

Generally speaking there usually isn’t a need to import MAC addresses into BatchPatch because you can use Actions > Get Information > Get MAC address to retrieve the MAC addresses for hosts that are in the grid. However, there are still times where you might need or want to import MAC addresses. For example, maybe your machines are not on the network at the time that you want to add the MACs to BatchPatch, or it’s possible that using the ‘Get MAC address’ action is retrieving the MAC address for a different network adapter than you want to use for Wake On LAN.

With regard to notes, you may very well want to populate the ‘Notes’ column in BatchPatch with instructions or notes about computers in the grid. There are a couple of different ways to accomplish this task.

Import Notes or MACs When You Import Hosts

The process for adding MAC addresses or notes is very simple. You can import directly from a text file or by simply typing directly into the ‘Add hosts’ dialog, which is accessed under File > Add hosts

The format that you need to use is as follows:

host1|Notes for host1
host2|Notes for host2
host3#1CF6565D4631
host4#C16F342E3521
host5#D2FF245C1432|Notes for host5
host6#D2DC425C1432|Notes for host6

If you copy the above text exactly as it is written and then paste it into the File > Add hosts dialog, you’ll see that the hosts, MACs, and notes are all entered at once into the BatchPatch grid. The following screenshot illustrates this:
ImportingHostsMacsNotes

If you instead paste the above text into a .txt file, you can simply use the File > Open to browse to the .txt file and import it. The results will be identical to the screenshot above.

Import Notes or MACs for Hosts that Already Exist in the Grid

If you already have a grid that’s populated with hosts but you want to add MACs or Notes to that existing grid, the process is almost identical to the steps outlined above. The only difference in this case is that instead of using File > Open or File > Add hosts, you’ll need to first highlight the hosts that you want to import notes or MACs for, and then use Actions > Import notes or MAC addresses.

The format of the .txt file for importing notes should be:

host1|Notes for host1
host2|Notes for host2
host3|Notes for host3
host4|Notes for host4

The format of the .txt file for importing MACs should be:

host1#1CF6565D4631
host2#D2FF245C1432
host3#D2DC425C1432
host4#C16F342E3521

That’s all there is to it. Some admins like to keep one big master .txt file list of all Hosts|Notes, and then when it’s time to start patching they simply setup their BatchPatch instances and import the notes. This is preferable in some instances to manually editing cells.

Posted in Blog, General, Tutorials | Tagged , , , | Comments closed

Remotely Deploy Windows Updates To Computers With No Internet Access

We recently added two new features to BatchPatch: Cached Mode and Offline Mode. The use of these two features together enables administrators to deploy windows updates to remote computers when the computers do not have internet access.

For those of you who are working with highly secure networks that are completely detached from the world, or if you simply have a network that doesn’t have internet access or a WSUS server, you can use Offline Mode to install windows updates on all of your computers, simultaneously, in just a few steps.

The general outline is as follows:

  1. Enable both Cached Mode and Offline Mode in BatchPatch.
  2. Run BatchPatch in the offline network to determine which updates are needed by the target computers.
  3. Run BatchPatch on a computer that *does* have internet access, so that it can download the updates needed by the offline computers.
  4. Copy all of the downloaded update files on an external hard drive to the offline network.
  5. Run BatchPatch on the offline network to deploy the repository of updates that were copied in the previous step.

The detailed tutorials are below:

Offline Mode When BatchPatch Has Internet Access But Target Computers Do Not

If you’re using BatchPatch on a network where BatchPatch has access to the internet but the target computers that you’re deploying updates on do not have internet access, then please follow this tutorial:
Using BatchPatch In ‘Offline Mode’ When BatchPatch Has Internet Access

Offline Mode When BatchPatch And Target Computer Do Not Have Internet Access

If you’re using BatchPatch on a network where neither the BatchPatch computer nor the target computers have internet access, please follow this tutorial:
Using BatchPatch In Offline Mode When BatchPatch Does Not Have Internet Access
BatchPatchCachedModeOfflineModeEnabled

Posted in Blog, General, Tutorials | Tagged , , | Comments closed

Getting The Most Out Of BatchPatch

We’ve been doing our best to get new features and functionality added to BatchPatch as quickly as possible, and there’s still a lot more to come. However, today I wanted to take some time to discuss how to get the most out of what’s currently available. Below are some tips for general BatchPatch usage to help an administrator work as efficiently as possible.

Organization:

Using BatchPatch Project (BPP) Files
When you’re managing a large number of hosts it’s likely that you’ll have them divided into groups. For example, you might have production SQL servers in one group, testing SQL servers in another, email servers in another, and so on. Aside from being able to load different groups of computers into different BatchPatch tabs, you might find that creating .bpp files helps you streamline your process. A .bpp file is simply a text file with a .bpp extension that contains a list of filepaths, with each filepath pointing to a different .bps or .bpt file. The nice thing about .bpp files is it gives you another level of organization. So, let’s say you have 5 tabs of database servers… DatabaseGroup1, DatabaseGroup2, DatabaseGroup3… DatabaseGroup5. And let’s also assume you have saved each tab to its own .bps file. Well, if you create a .bpp file either through ‘File > Generate project file’ or by manually editing a text file, you can easily group all of your database servers into a single project. If you launch the single .bpp file in BatchPatch, it will automatically populate the 5 grids with each database server group. You can take this a step further and create one .bpp file for each instance of BatchPatch that you want to run. Then if you launch multiple .bpp files at once, each .bpp file will create a brand new instance of BatchPatch. Each instance will contain one tab for each filepath specfied in the corresponding .bpp file. So, if you have 5 .bpp files, and each .bpp file contains 5 filepaths to different .bps or .bpt files, then when you launch all 5 .bpp files you’ll end up with 5 separate instances of BatchPatch. Each instance will contain 5 tabs.

Using BatchPatch Template (BPT) Files
.bpt files are another convenient way for staying organized when it comes to setting up your BatchPatch instances. A .bpt file is identical to a .bps file in every way except for the file extension which is .bpt instead of .bps, of course. You can create a .bpt file by either manually renaming a .bps file or by using the ‘File > Generate template file’ option in BatchPatch. .bpt files are nice because they allow you to create a template grid that BatchPatch will never overwrite. So, let’s say you want to start your patching run this week/month/quarter, and you load several .bpt files into BatchPatch. Each file might contain entries in the ‘host’ column and the ‘notes’ column. If you execute actions on the hosts in the grid and then go to save the grid, you will be prompted to save a new .bps file rather than overwriting the existing .bpt file. There’s nothing more to it, but this simple task can make it easier to repeat tasks each week or month without having to copy and paste, and without having to worry about accidentally overwriting a .bps file that you were using as a template.

Row Separators
What if you have a need/desire to have only a single tab of computers, but you want to create some visual separate between the servers in that single grid? You can create a “spacer” row using the “Enable/disable” feature. Create a “dummy” row and then use ‘Actions > Enable/disable’ to disable the row, which will color it dark gray. Voila! Now it functions as a visual separator.
BPSpacerRows

Efficiency:

Customizing Toolstrip Buttons:
Did you know that you can customize the buttons that are displayed on the toolstrip, thereby enabling you to have almost any BatchPatch action be available with a single click. Click on ‘Tools > Customize visible toolstrip buttons.’ From there you can simply select any action that you want to appear on the toolstrip.

Hard-coding User-defined Commands Into the BatchPatch Menu:
A lot of BatchPatch users have a set of remote commands that they regularly run on target hosts, either to collect information or to execute remote processes. BatchPatch allows you to “hard-code” any command into the BatchPatch menu so that commands you use frequently that aren’t built-in to BatchPatch are just as easily accessible to you as commands that are pre-built-in to the application. For example, BatchPatch has a built-in action for killing remote processes. You can select ‘Actions > Services / Processes > Kill specific running process,’ which lets you input a process name or PID to kill on target systems. This is great, but what if for some reason you always find yourself having to kill the same rogue process repeatedly on your systems? Wouldn’t it be nice to not always have to type in the process name? Well, you can create a user-defined command under ‘Actions > Remote process/command > Create / modify user-defined commands.’ You could then enter the following command into the window provided.

WMIC PROCESS where name='rogueProcess.exe' call terminate

Once you’ve entered a command, it will now be automatically saved so that it appears hard-coded in the ‘Actions > Remote process/command > Execute user-defined commands’ menu! Pretty neat. Now any time you need to kill that rogue process, you can simply click on the menu item that you just created, and that process will be killed without prompting you to enter a process name.

Middle-click Cells to View Cell Contents:
Any time you need to see the entire contents of a cell in a BatchPatch grid, the easiest way to do this is to just middle-click (scroll-wheel-click) on the cell. The cell contents are displayed in a custom tooltip window.

Right-click-drag on Cell Contents Tooltip to Move it to a New Location:
You can move the cell contents tooltip window around on your screen by right-clicking anywhere on it, and then dragging it to a new location.

Posted in Blog, General, Tutorials | Tagged | Comments closed

Using BatchPatch In ‘Offline Mode’ When BatchPatch Does *Not* Have Internet Access

When cached mode is enabled, the computer that is running BatchPatch will download updates for all target computers directly to its local cache directory. Target computers will not individually download their own updates from Microsoft or a WSUS. Instead BatchPatch will distribute updates to target computers from its cache. Cached mode can also be used in conjunction with offline mode, which enables an administrator to apply Windows Updates to computers that don’t have internet access or access to a managed update server such as WSUS.

For more details on the various ways you can use ‘cached mode’ and ‘offline mode’ please see: Cached Mode and Offline Updates

This tutorial demonstrates how to use BatchPatch in offline mode to download and install updates on multiple computers attached to a network that does not have any internet access. In this tutorial, the computer that runs BatchPatch will instruct all target computers to perform an offline search for updates against the offline scan file that Microsoft publishes monthly. The list of available updates from each target computer is transferred back to the BatchPatch computer to be saved as a .bpurl file. The .bpurl file is then manually transferred by the administrator to a computer that has internet access, where it can then be used to download all of the updates to a local repository. The repository is then manually transferred by the administrator back to the offline network. From there BatchPatch is able to distribute the updates to target computers and initiate the installation process. In this way all of the computers attached to the offline network can be updated very easily with minimal time and labor.

The video tutorial is available here: Using ‘Offline Mode’ to Install Windows Updates on Computers That Do Not Have Internet Access or WSUS Access – Video Tutorial

  1. Enable cached mode and offline mode. Go to Tools > Settings > Windows Update, and then check the box to enable cached mode as well as the box to enable offline mode. Also set the Local update cache directory to a folder on your computer that has enough free space to store numerous Windows Update files. The amount of space required completely depends on how many updates need to be applied to target computers, the size of each update, the number of different operating systems you are deploying to, and whether or not you choose to retain cached files after they have been distributed to target computers. When cached mode and offline mode have been enabled, indicators are placed in the upper-right corner of the BatchPatch window.
    BatchPatchToolsSettingsOfflineMode
  2. In the same Tools > Settings > Windows Update window, also take note of the Server Selection option. When cached mode and offline mode are both enabled, target hosts will perform an offline search for updates against the offline scan file that Microsoft publishes each month. The target hosts will then report back to BatchPatch with their lists of available updates. BatchPatch will then download the updates from Microsoft’s public server. The Server Selection setting is disabled/grayed-out when offline mode is enabled because in this case the search for updates by each target computer is always performed against the Microsoft offline scan file, with the actual update files being retrieved by BatchPatch from Microsoft’s public server.
  3. On a computer that does have internet access we have to download the Microsoft Offline Scan file. Launch BatchPatch and click on Tools > Download Microsoft Offline Scan File. If the menu item is disabled/grayed-out, please make sure that cached mode has been enabled. Once cached mode is enabled, the menu item will no longer be grayed-out. The local downloader form will be displayed, and the WsusScn2.cab file will be downloaded to the local cache directory specified in step 1.
    BatchPatchDownloadMicrosoftOfflineScanFileMenuItem

    BatchPatchDownloadMicrosoftOfflineScanFile
  4. Now that the Microsoft Offline Scan file has been downloaded to the cache directory, the directory needs to be manually moved to the offline network. Use whatever method you prefer, such as copying the directory to a USB drive, and then moving that USB drive to a computer on the offline network. Once the cache directory has been moved to a computer in the offline network, launch BatchPatch on that computer and make sure that cached mode and offline mode are both enabled, and that the local cache directory setting in Tools > Settings > Windows Update is pointing to the same location as the Microsoft Offline Scan file (WsusScn2.cab).
  5. Add hosts to the BatchPatch grid using File > Add hosts…
    BatchPatchAddHostsOfflineMode
  6. With cached mode and offline mode enabled, we now need to check for available updates and generate a consolidated URL list. Highlight the target hosts in the BatchPatch grid and select Actions > Windows Updates > Retrieve consolidated url list of available updates. During this process BatchPatch will first copy the wsusscn2.cab file to the target computers. The target computers will then use the wsussc2.cab file to determine what updates are available for installation. The list of available updates will be reported back to BatchPatch.
    BatchPatchRetrieveConsolidatedUrlListOfAvailableUpdates
  7. When the action completes, we’ll have a list of update files and urls presented in a new window. Duplicates are automatically removed so that only one copy of each needed update is displayed. However, since we do not have internet access on the computer that’s running BatchPatch, we cannot download the updates directly from this window. Instead, save the url list to a file, using File > Save.
    BatchPatchConsolidatedUrlList
  8. The next step is to move the new .bpurl file that you just created back to the computer that has internet access. Launch BatchPatch on this computer, and then select File > Open BP Url List… and browse to the .bpurl file that you created in the previous step. Now use the Download files to local cache button at the top of the form to initiate the download process. A new BP Update Downloader window will be launched, and the download process will begin.
    BatchPatchOpenBPUrlListMenuItem
    BatchPatchConsolidatedUrlList2
    BatchPatchUpdateDownloaderDownloadingUpdates
  9. Once the download process has completed, all of the files required by the target computers should be sitting in the local cache directory. So, the next step is to move the populated cache directory to a computer on the offline network. Again, please use whatever method is appropriate for your environment in order to transfer the files from the online network to the offline network, such as a USB drive.
  10. At this point the setup process is complete. You should have a folder full of update files on a computer that is attached to the offline network. BatchPatch should be launched with cached mode and offline mode enabled. The local update cache directory specified in Tools > Settings > Windows Update must point to the directory that contains all of the update files that you just moved. You may now proceed to update your computers. Highlight your hosts in the grid and select Actions > Windows Updates > Download and install updates + reboot if required. The target computers will now all “download” their updates from the BatchPatch computer’s local cache. I use quotation marks around “download” because what actually happens is the BatchPatch computer copies the appropriate update files to the target computers. The target computers then add these files to their Windows Update cache, and then the updates are installed.
  11. I have included a series of screenshots below to show the whole the process. Upon completion we have the overall content logged to the ‘All Messages’ column, with detailed information in the ‘Local Agent’ and ‘Remote Agent’ logs.

    The computer that is running BatchPatch will copy the most recently published WsusScn2.cab offline scan file that was downloaded in an earlier step to the target host.
    BPCopyingWsusScn2ToTarget

    BatchPatch instructs the target host to perform a search for available updates against the WsusScn2.cab file, which is why the target host does not require internet access to perform its search.
    BPSearching

    The list of available updates on the target host is copied back to the BatchPatch console. Since the updates were all previously downloaded to BatchPatch’s local cache directory, BatchPatch proceeds to copy the required updates to the target host.
    BPCopying

    After the updates have been copied to the target host, the target host must move the files to its Windows Update cache.
    BPCaching

    When the caching process completes, the installation is finally ready to be executed.
    BPInstalling

    After installation, the target host is rebooted and the process is complete.
    BatchPatchOfflineModeDownloadInstallRebootAllMessagesLog
Posted in Blog, General, Tutorials | Tagged , , , | Comments closed

Using BatchPatch In ‘Offline Mode’ When BatchPatch Has Internet Access

When cached mode is enabled, the computer that is running BatchPatch will download updates for all target computers directly to its local cache directory. Target computers will not individually download their own updates from Microsoft or a WSUS. Instead BatchPatch will distribute updates to target computers from its cache. The advantage of cached mode in this case is that it can save internet bandwidth if updates would normally be downloaded from Microsoft’s public server. The reason for the bandwidth savings is because BatchPatch will download only one copy of each update, which it can then distribute infinitely to target computers, rather than needing every single target computer to download its own copy of each available update.

Cached mode can also be used in conjunction with offline mode, which enables an administrator to apply Windows Updates to computers that don’t have internet access or access to a managed update server such as WSUS. For more on the various ways that you can use ‘cached mode’ and ‘offline mode’ please see: Cached Mode and Offline Updates

This tutorial demonstrates how to use BatchPatch in offline mode to download and install updates on multiple computers. In this example the computer that runs BatchPatch is required to have internet access, but target computers do not need internet access.

In this tutorial, the computer that runs BatchPatch will instruct all target computers to perform an offline search for updates against the offline scan file that Microsoft publishes monthly. The list of available updates from each target computer is transferred back to the BatchPatch computer, and then BatchPatch downloads a single copy of all available updates to its local repository. After it downloads the updates, it copies them to the target computers and initiates the installation process.

  1. Enable cached mode and offline mode. Go to Tools > Settings > Windows Update, and then check the box to enable cached mode as well as the box to enable offline mode. Also set the Local update cache directory to a folder on your computer that has enough free space to store numerous Windows Update files. The amount of space required completely depends on how many updates need to be applied to target computers, the size of each update, the number of different operating systems you are deploying to, and whether or not you choose to retain cached files after they have been distributed to target computers. When cached mode and offline mode have been enabled, indicators are placed in the upper-right corner of the BatchPatch window.
    BatchPatchToolsSettingsOfflineMode
  2. In the same Tools > Settings > Windows Update window, also take note that the Server Selection option is disabled/grayed-out. This is because when cached mode and offline mode are both enabled, target hosts will perform an offline search for updates against the offline scan file that Microsoft publishes each month. The target hosts will then report back to BatchPatch with their lists of available updates. BatchPatch will then download the updates from Microsoft’s public server according to the information provided in the offline scan file for each available update.
  3. Add hosts to the BatchPatch grid using File > Add hosts…
    BatchPatchAddHostsOfflineMode
  4. Highlight the host(s) and select the desired action. For the sake of this example let’s assume we want to download and install updates and then reboot the target if a reboot is required to complete the updates installation. So, we select Actions > Windows Updates > Download and install updates + reboot if required
    BatchPatchDownloadAndInstallUpdatesOfflineMode
  5. I have included a series of screenshots below to show the whole the process. Upon completion we have the overall content logged to the ‘All Messages’ column, with detailed information in the ‘Local Agent’ and ‘Remote Agent’ logs.

    The computer that is running BatchPatch will download the most recently published WsusScn2.cab offline scan file from Microsoft and then copy it to the target host.
    BPCopyingWsusScn2ToTarget

    BatchPatch instructs the target host to perform a search for available updates against the WsusScn2.cab file, which is why the target host does not require internet access to perform its search.
    BPSearching

    The list of available updates on the target host is copied back to the BatchPatch console, and BatchPatch proceeds to download the updates to its local cache directory using its own internet connection.
    BPDownloading

    Once the updates have been downloaded to BatchPatch’s local cache, BatchPatch then copies the updates to the target host.
    BPCopying

    After the updates have been copied to the target host, the target host must move the files to its Windows Update cache.
    BPCaching

    When the caching process completes, the installation is finally ready to be executed.
    BPInstalling

    After installation, the target host is rebooted and the process is complete.
    BatchPatchOfflineModeDownloadInstallRebootAllMessagesLog
Posted in Blog, General, Tutorials | Tagged , , , | Comments closed