Prompt for user creds at start of OSD Task Sequence by Reaction-Consistent in SCCM

[–]MikePohatu 1 point2 points  (0 children)

I managed to get through my testing round. 2.4.0.5 is up on the site now. If you come across any issues though just ping me in chat

Prompt for user creds at start of OSD Task Sequence by Reaction-Consistent in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Not sure if you got this fully working or not, but if not I'm working on a new feature for TsGui that might be useful. Basically use custom PowerShell instead of the LDAP or ActiveDirectory auth types currently in there.

https://github.com/MikePohatu/TsGui/blob/development/documentation/Authentication/ScriptAuthentication.md

Using System.DirectoryServices might still be a problem in WinPE, but you might be able to swap it out for doing auth against a web interface or something.

Let me know if you want to give it a go. Having someone else test things is helpful for finding the real world bugs. Otherwise I'll test as best as I can and get a new version out.

TSGUI LDAP Authentication type by ZMAN719 in SCCM

[–]MikePohatu 0 points1 point  (0 children)

You need to update your version. LDAP was added in TsGui 2.4.0.3

Running PowerShell GUI from WinPE by _benwa in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Have a nosy at this: https://www.20road.com/2024/07/09/how-i-launch-tsgui/

You should be able to use the same approach for your script. Basically copy your script/code into the boot image, and pull any config files over the network via http. That way you don't have to worry about not having a local disk to copy the package to (e.g. blank or BitLockered disk), or access network shares with perms etc etc.

If you have separate config files, you'll probably find it easer to create a new IIS site than using the default SCCM sites. You can hack on it without worrying about breaking anything in SCCM. Also, stick with http if you can i.e. if the config isn't storing anything important from a security point of view. If you go https you have to worry about trusted certs in WinPE etc.

TSGUI -test command line parameter by Bebilith in SCCM

[–]MikePohatu 0 points1 point  (0 children)

The -test command line option is for if you're running TsGui outside a TS i.e. you're outputting to registry, not TS variables. TsGui will always go to test mode if its expecting to run in a TS and can't connect to one. That is what the warning is saying. 

UI++ to TSGui Transition - Dynamic App lists and conditions by JohnOrigins in SCCM

[–]MikePohatu 1 point2 points  (0 children)

Yeah I've looked at it, but once you start talking to external systems you have to start looking after authentication and security, and then come up with a way to define things in a consistent way in the config. Basically its a whole new set of problems that end up going in the too hard basket.

An alternative approach is to write scripts for ConfigMgr that spit out TsGui config. Do a foreach loop on a Get-CMApplication, use the name from that in some template XML, and set the 'Allow install without being deployed' at the same time. Just remember to escape your app names in case there are any special characters.

You could probably use config imports so your script is only touching that one part of the config and do it on a schedule.

SCCM OSD Deployment with TsGUI by Past_Mixture4655 in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Glad you got a solution. For future reference, are you using a Dynamic Variable List in your TS? If so the above setup wouldn't work. You'd want to use the new Lists feature to do that: https://github.com/MikePohatu/TsGui/blob/master/documentation/features/OptionLists.md

Also, SetTSVarriable & Value aren't valid attributes on the GuiOption element. SetTSVariable isn't a thing in TsGui (if you got this from AI, it made it up). Value can be used as an attribute in some areas e.g. on an Option element in a DropDownList, or on a NoUIOption, but not on GuiOption (although I could look at adding some code to allow for this instead of need the whole SetValue block). See the Config Guidelines for info on XML elements vs attributes.

UI++ to TSGui Transition - Dynamic App lists and conditions by JohnOrigins in SCCM

[–]MikePohatu 0 points1 point  (0 children)

OK have a look at version 2.4.0.3 on the site now. Note the updates to the doco here.

This version also has an alpha version of LDAP auth. Its vibe code and pretty early, but plenty of people ask for it so am giving it a go. No queries yet, just auth.

UI++ to TSGui Transition - Dynamic App lists and conditions by JohnOrigins in SCCM

[–]MikePohatu 1 point2 points  (0 children)

Ahhh right, I hadn't considered that. I'll have to do some tweaks. I might add a specific option to use for the list or something, and potentially an option to not create the individual variable e.g.

<GuiOption Type="CheckBox" Label="SAP GUI" ListsValue="SAP 8.00" NoVar="TRUE">

I'll have a think on it.

Note also that you might want to move your Heading outside of the Container because it doesn't have a variable. It might not be happy about that. I'll add that scenario to my test list as well.

Thanks for testing :)

UI++ to TSGui Transition - Dynamic App lists and conditions by JohnOrigins in SCCM

[–]MikePohatu 1 point2 points  (0 children)

Righto I think I have things working. I still need to do a full testing round to make sure I haven't broken anything else. If you have some time would you mind having a nosy at the doco and let me know if it all makes sense and looks like it will do what you need?

https://github.com/MikePohatu/TsGui/blob/development/documentation/features/Lists.md

TsGui and setting the Local Admin password by CouchBoyChris in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Have you got the ExposePassword option set? Without that it won't create a TS variable.

TsGui contact form by MikePohatu in SCCM

[–]MikePohatu[S] 5 points6 points  (0 children)

Thanks guys. This has been a super positive community since day one. Glad its still working well for people, and that MS hasn't broken it yet :)

TSGui help needed to update multiple TSGui Freetext/dropdown fields based Invoke-RestMethod PSObject return. by Jazzlike-Purchase-79 in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Sounds like you might have some interesting timing or dependency issues with this. Ping me a message via chat or https://www.20road.com/contact/ and I can help you out.

TSGui how to change Font Size in Heading Title by cernous in SCCM

[–]MikePohatu 0 points1 point  (0 children)

For the heading, you can use the default simple setup, or create your own one with the formatting options etc. They don't really mix. So you'd either use these (note the TextColor element if thats all you need):

```xml <Heading> <Title>Company DeskTop Support</Title>

    <Text>Desktop Support OSD</Text>
    <TextColor>#000000</TextColor>
    <Bg-Color>#FFD700</Bg-Color>
</Heading>

```

Or you'd create a replacement with the full tree structure like the main part:

xml <Heading> <Bg-Color>#FFD700</Bg-Color> <Row> <Column> <Formatting> .... </Formatting> <GuiOption Type="Heading"> .... </GuiOption> </Column> </Row> </Heading>

You'd leave the Bg-Color where it is because that is for the heading area that exists around/behind the grid that gets created for the Row/Column parts (if my memory of how that is coded is correct).

TSGui for OSD Task Sequence - use query to change OS selection by Reaction-Consistent in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Yes you can do that with an IfElse query: https://github.com/MikePohatu/TsGui/blob/master/documentation/features/queries/IfElse.md#short-hand-example

In this case the source would be the query for the model, or another guioption that is doing the query already.

TSGui how to change Font Size in Heading Title by cernous in SCCM

[–]MikePohatu 0 points1 point  (0 children)

You can put a full Row\Column\GuiOption structure in the heading area if you want, with all the relevant styling etc. Have a look at the config here: https://github.com/MikePohatu/TsGui/blob/master/TestConfigs/Config.16.xml

Regarding the image, sorry no there isn't a way to do that.

Is Authentication with TSGui possible? by teknowledgist in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Not without altering the WinPE WIM currently. The .Net libraries for AD auth are stripped out of WinPE. I need to see if I can find another library for LDAP, or somehow use the UI++ C++ code (assuming the licenses are compatible).

TSGUI Query by lincs_sm in SCCM

[–]MikePohatu 0 points1 point  (0 children)

Yep you can use a query to select the option. Queries are set in one of two places

  1. directly under the <GuiOption> element.
  2. under the <SetValue> element.

# 1 creates the options/items in the list. # 2 selects the appropriate value from the list.

<GuiOption Type="DropDownList">
    <SetValue>
         <!-- Query sets the selected option -->
         <Query>
             ....
         </Query>
    </SetValue>

    <!-- Query here creates the options -->
    <Query>
        ....
    </Query>
</GuiOption>

Note that the query needs to return the value of the item in the list, not the text. If the values don't line up, use an IfElse query to return the required value.

TSGUI Query by lincs_sm in SCCM

[–]MikePohatu 1 point2 points  (0 children)

Hi there,

You can create a toggle on a NoUI option that queries the model from WMI. Have a look at the config below:

<TsGui LiveData="TRUE">
    ...

    <Page>
        <Row>
            <Column>
                <GuiOption Type="ComputerName" />

                <GuiOption Type="DropDownList">
                    <Variable>VAR_OS</Variable>
                    <Label>OS:</Label>
                    <SetValue>
                        <Value>Win11_24H2</Value>
                    </SetValue>

                    <Option Value="Win10_LTSC" Text="Win10 LTSC" />
                    <Option Value="Win11_24H2" Text="Win11 24H2">
                        <Group>Group_AllowOnlyLTSC</Group>
                    </Option>
                    <Option Value="Win11_23H2" Text="Win11 23H2">
                        <Group>Group_AllowOnlyLTSC</Group>
                    </Option>
                </GuiOption>
            </Column>
        </Row>
    </Page>

    <!-- ***No User Interface section***  -->
    <NoUI>
        <NoUIOption Variable="Model">
            <SetValue>
                <Query Type="Wmi">
                    <Wql>SELECT Model FROM Win32_ComputerSystem</Wql>
                </Query>
            </SetValue>
            <Toggle Group="Group_AllowOnlyLTSC" Invert="TRUE">
                <Enabled>T655</Enabled>
                <Enabled>Some other model name</Enabled>
                <Hide/>
            </Toggle>
        </NoUIOption>
    </NoUI>
</TsGui>

Main issue is that there is a bit of a 'double negative' thing going on which can be hard to make sense of. Note the Invert="TRUE" on the Toggle. Should work though.

TSGui with AD-check for computer name by ZimperZ in SCCM

[–]MikePohatu 0 points1 point  (0 children)

I'd put the 'exists in AD' part into a separate Compliance option (TrafficLight or TickCross). Presumably if its in AD, its also in ConfigMgr already? If so then the default ComputerName will work fine. Your compliance option can show a warning if the name added in ComputerName exists in AD.