Jump to content


adurrant

Established Members
  • Content Count

    34
  • Joined

  • Last visited

Posts posted by adurrant

  1. Hi guys,

    Hoping to find people that have managed to push HP BIOS settings via OSD (Windows 10), I've pretty much followed this guide (only the folder structures are slightly different) but I'm having issues actually deploying the settings, setting the BIOS password seems to work okay and I've read that for certain TPM settings to be pushed then a BIOS password must be set prior.

    My folder setup:

    image.png.495880ef7086ff328e488e2cdb403de4.png

    image.png.c819d2462605b4de4740978dc059c82d.png

    image.png.db1505008a6ee162aaeb81cdf446bfe1.png

    BIOS Config settings to push:

    BIOSConfig 1.0
    ;
    ;     Originally created by BIOS Configuration Utility
    ;     Version: 4.0.24.1
    ;     Date="2018/03/20" Time="14:53:23" UTC="0"
    ;
    ;     Found 215 settings
    ;
    Virtualization Technology (VTx)
        Disable
        *Enable
        Reset to default
    TPM Reset to Factory Defaults
        *No
        Yes
    Reset of TPM from OS
        *Disable
        Enable
    OS Management of TPM
        Disable
        *Enable
    Activate TPM On Next Boot
        Disable
        *Enable
    TPM Device
        Hidden
        *Available
    TPM Activation Policy
        F1 to Boot
        Allow user to reject
        *No prompts
        Hide
    TPM Device Security Level
        Change
        *View
        Hide
    OS Management of TPM Security Level
        Change
        *View
        Hide
    Reset of TPM from OS Security Level
        Change
        *View
        Hide

    Task sequence setup:

    image.png.b9af1c1bad55f7ff1ae007b1c7c059ff.png

    image.png.33f72d5f2e9f31c7d11027424bb7d1b5.png

    The bios password sets just fine, but in the SMSTS log I see the following for BIOS settings - HP EliteBook 840 G2 itself:

    image.thumb.png.0073de6bc1ea7eefe149e91916cc39ff.png

    Have attached the SMSTS.log.

    Any help would greatly be appreciated, I've been working on this for the last couple of days without success, I've tried:

    • Adding CMD.exe /C prefix (same error)
    • Changing the format of the file to repset (same error)
    • Ran the command manually on the device and works just fine with the same configuration files (as .txt and .repset)
    • Tried running the steps in WinPE rather than in the operating system (same error)

    Thanks in advance.

    smsts.log

  2. Hello,

    Hope you can help me here, I have a customer running 1702 CB and in applications fail to install due to the following errors

    Here's a snippet of the smsts.log:

    <![LOG[Passed in version 2 for ScopeId_0F54416B-2F58-42FE-81D2-D6016500A009/RequiredApplication_068aceb6-300e-46e7-91e7-9a34f4257f85]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="1" thread="3596" file="cisdkclass.cpp:2408">
    <![LOG[spCIStateStore->GetCIState( pszAppPolicyId, csPolicyRevision, (sUserSID.length()>0) ? sUserSID.c_str() : 0, &spPolicyState, 1), HRESULT=87d00215 (e:\nts_sccm_release\sms\dcm\sdk\cisdkclass.cpp,2432)]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="0" thread="3596" file="cisdkclass.cpp:2432">
    <![LOG[CAppMgmtSDK::GetEvaluationState - ScopeId_0F54416B-2F58-42FE-81D2-D6016500A009/RequiredApplication_068aceb6-300e-46e7-91e7-9a34f4257f85.2 Not found in CI state store. Marking CIs state as EvaluationFailed]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="1" thread="3596" file="cisdkclass.cpp:2438">
    <![LOG[NotifyProgress received: 16 (Application failed to evaluate )]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="3596" file="installapplication.cpp:662">
    <![LOG[GetAppMgmtSDKInterface successful]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="3596" file="installapplication.cpp:165">
    <![LOG[CAppMgmtSDK::GetEvaluationState ScopeId_0F54416B-2F58-42FE-81D2-D6016500A009/RequiredApplication_068aceb6-300e-46e7-91e7-9a34f4257f85]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="1" thread="3596" file="cisdkclass.cpp:2390">
    <![LOG[Passed in version 2 for ScopeId_0F54416B-2F58-42FE-81D2-D6016500A009/RequiredApplication_068aceb6-300e-46e7-91e7-9a34f4257f85]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="1" thread="3596" file="cisdkclass.cpp:2408">
    <![LOG[spCIStateStore->GetCIState( pszAppPolicyId, csPolicyRevision, (sUserSID.length()>0) ? sUserSID.c_str() : 0, &spPolicyState, 1), HRESULT=87d00215 (e:\nts_sccm_release\sms\dcm\sdk\cisdkclass.cpp,2432)]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="0" thread="3596" file="cisdkclass.cpp:2432">
    <![LOG[CAppMgmtSDK::GetEvaluationState - ScopeId_0F54416B-2F58-42FE-81D2-D6016500A009/RequiredApplication_068aceb6-300e-46e7-91e7-9a34f4257f85.2 Not found in CI state store. Marking CIs state as EvaluationFailed]LOG]!><time="08:01:31.216+300" date="11-14-2017" component="DCMAgent" context="" type="1" thread="3596" file="cisdkclass.cpp:2438">
    <![LOG[Waiting for job status notification...]LOG]!><time="08:06:31.221+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1290">
    <![LOG[Retrying: 1 attempt]LOG]!><time="08:06:31.221+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1315">
    <![LOG[Waiting for job status notification...]LOG]!><time="08:11:31.227+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1290">
    <![LOG[Retrying: 2 attempt]LOG]!><time="08:11:31.242+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1315">
    <![LOG[Waiting for job status notification...]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1290">
    <![LOG[Retrying: 3 attempt]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:1315">
    <![LOG[nRetryVal != 0, HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installapplication\installapplication.cpp,1327)]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="installapplication.cpp:1327">
    <![LOG[Exhausted retry attempts. Giving up. ]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="3" thread="2404" file="installapplication.cpp:1327">
    <![LOG[WaitforJobCompletion(spAppMgmtSDK, m_guidPolicyEvalJobID, ulPolicyEvalTimeout, nPolicyEvalRetryAttempts), HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installapplication\installapplication.cpp,1090)]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="installapplication.cpp:1090">
    <![LOG[Step 2 out of 7 complete]LOG]!><time="08:16:31.248+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="daprogress.cpp:226">
    <![LOG[Install application action failed: 'Adobe_Reader-DC_15.007.20033_002T'. Error Code 0x80004005]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="3" thread="2404" file="installapplication.cpp:914">

    <![LOG[Sending error status message]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="installapplication.cpp:918">
    <![LOG[   Setting URL = http://GP-SCCMSQL-P1.CXG.CO.UK, Ports = 80,443, CRL = false]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="utils.cpp:6614">
    <![LOG[   Setting Server Certificates.]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="utils.cpp:6642">
    <![LOG[   Setting Authenticator.]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="utils.cpp:6649">
    <![LOG[Set authenticator in transport]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="libsmsmessaging.cpp:7980">
    <![LOG[   Setting Media Certificate.]LOG]!><time="08:16:31.263+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="utils.cpp:6666">
    <![LOG[Sending StatusMessage]LOG]!><time="08:16:31.279+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="libsmsmessaging.cpp:4112">
    <![LOG[Setting message signatures.]LOG]!><time="08:16:31.294+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="libsmsmessaging.cpp:1381">
    <![LOG[Setting the authenticator.]LOG]!><time="08:16:31.294+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="libsmsmessaging.cpp:1411">
    <![LOG[CLibSMSMessageWinHttpTransport::Send: URL: GP-SCCMSQL-P1.CXG.CO.UK:80  CCM_POST /ccm_system/request]LOG]!><time="08:16:31.294+300" date="11-14-2017" component="InstallApplication" context="" type="1" thread="2404" file="libsmsmessaging.cpp:8856">
    <![LOG[Request was successful.]LOG]!><time="08:16:31.310+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="libsmsmessaging.cpp:9191">
    <![LOG[Install application action cannot continue. ContinueOnErrorFlag is set to false.]LOG]!><time="08:16:31.310+300" date="11-14-2017" component="InstallApplication" context="" type="3" thread="2404" file="installapplication.cpp:933">
    <![LOG[hrInstallation, HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installapplication\installapplication.cpp,934)]LOG]!><time="08:16:31.310+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="installapplication.cpp:934">
    <![LOG[pInstall->InstallApplications(saAppNames, sContinueOnError), HRESULT=80004005 (e:\nts_sccm_release\sms\client\osdeployment\installapplication\main.cpp,282)]LOG]!><time="08:16:31.310+300" date="11-14-2017" component="InstallApplication" context="" type="0" thread="2404" file="main.cpp:282">
    <![LOG[Install Static Applications failed, hr=0x80004005]LOG]!><time="08:16:31.310+300" date="11-14-2017" component="InstallApplication" context="" type="3" thread="2404" file="main.cpp:282">
    <![LOG[Process completed with exit code 2147500037]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="commandline.cpp:1124">
    <![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="instruction.cxx:814">
    <![LOG[Failed to run the action: Install Application. 
    Unspecified error (Error: 80004005; Source: Windows)]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="3" thread="2172" file="instruction.cxx:921">
    <![LOG[MP server http://GP-SCCMSQL-P1.CXG.CO.UK. Ports 80,443. CRL=false.]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="utils.cpp:6321">
    <![LOG[Setting authenticator]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="utils.cpp:6343">
    <![LOG[Set authenticator in transport]LOG]!><time="08:16:31.326+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:7980">
    <![LOG[Sending StatusMessage]LOG]!><time="08:16:31.357+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="libsmsmessaging.cpp:4112">
    <![LOG[Setting message signatures.]LOG]!><time="08:16:31.357+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:1381">
    <![LOG[Setting the authenticator.]LOG]!><time="08:16:31.357+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:1411">
    <![LOG[CLibSMSMessageWinHttpTransport::Send: URL: GP-SCCMSQL-P1.CXG.CO.UK:80  CCM_POST /ccm_system/request]LOG]!><time="08:16:31.357+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="libsmsmessaging.cpp:8856">
    <![LOG[Request was successful.]LOG]!><time="08:16:31.372+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:9191">
    <![LOG[Set a global environment variable _SMSTSLastActionRetCode=-2147467259]LOG]!><time="08:16:31.372+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="executionenv.cxx:662">
    <![LOG[Set a global environment variable _SMSTSLastActionSucceeded=false]LOG]!><time="08:16:31.372+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="executionenv.cxx:662">
    <![LOG[Clear local default environment]LOG]!><time="08:16:31.372+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="executionenv.cxx:801">
    <![LOG[Let the parent group (Install Applications) decides whether to continue execution]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="instruction.cxx:1033">
    <![LOG[Let the parent group (Setup Operating System) decide whether to continue execution]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="instruction.cxx:258">
    <![LOG[The execution of the group (Setup Operating System) has failed and the execution has been aborted. An action failed.
    Operation aborted (Error: 80004004; Source: Windows)]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="3" thread="2172" file="instruction.cxx:221">
    <![LOG[Failed to run the last action: Install Application. Execution of task sequence failed.
    Unspecified error (Error: 80004005; Source: Windows)]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="3" thread="2172" file="engine.cxx:249">
    <![LOG[MP server http://GP-SCCMSQL-P1.CXG.CO.UK. Ports 80,443. CRL=false.]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="utils.cpp:6321">
    <![LOG[Setting authenticator]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="utils.cpp:6343">
    <![LOG[Set authenticator in transport]LOG]!><time="08:16:31.388+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:7980">
    <![LOG[Sending StatusMessage]LOG]!><time="08:16:31.404+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="libsmsmessaging.cpp:4112">
    <![LOG[Setting message signatures.]LOG]!><time="08:16:31.404+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:1381">
    <![LOG[Setting the authenticator.]LOG]!><time="08:16:31.404+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:1411">
    <![LOG[CLibSMSMessageWinHttpTransport::Send: URL: GP-SCCMSQL-P1.CXG.CO.UK:80  CCM_POST /ccm_system/request]LOG]!><time="08:16:31.404+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="libsmsmessaging.cpp:8856">
    <![LOG[Request was successful.]LOG]!><time="08:16:31.435+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="libsmsmessaging.cpp:9191">
    <![LOG[Execution::enExecutionFail != m_eExecutionResult, HRESULT=80004005 (e:\nts_sccm_release\sms\client\tasksequence\tsmanager\tsmanager.cpp,1271)]LOG]!><time="08:31:44.024+300" date="11-14-2017" component="TSManager" context="" type="0" thread="2172" file="tsmanager.cpp:1271">
    <![LOG[Task Sequence Engine failed! Code: enExecutionFail]LOG]!><time="08:31:44.024+300" date="11-14-2017" component="TSManager" context="" type="3" thread="2172" file="tsmanager.cpp:1271">
    <![LOG[****************************************************************************]LOG]!><time="08:31:44.024+300" date="11-14-2017" component="TSManager" context="" type="1" thread="2172" file="tsmanager.cpp:1299">
    <![LOG[Task sequence execution failed with error code 80004005]LOG]!><time="08:31:44.024+300" date="11-14-2017" component="TSManager" context="" type="3" thread="2172" file="tsmanager.cpp:1300">

    I've attached the entire logs folder, I've tried removing all of the install application steps from the task sequence and re-adding following this article to no avail: http://www.vansurksum.com/configmgr-2012-caveat-with-application-revisions-when-used-in-a-task-sequence/

    Appears to be mostly random, but on one particular device it fails every time.

    Thanks in advance

    image.png

    Logs.zip

  3. Hi all, 

    Just wanted to post the resolution to this... 

    Stage one: upgrade BIOS that supports the TPM FW Switch feature

    image.png.1c11c4d9f99e6adb26ce77b8195e02e8.png

    However when flashing the bios the process needed to shutdown afterwards to complete so I added into the TS a shutdown command whilst in WinPe, but inbetween that I displayed a message to the PXE booter informing that this will happen to then re-run the task sequence:

    image.png.5f570ac4fda751bb38e62ff6655408d0.png

     

    image.png.beeb8c7c593401c598d841e4cbe736dc.png

     

    The group only ran if the model was correct and the BIOS version was out of date:

    image.png.261c1887f5c66b63cf0749cd122aa0ac.png

    Then once the BIOS was flashed, the instructions to the engineers were to re-run the task sequence again and obviously this time it skipped the BIOS upgrade as the WMI query was no longer valid, as the TPM chip defaulted to 2.0, I had to set the chip to 'Enabled' then change to 1.2 and then set the security chip to 'active' in that order, now I'm not sure if all of the reboot steps are required but the reboot after the TPM switch is 100% required, here's the steps in order:

    image.png.e74753adf6d97b85ad443b6c6a1758c7.png

    image.png.100d7d12b1cca59126bfd944831a2e26.png

    image.png.4fa48e651be533cdb3ea35a002a2b9af.png

    image.png.0807f3fafbda9ccb10479ec73e0f81fd.png

     

    Sources:

    BIOS Tools package: https://support.lenovo.com/ec/en/solutions/ht100612

    Display message in WinPE (you have to add the 'Use Toolkit Package' before running this): https://blogs.technet.microsoft.com/deploymentguys/2011/07/01/message-box-script-for-lite-touch-task-sequences/

    Now you cannot change the TPM version using the above tools as Lenovo purposely disable changing it via WMI due to security concerns, so there's a utility to change this: https://pcsupport.lenovo.com/ec/en/products/DESKTOPS-AND-ALL-IN-ONES/THINKCENTRE-M-SERIES-DESKTOPS/M810Z/downloads/DS121000 (download the BIOS Windows BIOS setting tool), documentation is attached in the tool to help you.

    I'm sure there might be a way to streamline the above but this worked for me and the client.

    Hopefully this might help someone in the future.

     

     

  4. 53 minutes ago, simulacra75 said:

    Well then, that's different!

    Okay. Lenovo make things a little easier because they expose the BIOS settings to WMI. This means you can use Powershell, for example, to get settings from WMI and also to change them.

     

    Display all BIOS Settings in Powershell

    gwmi -class Lenovo_BiosSetting -namespace root\wmi | ForEach-Object {if ($_.CurrentSetting -ne "") {Write-Host $_.CurrentSetting.replace(","," = ")}}

     

    Get all possible values for a particular setting (TPM chip in this example)

    (gwmi –class Lenovo_GetBiosSelections –namespace root\wmi).GetBiosSelections("SecurityChip") |Format-List Selections

     

    Change and save a BIOS setting (making TPM active in this example. Note the 2 step process, changing the value and then saving said value. Also note the setting string is case-sensitive)

    (gwmi -class Lenovo_SetBiosSetting –namespace root\wmi).SetBiosSetting("SecurityChip,Active")

    (gwmi -class Lenovo_SaveBiosSettings -namespace root\wmi).SaveBiosSettings()

     

    That should be enough to get you started i think. Probably worth pointing out that changing BIOS settings via Powershell is not supported on ALL Lenovo models. Give it a try though.

     

    Hello,

    Thanks for this, I did see this on Lenovos website, however it appears that it's mostly designed for their thinkpads, thinkcentres appear to have less functionality.... do you know if the above will apply to ThinkPads and ThinkCentres?

    Source: https://support.lenovo.com/ec/en/solutions/ht100612

  5. Hello,

    I'm having issues bitlockering M810z with SCCM, it seems to go through fine but it appears that the TPM version is set to 2.0, I saw on the latest BIOS version that there's support for 'TPM FW Switch Feature' so hoping this is what I need, I've set up SCCM to flash the BIOS for this model, but is there any BIOS settings that I can push through SCCM to ensure that the TPM module is set to 1.2? The TPM chip is set to 'Discrete' already...

     

    BIOS I'm upgrading to is here: http://pcsupport.lenovo.com/ec/en/products/DESKTOPS-AND-ALL-IN-ONES/THINKCENTRE-M-SERIES-DESKTOPS/M810Z/downloads/DS121000

     

    I'm also having issues updating the BIOS via OSD as I'm unsure where abouts to insert the install\reboot steps as it needs to before the 'Enable Bitlocker' step, here's what my TS looks like at present, deploying Windows 7 Enterprise x64:

    image.thumb.png.355ded9bf2161c4287d5fdd64b5ecfc4.png

    Any advice?

     

     

  6. Hello,

    I'm looking on how to create a custom report based on the default report of 'Compliance 1 - Overall Compliance' however I'm looking to just select the update group and then have predefined collections to report against, something like this: 

    Collection Compliance (%) Not Compliant (%) Compliance Unknown
    4 69.23%      
    5 80.00%      
    6 95.00%      
    7 86.96%      
    8 95.00%      
    10 95.24%      
    11 91.30%      
    12 87.50%      
    13 82.61%      
    14 90.91%      
    15 81.25%      
    16 76.19%      
    17 70.00%      
    18 55.00%      
    19 77.78%      
    20 65.00%      
    21 76.19%      
    22 82.35%      
    23 87.50%      
    24 80.00%      
    25 85.71%      
    26 78.57%      
    27 86.69%      
    28 69.23%      
    29 72.73%      
    30 38.46%      
    31 30.77%      

    any ideas how I can achieve this? I'm not familiar with SQL reporting unfortunately.. :( 

    image.png

×
×
  • Create New...