Base Image Script Framework (BIS-F) 6.1.0 TEST – Release

Automation, BIS-F, Citrix AppLayering

(Updated 06.092017 | BIS-F 6.10 TEST build 03.102We are now entered the Testing Stage for the well known Base Image Script Framework (BIS-F). The DEV build is closed now after some weeks of development and crazy nights, Remote Sessions to get the right solution. But now have a deeper look into:


With this Update we have added “Enable Custom Arguments” in the PVS Target Device Configuration (ADMX)

If you enable this policy, depends on the PVS Target Configuration in this Policy you can enter custom arguments, like C: only, for example: If you choosing P2PVS als the P2V Tool, the default arguments would be set to C: /Autofit /L , with the custom arguments you overwritten this arguments and using C: only

NOTE: If you entered incorrect arguments, the convertion of the PVS vDisk might be failed !

If you do not enable, the default arguments inside BIS-F would be used.

In Addition we have created an MaxExecutionTime for all processes that be running with the PowerShell Progressbar, if not specified the default value with 60 minutes would be set, after ths execution of this time, the process would be aborted.

The BIS-F Admin Guide in the Installationfolder would replaced with the online documentation, you can get it in the future -> check out


Citrix AppLayering:
You can run BIS-F on each Layer, the Layer would automatically detected between OS-Layer and Platform/Application layer and do the right sealing steps. You do no longer need “Shutdown for Finalize” inside the VM created from ELM.

  • In OS-Layer only, the Windows Update Service would be started, not in other Layers.
  • IF AppLayering and PVS Target Driver is installed (or not) a complex Matrix would developed to redirect event-logs and other stuff, like WEM Agent Cache, etc.
  • Skipping PVS Convert if AppLayering agent is installed
  • If you create a new OS or Application Layer the VM is starting in Workgroup Mode, for BIS-F you can easily export the ADMX Configuration to an local XML File to use them instead of GPO.   You must enter an valid UNC or local Path (that must be exists) in the ADMX in Computerconfiguration > Administrative Templates > Base Image Script Framework > Silent Configuration > Global > Shared Configuration. After you have configured that,  you must export the configuration from a valid Computer where the registry values are set from the ADMX.
  1. Running Powershell with administrative privileges
  2. cd <BIS-F Installation folder>\Framework
  3. .\PrepBISF_Start.ps1 -ExportSharedConfiguration
  4. The xml files would be created, in the path that you’ve entered in the policy (Shared Configuration)
  5. Copy BISFSharedConfig.xml to the <BIS-F Installation folder>
  6. If BIS-F is running, it reads the XML BISFSharedConfig.xml and get the path to the shared configuration, import these settings into the local policy and load the values into BIS-F.

We are refer to 4.x Layering Best Practices if you are using AppLayering with PVS Target Device Driver

If you need to attach extra disks to your Platform Layer for your Provisioning System – for instance, Cache disks or a BDM in PVS – attach them and let Windows detect them and reboot as necessary. When you are ready to Finalize the layer, double-click on the Shutdown for Finalize icon.  When the machine is off, remove the extra disks.  The Finalize operation from the ELM will fail if there are extra disks on the VM.  But don’t remove them until Windows is completely shutdown and you are ready to finalize the layer.

We have included several additional features and enhacements like:

  • CTXOE Support,
  • vmOSOT custom Template Path in ADMX
  • Custom Path in ADMX for all 3rd Paty Tools
  • Citrix PVS: Select ImagingWizard or P2PVS in ADMX and custom UNC Path for vdhx to create
  • Custom Path for Spool and Eventlogs
  • Redirect all Eventlogs
  • Cleanup temp directory
  • Refresh WEM Agent Cache on system startup
  • Support for GPT Disk
  • Support for Windows Defender
  • Support for F-Secure Anti-Virus
  • skip Personalization based on DiskMode in ADMX
  • Remove Ghost Devices
  • Configure Logging retention period

Please find below the complete Release Notes since we have started the BIS-F 6.1.0 DEV Release, all this changes are now a part of the Test Releases

06.09.2017 MS: Feature 204 – replacing AdminGuide.pdf with Online eDocs
06.09.2017 MS: Feature 203 – ADMX – Custom Arguments for P2PVS / ImagingWizard
05.09.2017 TT: bugfix 201 – enable maximumExecutionTime in Write-BISFProgressBar, if not specified the default value of 60 minutes would be set
04.09.2017 MS: bugfix – Eventlogs would be moved for both States (Prep and Pers) now, after changing it in V6.1.0 build 03.101
31.08.2017 MS: POSH Progressbar, sleep time during preparation only, change it from 10 to 5 seconds
31.08.2017 MS: change sleep timer from 60 to 5 seconds after time sync on startup
Version 6.1.0 build 03.101 — 31.08.2017 19:00:00 :
31.08.2017 MS: Bugfix – Eventlogs would be moved during Preparation only, this saved time during personalization
31.08.2017 MS: Clear all Eventlogs
25.08.2017 MS: Bugfix – P2V with UNC Path failed with space is in UNC Path
25.08.2017 MS: Bugfix – VHDX on UNC-Path would be created with double .vdhx extension
Version 6.1.0 build 03.100 — 24.08.2017 13:55:53 :
24.08.2017 MS: If AppLayering is installed and running not inside ELM, the VM is build first time, run defrag on systemdrive
24.08.2017 MS: if OS and Platform/Appliaction Layer not detected, VM is not running inside ELM, give back $GLobal:CTXAppLayerName=”No-ELM”
24.08.2017 MS: Bugfix: after restart WEM Agentservice, Netlogon must be started also
23.08.2017 JP: Fixed typos in the ADMX/AMDL file, optimized folder structure, removed duplicated definition (WindowsVista)
22.08.2017 MS: Feature Request – 97_PrepBISF_PRE_BaseImage.ps1 – cleanup various directories, like temp, thx to Trentent Tye
22.08.2017 MS: BugFix – create or update BIS-F schedule Task to run with highest privileges
22.08.2017 MS: If defrag not run, write-out the DiskMode to the BIS-F log for further anlaysis if possible to run
Version 6.1.0 build 04.113 — 18.08.2017 16:38:46 :
18.08.2017 FF: (PERS Sophos) Use $ServiceNameS instead of $ServiceName for first Test-BISFService
18.08.2017 FF: Fix for Bug 200: Popup shouldn’t show up if Central Logshare is enabled OR disabled
17.08.2017 FF: Program is named “Windows Defender”, not “Microsoft Windows Defender”, fixed typos
Version 6.1.0 build 04.112 — 16.08.2017 13:47:45 :
Last Change: 16.08.2017 MS: Skip Device Personalization, based on Diskmode selected in ADMX
Last Change: 15.08.2017 MS: Feature – DiskMode: extend Diskmode with AppLayering, ReadOnlyAppLayering, ReadWriteAppLayering, etc.
Last Change: 15.08.2017 MS: Bugfix – Personalization: If Citrix AppLayering is installed, skip reboot
Last Change: 15.08.2017 MS: move all BIS-F logs to the BISF logfolder, local and UNC-Path, previous only personalization logs would be moved to the UNC-Path
Last Change: 06.08.2017 MS: from every P2V convertion, the logfile would be included into the BIS-F log, instead of error only
Last Change: 06.08.2017 MS: Bugfix – ADMX: in some textbox fields, they starting with empty spaces
Last Change: 06.08.2017 MS: Bugfix – if Custom UNC-Path in ADMX is enabled, during “Personalization” the wrong $returnvalue like MCSPrivate is given back, instead of “UNC-Path”
Version 6.1.0 build 04.111 — 04.08.2017 21:23:17 :
04.08.2017 MS: Feature Request 150 : – Function Get-BISFDiskMode: If Custom UNC-Path in ADMX is enabled, get back ‘UNC-Path’ as $returnvalue
03.08.2017 MS: Change BIS-F Icon on Admin Desktop, thx to Marco Zimmermann
03.08.2017 MS: Feature – P2V : Get-BISFBootMode get back UEFI or Legacy to using different command line switches for ImagingWizard or P2PVS
03.08.2017 MS: Feature – P2V : Automatic fallback to ImagingWizard with UEFI BootMode, if P2PVS in ADMX is selected
02.08.2017 MS: Feature – System Startup : In AppLayering OS-Layer only, do not Resync Time with Domain and do not Reapply Computer GPO, Computer is mostly not domain joined
02.08.2017 MS: Feature – System Startup : With DiskMode AppLayering in OS-Layer the WSUS Update Service would be start
02.08.2017 MS: Feature Request 150 : IF ADMX for custom VHDX UNC-Path is enabled, Defrag can’t performed
02.08.2017 MS: Feature Request 150 : IF ADMX for custom VHDX UNC-Path is enabled, the arguments for the P2V Tool must be changed, this vDisk Mode must not being checked
02.08.2017 MS: Feature – Removing XenConvert completly and using settings from new ADMX to choose ImagingWizard or P2PVS
02.08.2017 MS: Feature Request 152 : ADMX – Set Logfile Retention via ADMX
02.08.2017 MS: Feature Request 193 : ADMX – Eventlog and Log Configuration, change POSH Code to use new reg values
02.08.2017 MS: Feature Request 196 : ADMX – delprof2 edit custom arguments
02.08.2017 MS: Feature : change ADMX to new structure, each vendor has his own folder
02.08.2017 MS: Bugfix – Windows Defender Script: to much ” at the end of Line 44, breaks defender script to fail
Version 6.1.0 build 04.110 — 01.08.2017 19:13:38 :
01.08.2017 MS: Feature Request 197 : add Progressbar for .NET Optimization
01.08.2017 MS: Feature Request 159 : ADMX – specifiy VMware OS Optimization Template
01.08.2017 MS: Feature Request 196 : ADMX – specifiy custom searchfolder for Citrix System Optimizer (CTXOE)
01.08.2017 MS: Feature Request 196 : ADMX – specifiy custom searchfolder for each 3rd Party Tool
01.08.2017 MS: Feature Request 193 : ADMX – specifiy custom eventlog and spool foldername
01.08.2017 JP: Fix some typos
Version 6.1.0 build 04.109 — 01.08.2017 05:38:40 :
01.08.2017 MS: Bugfix Test-AppLayeringSoftware, to much more bracket.. complete execution of BISF failed !
Version 6.1.0 build 04.108 — 31.07.2017 20:10:25 :
31.07.2017 MS: Bugfix: if Citirx PVS Target Device Driver and Citrix AppLayering is installed, PostCommand would not executed
31.07.2017 MS: Bugfix: If Citrix AppLayering is installed, in the Platform Layer the wrong Driveletter would give it back.
31.07.2017 MS: Bugfix: 10_PrepBISF_AV-SEP.ps1 – typo in search folders for the SEP vietool.exe
31.07.2017 MS: Show ConsoleMessage during prepare Citrix AppLayering if installed
Version 6.1.0 build 04.107:
29.07.2017 MS: add schedule Task “ServerCeipAssistant” to disable, thx to Trentent Tye
29.07.2017 MS: Feature Request 173: add Support for F-Secure Anti-Virus, thx to Thorsten Witsch
29.07.2017 MS: Feature Request 174: on systemstartup with MCS/PVS and installed WEM Agent – refresh WEM Cache
29.07.2017 MS: Feature Request 168: add Support for PrinterLogic PrinterInstaller Client to remove all files in C:\Windows\Temp\PPP
29.07.2017 MS: Feature Request 179: Enable all Eventlog and move Eventlogs to the PVS WriteCacheDisk if Redirection is enabled in function Use-BISFPVSConfig , thx to Bernd Braun
29.07.2017 MS: Bugfix 187: Wrong search folders for the SEP vietool.exe
29.07.2017 MS: Feature Request 192: support GPT WriteCacheDisk
Version 6.1.0 build 04.106:
28.07.2017 MS: Bugfix 195: If Citrix AppLayerLayering is installed get back DiskMode $returnValue = “AppLayering”
Version 6.1.0 build 04.105:
27.07.2017 MS: If Citrix AppLayering and PVS Target Device Driver installed, skip vDisk Operations
27.07.2017 MS: replace redirection of spool and evt-logs with central function Use-BISFPVSConfig, if using Citrix AppLayering with PVS it’s a complex matrix to redirect or not.
27.07.2017 MS: add new Function Use-BISFPVSConfig for Checking Redirection of Files is needed in combination with PVS and Citrix AppLayering
26.07.2017 MS: Bugfix Citrix Applayering: check Universervice ProcessID instead of ProcessName
Version 6.1.0 build 04.104:
25.07.2017 MS: Bugfix: Create central Function Test-BISFAppLayeringSoftware to give back $Global:CTXAppLayeringSW true or false value
25.07.2017 MS: Feature Request: with new Installerbuild (incremental version) in each DTAP Stage the build number also written to the log and the Windows Title, replace the manual change of the $ReleaseType in BISF.psm1
Version 6.1.0 DEV:
12.07.2017 FF: Prep_Altiris: Create $RegKeys as an array (was a hashtable before)
12.07.2017 FF: Prep_RES: BugFix for Redirecting RES Cache (Setting Cache Path to WCD)
03.07.2017 FF: CTXOE can be executed on every device (if “installed” + not disabled by GPO/skipped by user)
01.07.2017 MS: add Script to remove ghost devices, thx to Trentent Tye
28.06.2017 MS: Feature Request 169 – add AppLayering Support in PrepBISF_CTX.ps1
16.06.2017 FF: Feature Request 181 – add support for Citrix System Optimizer Engine (CTXOE)
28.06.2017 MS: Bugfix 186 – AppSense Product Path – thx to Matthias Kowalkowski
14.06.2017 MS: Feature Request 176 – Running ImagingWizard instead of P2PVS to support UEFI Boot on Hyper-V
14.06.2017 MS: Feature Request 172 – Stopping Shell Hardware Detection Service before ImagingWizard/XenConvert is starting, messagebox to format the disk supressed now
01.06.2017 FF: Feature Request 182 – Add 10_PrepBISF_AV-WindowsDefender.ps1 to support Windows Defender


Happy Test and Sealing… let us anything know

[Download not found] | | Founder Base Image Script Framework (BIS-F) | IT-Architect EUC | Automation Enthusiast

9 thoughts on “Base Image Script Framework (BIS-F) 6.1.0 TEST – Release”
  • Tobias Schilling says:

    Really great work! Thanks!!

    I noticed two bugs, when you upload the disk via the P2V Tool directly to an UNC-path (I used ImagingWizard in the GPO). The uploaded vdisk adds .vhdx.vhdx to the filename, so every time I need to remove “one extension” before importing it into the PVS.

    The second problem is, that if you boot the created image, every time the message pops up, that windows hasn’t shutdown properly before. If I add an vDisk directly to the device and do it the classic way (don’t upload it to the UNC path) this issue doesn’t occur.

    I have tested this several times.


    August 31, 2017 at 09:14
    • the double extension vhdx.vhdx. would be fixed and comes with the next test build. For the other one, i must have a deeper look into. Which Hypervisor (XenServer, VMware, Hyper-V) do you use ? please send us the BIS-F preparation logs through the BIS-F Form on this page

      August 31, 2017 at 14:27
    • Updated BIS-F Beta today to fix some issues

      October 19, 2017 at 10:51
  • James says:

    I may be a bit thick, but I really had a hard time trying to make BIS-F drive the vmware optimisation tool with a specific template…Couldn’t find clear Doco on how to make this work? Everything else about this solution is amazing

    September 4, 2017 at 13:07
  • Eric Hébert says:

    There is a major problem in the 10_PrepBISF_SCOM script. replace the line remove-item -Path “$OpsStateDirOrigin\*” -recurse . this variable does not exist and delete the C:\ 😛 We manage to make it work with this replacement: if (test-path $OpsStateDirOrigin2007) {remove-item -Path “$OpsStateDirOrigin2007\*” -recurse}
    if (test-path $OpsStateDirOrigin2012) {remove-item -Path “$OpsStateDirOrigin2012\*” -recurse}

    October 2, 2017 at 21:14
    • We has also identify this bug and will fix that as soon as possible, thank you.

      October 3, 2017 at 08:37
    • Updated BIS-F Beta today to fix some issues

      October 19, 2017 at 10:51
Leave A Comment

CAPTCHA ImageChange Image