mikepohatu / tsgui Goto Github PK
View Code? Open in Web Editor NEWCustom GUIs in ConfigMgr
License: GNU General Public License v3.0
Custom GUIs in ConfigMgr
License: GNU General Public License v3.0
Hi there!
I see that AD credentials, once entered and verified, cannot be reused later by the task sequence, once TSgui is closed.
Do you think it would be possible to add an option to let me to choose whether to find such credentials later?
Thanks,
alessio
Hello all,
I'm trying to achieve the following.
The computertype can be "Laptop" or "Virtual Computer"
Depending on the choice for laptop it should then ask for a "dropdown location" - a "dropdown department" and a "dropdown software"
For virtual computer it should then ask only for a "dropdown software"
I have no idea how to alter the dropdown lists after choosing the computer type
I normally do device naming via variables supplied by TsGui menu selections that are later handled by a script. However, techs are looking to have the option to manually name a special purpose device from time to time. So, I am looking to add a checkbox "Manually Name Device" in one of pages that when checked exposes or unlocks the ComputerName guioption. I am assuming this is involves linking but I have not been able to find a way to do this yet based on the examples in provided. Can this be done? If so, can you point me in the right direction?
Hello,
Thank you very much for TsGui which is a powerful tool.
Is it possible to use an entered value to populate another field?
For example, I would like all the values entered on a page to be displayed as a summary on the next page.
We use TsGui_2.0.1.0
Thank you in advance for your feedback.
Using a dropdown list I have not find a way to display a default text when the result of a WMI query is null. For example the following retrieves the partitions found in a disk, but sometimes the disk might be clean and no partitions are found:
<Query Type="Wmi">
<Wql>select Index,DiskIndex,Size FROM Win32_DiskPartition WHERE DiskIndex=0</Wql>
<NameSpace>root\CIMV2</NameSpace> <!-- Option to set the namespace -->
<Property Name="Index">
<Calculate>VALUE+1</Calculate>
</Property>
<Property Name="DiskIndex">
<Prefix>Disk: </Prefix>
</Property>
<Property Name="Index">
<Calculate>VALUE+1</Calculate>
<Prefix>PartitionNumber: </Prefix>
</Property>
<Property Name="Size">
<Calculate DecimalPlaces="2">VALUE/1073741824</Calculate>
<Prefix></Prefix>
<Append>GB</Append>
</Property>
<Separator>, </Separator>
</Query>
So if I am using a dropdown list I will not see anything (actually a very thin blank line) but a text "NO PARTITIONS FOUND" could be more helpful.
I tried with some IFELSE queries but I can only set a value to an optionValue and not a string
thanks
alessio
PS: I am sorry, these and other I will post, are not actually "Issues" but I don't know how to submit feature requests
I am attempting to query for the status of the TPM so I can display readiness for BitLocker encryption. However, when I do the following, I get an error "Invalid Class"
<GuiOption Type="InfoBox" ID="tpm_enabled"> <Variable>VAR_TPMEnabled</Variable> <Label>TPM Enabled:</Label> <SetValue> <Query Type="Wmi" IgnoreEmpty="FALSE"> <Wql>Select IsActivated_InitialValue from Win32_Tpm</Wql> </Query> </SetValue> </GuiOption>
In testing, I tried from an admin command prompt, and a non-admin command prompt. Am I doing something wrong? I also tried specifying the full namespace path with
Enabling the checkboxes inside the Treeview control could be helpful for a multiple selection.
My TSgui script became quite complex now and I was thinking that a treeView control, for choosing which software to install, could be useful.
Alessio
Hi there,
could you help me to try to solve this problem please?
I am trying to configure IP settings from inside TsGui. It works but I am trying to "beautify" the appearance: each time I toggle/enable the group that contains all those textboxes, each with its own validation rule, the error message is triggered because I used "ValidateEmpty=TRUE", which though is needed because I don't want empty values
The problem also is that I cannot disable the group unless I click four times the checkbox to enable/disable it.
Thanks!
Config_IPvalidation.xml.txt
In Windows PE (typically ConfigMgr/MDT running ADK 2004) Controls with the property "AllowsTransparency"="True" fails being captured. The applicaton works perfectly well locally but is completely invisible in the Remote Control Window. As a test I flipped the property on the Main Window and the TsDropDownListUI.Control ComboBox, it then worked as expected. Not sure though which other, possibly negative, impact the changes could have?
Primarily I want to enable or disable GuiOptions based on a variable collected with a NoUI option. I am not sure if there is a way to do this currently, nothing I try seems to work. I am currently using TSGUI 1.5.1.1. But if v2 has this ability I will upgrade to that version.
Hello Everyone,
I am using Mike's TsGui and got stuck to position button. Could someone please help me with this. I want to move the button in the middle rather to the side
Having issues with TSGui loading in WinPE since upgrading to ADK 22H2, has anyone else experienced issues?
Error in status messages is:
The task sequence execution engine aborted execution for a failure of the action (Load Build Menu - WinPE) in the group (). The operating system reported error 2147956401: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.
Powershell and HTA are added as options to the boot image.
I have tried copying the UIAutomationCore.dll from previous working boot image. But not resolved.
Hello there,
I see in the sources that vertical alignment for ROW tags seems to be fixed on "TOP" or at least I have not found a way to move its content at CENTER or BOTTOM using the standard formatting tools.
Thanks!
When calling the tsgui.exe from command line step in OSD task sequence, it causes the attached error in the smsts.log.
I replaced .exe with the most recent version 1.0.6.10 but still have the same result.
The boot.wim (currently OS v10.0.17763.1) does have .Netfx component installed. The boot.wim was recently updated from OS v10.0.14393.0 using the SCCM method for injecting a newer Windows ADK into the image. Ill try importing a new native 17763 version of the boot.wim as well as a 14393 version to see if that makes a difference.
TsGui.exe runs fine in Windows Test mode so it seems to be WinPE related.
Hi, i am experimenting with this toolkit to replace my old MDT wizard in my MECM task sequence.
I have a question about my Applications selection list :
Is this possible to create a variable ex : APP01 = 'APP_GUID' when i click a checkbox. So when i click 7-Zip by exemple a variable named APP01 is created with a value and i can use this variable in my task sequence.
Thanks!
Hello,
First, I want to thank you for this wonderful tool. I've only recently started using TsGui but it is clearly very powerful and I'm excited to incorporate it into my SCCM task sequences.
I've hit a small issue though. I would like to hide or show a page depending on the value of a task sequence variable. I figured I could use a toggle inside a NoUIOption to achieve this. If I try to hide a GuiOption using this method, this works perfectly fine. For example, to hide a heading on page 2 unless the machine is a laptop:
<TsGui LiveData="TRUE" Output="ConfigMgr" PurgeInactive="TRUE">
<Height>330</Height>
<Width>550</Width>
<HardwareEval />
<Page>
<Row>
<Column>
<GuiOption Type="Heading">
<Label>Page 1</Label>
<Bold />
</GuiOption>
</Column>
</Row>
</Page>
<Page>
<Row>
<Column>
<GuiOption Type="Heading">
<Group>Group_Hide</Group>
<Label>Page 2</Label>
<Bold />
</GuiOption>
</Column>
</Row>
</Page>
<NoUI>
<NoUIOption>
<Variable>Toggle_Hide</Variable>
<SetValue>
<Query Type="EnvironmentVariable">
<Variable Name="TsGui_IsLaptop" />
</Query>
</SetValue>
<Toggle Group="Group_Hide">
<Enabled>TRUE</Enabled>
<Disabled>FALSE</Disabled>
<Hide />
</Toggle>
</NoUIOption>
</NoUI>
</TsGui>
However, if I move the group under the Page tag instead, I get an exception when running TsGui:
...
<Page>
<Group>Group_Hide</Group>
<Row>
<Column>
<GuiOption Type="Heading">
<Label>Page 2</Label>
<Bold />
</GuiOption>
</Column>
</Row>
</Page>
...
I'm using the latest 2.0.22.0 version.
Thanks in advance!
We have some apps we would like to install via task sequences. They are already defined into a nested task and upon request, we can remove or increase the list.
My question is if there is a easy/nice way to retrieves such list and build kind of checkboxes-tree (even no tree) at run time into TsGui, otherwise it would be a pain to make changes each time a software is add/deleted from the task sequence.
thanks!
Prefacing this with: I'm still relatively new at working with SCCM, WinPE, and Task Sequence development. Please absolutely correct me on anything I may misunderstand.
When attempting to run TsGui from 64-bit WinPE (ADK 1803), any Config.xml that utilizes the <Image>
tag to include an image results in the error seen here, as mscms.dll does not appear to be part of the WinPE media:
All other formatting options I have tried so far function correctly, resulting in TsGui working as intended within WinPE. Only images seem to be problematic. I confirmed that mscms.dll is not present in the WinPE media.
I have not yet tried working around this by either adding the DLL to WinPE using DISM, nor dynamically copying it into the WinPE environment as a Task Sequence step, as I did not want to add an additional custom step to maintain for my org's imaging process, as we depend on a parent group that generates/provisions WinPE media we consume.
I did verify that the required optional component Microsoft .NET (WinPE-NetFx) is added to the WinPE media I am using, in addition to:
In researching the issue, I did find this (older) StackOverflow post which may have some relevance: https://stackoverflow.com/questions/17225427/why-do-i-get-this-exception-in-winpe-4-0-but-not-windows-7-windows-2012
Being unfamiliar with the tools available, I am uncertain if there is a functional workaround aside from what I described above. If there is not a pre-existing library available within WinPE that can serve to provide the image presentation/scaling options needed, that's totally understandable. Also: if I have misconstrued any details above, please let me know.
Please let me know if there is any additional detail I can provide to be of help.
I have a series of GuiOptions toggled by a dropdown list.
Each of them has a validation option and error-message which displays errors on wrong input and "Finish" button is disabled.
Though I found out that if a toggle-enabled GuiOption is triggered by an invalid input, the error message appears and stays there even if I toggle-disable the Gui-Option (which has wrong input but is not anymore on foreground)
In the latter case the Finish button is working.
Thanks,
alessio
I see that at the moment TsGui does not allow the execution of external commands/scripts to read their output but we are "limited" to WMI queries.
Do you think it would be possible to extend such queries to include parameters?
for example I wanted to create a validation for the computer name which would check if the computer is already existing or not.
Given that I cannot query Active Directory I thought that at lease I could try to ping the "new chosen name" with a WMI query that outputs catchable results:
Select * from Win32_PingStatus Where Address = 'NEWNAME'
here "NEWNAME" is fixed, I don't know it is easy to do, I was thinking about a sort of tag such linked to a GuiOption, (ComputerName in my case)
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.