This commit is contained in:
Mikael Karlsson
2021-08-15 20:54:37 +10:00
parent d3a3ddef79
commit 95bd8fc07c
229 changed files with 12061 additions and 6028 deletions

View File

@@ -34,6 +34,7 @@
<Grid Grid.Row='2' VerticalAlignment="Stretch" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
@@ -57,7 +58,13 @@
<ComboBox Name="cbCompareType" Margin="0,5,0,0" MinWidth="250" Grid.Row='1' Grid.Column="1" HorizontalAlignment="Left"
DisplayMemberPath="Name" SelectedValuePath="Value" />
<Grid Margin="0,0,5,0" Grid.Row='2' >
<StackPanel Orientation="Horizontal" Margin="0,0,5,0" Grid.Row='2' >
<Label Content="CSV Delimiter" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the character to use for separating properties in the CSV file" />
</StackPanel>
<ComboBox Name="cbCompareCSVDelimiter" Margin="0,5,0,0" MinWidth="250" Grid.Row='2' Grid.Column="1" HorizontalAlignment="Left" />
<Grid Margin="0,0,5,0" Grid.Row='3' >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
@@ -67,7 +74,7 @@
</StackPanel>
</Grid>
<DataGrid Name="dgObjectsToCompare" Margin="0,5,0,5" Grid.Row='2' Grid.Column='1' CanUserAddRows="False" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" />
<DataGrid Name="dgObjectsToCompare" Margin="0,5,0,5" Grid.Row='3' Grid.Column='1' CanUserAddRows="False" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" />
</Grid>

View File

@@ -45,17 +45,23 @@
<Button Grid.Column="2" Name="browseCSVDocumentationPath" Padding="5,0,5,0" Width="50" ToolTip="Browse for folder">...</Button>
</Grid>
<StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0">
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="3">
<Label Content="CSV delimiter" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify what character to use as delimiter for the CSV output" />
</StackPanel>
<ComboBox Name="cbCSVDelimiter" Margin="0,5,0,0" Width="100" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Left" />
<StackPanel Orientation="Horizontal" Grid.Row='4' >
<Label Content="Add object name to path" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This will export all objects to a sub-directory of the export path with name based on object type" />
</StackPanel>
<CheckBox Grid.Column='1' Grid.Row='3' Name='chkCSVAddObjectType' VerticalAlignment="Center" IsChecked="true" />
<CheckBox Grid.Column='1' Grid.Row='4' Name='chkCSVAddObjectType' VerticalAlignment="Center" IsChecked="true" />
<StackPanel Orientation="Horizontal" Grid.Row='4' Margin="0,0,5,0">
<StackPanel Orientation="Horizontal" Grid.Row='5' Margin="0,0,5,0">
<Label Content="Add company name to path" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This will add the company name in Azure to the export path" />
</StackPanel>
<CheckBox Grid.Column='1' Grid.Row='4' Name='chkCSVAddCompanyName' VerticalAlignment="Center" IsChecked="true" />
<CheckBox Grid.Column='1' Grid.Row='5' Name='chkCSVAddCompanyName' VerticalAlignment="Center" IsChecked="true" />
</Grid>

View File

@@ -120,11 +120,34 @@
</StackPanel>
<TextBox Grid.Column='2' Grid.Row='12' Name='txtWordSubCategoryHeaderStyle' Margin="0,5,5,5"/>
<StackPanel Orientation="Horizontal" Grid.Row='13' Margin="0,0,5,0">
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="13">
<Label Content="Cover Page" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Cover page to use if the template property is not specified. Ion (Dark) is used if not specified" />
</StackPanel>
<TextBox Grid.Column='1' Grid.Row='13' Name='txtWordCoverPage' Margin="0,5,5,5"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="14">
<Label Content="Title" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the title property for the document" />
</StackPanel>
<TextBox Grid.Column='1' Grid.Row='14' Name='txtWordTitleProperty' Margin="0,5,5,5"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="15">
<Label Content="Subject" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the subject property for the document" />
</StackPanel>
<TextBox Grid.Column='1' Grid.Row='15' Name='txtWordSubjectProperty' Margin="0,5,5,5"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="16">
<Label Content="Content controls" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify content control values e.g. prop1=value;prop2=value;prop3=value" />
</StackPanel>
<TextBox Grid.Column='1' Grid.Row='16' Name='txtWordContentControls' Margin="0,5,5,5"/>
<StackPanel Orientation="Horizontal" Grid.Row='17' Margin="0,0,5,0">
<Label Content="Open document" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This will open the document and activate Word when finished" />
</StackPanel>
<CheckBox Grid.Column='1' Grid.Row='13' Name='chkWordOpenDocument' VerticalAlignment="Center" IsChecked="true" />
<CheckBox Grid.Column='1' Grid.Row='17' Name='chkWordOpenDocument' VerticalAlignment="Center" IsChecked="true" />
</Grid>

View File

@@ -0,0 +1,19 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Name="grdToolsMain">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
<Grid Name="grdToolsInfo" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</Grid>

View File

@@ -0,0 +1,135 @@
<TabControl Margin="5,5,0,0" Name="tcADMXPolicyConfig" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TabItem Header="Policy">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MinWidth="100" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="1*" MinWidth="100" />
</Grid.ColumnDefinitions>
<TreeView Name="tvADMXCategories" />
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox Text="" Name="txtADMXFilterSettings" Margin="0,0,0,5" Visibility="Collapsed" />
<DataGrid Grid.Row="1" Name="dgADMXCategoryPolicies"
SelectionMode="Single"
SelectionUnit="FullRow"
CanUserAddRows="False"
AutoGenerateColumns="False"
ColumnWidth="*"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Setting" Binding="{Binding Name}" IsReadOnly="True" Width="10*" CanUserResize="True"/>
<DataGridTextColumn Header="State" Binding="{Binding SettingStatusText}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="Path" Binding="{Binding Category}" IsReadOnly="True" Width="Auto" Visibility="Collapsed" />
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu Name="mnuADMXSettingsContextMenu">
<MenuItem Header="Edit" Name="mnuADMXSettingEdit">
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
</Grid>
</Grid>
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXLoadADMX" Content="Load ADMX" MinWidth="100" Margin="0,0,5,0" ToolTip="Load ADMX file" />
<Button Name="btnADMXLoadADML" Content="Load ADML" MinWidth="100" IsEnabled="False" ToolTip="Load ADML file if not found automatically"/>
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="Import">
<Grid Grid.IsSharedSizeScope='True'>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0">
<Label Content="Custom Profile Name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the name of the custom profile" />
</StackPanel>
<TextBox Text="" Name="txtADMXProfileName" Margin="0,5,5,5" Grid.Row="0" Grid.Column="1"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1">
<Label Content="Custom Profile Description" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Description for the custom profile" />
</StackPanel>
<TextBox Text="" Name="txtADMXProfileDescription" Margin="0,5,5,5" Grid.Row="1" Grid.Column="1"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="2">
<Label Content="ADMX Policy File Name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="A unique name/id for the policy. The ADMX file will be stored in: %ProgramData%\Microsoft\PolicyManager\ADMXIngestion\Guid\AppName\Policy" />
</StackPanel>
<Grid Grid.Row="2" Grid.Column="1" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="" Name="txtADMXPolicyFileName" Margin="0,5,5,5" Grid.Column="0"/>
<Button Name="btnADMXPolicyNameRandom" Content="Add Random" Grid.Column="1" MinWidth="100" Margin="0,5,5,5" ToolTip="Only required if multiple policies uses different version of the ADMX file. Also considder chaning the AppName" />
</Grid>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="3">
<Label Content="ADMX App Id" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="App ID for the ADMX. Add v2 or vVersion if multiple policies uses different versions of the ADMX file" />
</StackPanel>
<TextBox Text="" Name="txtADMXPolicyAppName" Margin="0,5,5,5" Grid.Row="3" Grid.Column="1" />
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="4">
<Label Content="Ingest ADMX file" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Ingest the ADMX file into the custom profile" />
</StackPanel>
<CheckBox Name="chkADMXPolicyIngest" IsChecked="True" Margin="0,5,5,5" Grid.Row="4" Grid.Column="1"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="5">
<Label Content="OMA-URI Name for the ADMX ingestion" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the OMA-URI policy for the ADMX ingestion in the Custom Profile" />
</StackPanel>
<TextBox Text="" Name="txtADMXPolicyIngestName" Margin="0,5,5,5" Grid.Row="5" Grid.Column="1"/>
<StackPanel Grid.Row="99" Grid.ColumnSpan="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXImport" Content="Import" MinWidth="100" ToolTip="Create ADMX profile in Intune"/>
</StackPanel>
</Grid>
</TabItem>
</TabControl>

View File

@@ -0,0 +1,198 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Grid.IsSharedSizeScope='True'>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Name="grdADMXRegPolicy">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row='0' Margin="0,0,5,0">
<Label Content="Policy name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="This is the name/id of the policy in the ADMX file. A guid will be used if not specified" />
</StackPanel>
<TextBox Name="txtADMXRegPolicyName" Text="{Binding RegPolicy.PolicyName}" Margin="0,5,0,0" Grid.Row='0' Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='1' Margin="0,0,5,0">
<Label Content="Policy status" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Enabled will add the registry keys and disable will remove them" />
</StackPanel>
<ComboBox Name="cbADMXRegPolicyStatus" Margin="0,5,0,0" MinWidth="250" Grid.Row='1' Grid.Column="1" HorizontalAlignment="Left"
DisplayMemberPath="Name" SelectedValuePath="Value" SelectedValue="{Binding RegPolicy.PolicyStatus}" />
<StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,0,5,0">
<Label Content="Registry hive" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="HKLM for machine settings and HKCU for user settings" />
</StackPanel>
<ComboBox Name="cbADMXRegHive" Margin="0,5,0,0" MinWidth="250" Grid.Row='2' Grid.Column="1" HorizontalAlignment="Left"
DisplayMemberPath="Name" SelectedValuePath="Value" SelectedValue="{Binding RegPolicy.Hive}" />
<StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0">
<Label Content="Reg key" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Path to the registry value" />
</StackPanel>
<TextBox Name="txtADMXRegKey" Text="{Binding RegPolicy.Key}" Margin="0,5,0,0" Grid.Row='3' Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='5' Margin="0,0,5,0">
<Label Content="Policy value" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the registry value to set if the policy is enabled/disabled" />
</StackPanel>
<TextBox Name="txtADMXRegPolicyValueName" Text="{Binding RegPolicy.StatusValueName}" Margin="0,5,0,0" Grid.Row='5' Grid.Column="1" />
</Grid>
<Separator Grid.Row='1' Grid.ColumnSpan="2" Margin="0,5,0,5" />
<Grid Name="grdADMXRegPolicyElement" Grid.Row='2'>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="250" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row='0' TextWrapping="Wrap" Grid.ColumnSpan="2">
Add registry values that should be created/removed in the specified registry key
</TextBlock>
<StackPanel Orientation="Horizontal" Grid.Row='1' Margin="0,0,5,0">
<Label Content="Data type" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="HKLM for machine settings and HKCU for user settings" />
</StackPanel>
<ComboBox Name="cbADMXRegElementDataType" Margin="0,5,0,0" MinWidth="250" Grid.Row='1' Grid.Column="1" HorizontalAlignment="Left"
DisplayMemberPath="Name" SelectedValuePath="Value" SelectedValue="{Binding PolicyElement.DataType}" />
<StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,0,5,0">
<Label Content="Key" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Optional. Only required if the reg value is located in a different key than specified for the policy" />
</StackPanel>
<TextBox Name="txtADMXRegElementKey" Text="{Binding PolicyElement.Key}" Margin="0,5,0,0" Grid.Row='2' Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0">
<Label Content="Value name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the registry value to add" />
</StackPanel>
<TextBox Name="txtADMXRegElementValueName" Text="{Binding PolicyElement.ValueName}" Margin="0,5,0,0" Grid.Row='3' Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='4' Margin="0,0,5,0">
<Label Content="Value" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Value to set" />
</StackPanel>
<TextBox Name="txtADMXRegElementValue" Text="{Binding PolicyElement.Value}" Margin="0,5,0,0" Grid.Row='4' Grid.Column="1" />
<StackPanel Grid.Row='5' Grid.Column='1' Orientation="Horizontal" Margin="0,5,0,0" >
<Button Name="btnADMXRegElementAdd" Content="Add" MinWidth="100" />
<Button Name="btnADMXRegElementNew" Content="Update" MinWidth="100" Visibility="Collapsed" />
</StackPanel>
<Rectangle Grid.Column="2" VerticalAlignment="Stretch" Fill="Black" Width="1" Margin="5,0,5,0" Grid.RowSpan="99"/>
<Grid Grid.Column="3" Grid.RowSpan="99">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row='0' TextWrapping="Wrap" Grid.ColumnSpan="2">
Additional value settings
</TextBlock>
<StackPanel Orientation="Horizontal" Grid.Row='1' Margin="0,0,5,0">
<Label Content="Do not overwrite" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attribute: sotf - Do not overwrite existing value" />
</StackPanel>
<CheckBox Name="chkADMXRegAttributeSoft" IsChecked="{Binding PolicyElement.AttributeSoft}" Margin="0,5,0,0" Grid.Row='1' Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,0,5,0" Name="spADMXRegAttributeExpandable" Visibility="Collapsed" >
<Label Content="Expandable string" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attribute: expandable - Create(REG_EXPAND_SZ) instead of a string type (REG_SZ)" />
</StackPanel>
<CheckBox Name="chkADMXRegAttributeExpandable" IsChecked="{Binding PolicyElement.AttributeExpandable}" Margin="0,5,0,0" Grid.Row='2' Grid.Column="1" Visibility="Collapsed" />
<StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0" Name="spADMXRegAttributeAdditive" Visibility="Collapsed" >
<Label Content="Additive" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attribute: additive - Add the list value to an existing list. Existing values will be kept" />
</StackPanel>
<CheckBox Name="chkADMXRegAttributeAdditive" IsChecked="{Binding PolicyElement.AttributeAdditive}" Margin="0,5,0,0" Grid.Row='3' Grid.Column="1" Visibility="Collapsed" />
<StackPanel Orientation="Horizontal" Grid.Row='4' Margin="0,0,5,0" Name="spADMXRegAttributeValuePrefix" Visibility="Collapsed" >
<Label Content="Value prefix" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attribute: valuePrefix - Add the list value to an existing list. Existing values will be kept" />
</StackPanel>
<TextBox Name="txtADMXRegAttributeValuePrefix" Text="{Binding PolicyElement.AttributePrefix}" Margin="0,5,0,0" Grid.Row='4' Grid.Column="1" Visibility="Collapsed" />
<StackPanel Orientation="Horizontal" Grid.Row='5' Margin="0,0,5,0" Name="spADMXRegAttributeValueSeparator" Visibility="Collapsed" >
<Label Content="Separator" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify separator for List and MultiText values. ; is default." />
</StackPanel>
<TextBox Name="txtADMXRegAttributeValueSeparator" Width='50' MaxLength="1" HorizontalAlignment="Left" Margin="0,5,0,0" Grid.Row='5' Grid.Column="1" Visibility="Collapsed" />
</Grid>
</Grid>
<Grid Name="grdADMXRegPolicyElements" Grid.Row='3'>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,0,5,0">
<Label Content="Added reg values" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Reg values added to the profile" VerticalAlignment="Top" Margin="0,7,0,0" />
</StackPanel>
<DataGrid Name="dgADMXRegAddedElements" Margin="0,5,0,0" MinWidth="250" Grid.Column="1"
AutoGenerateColumns="False"
SelectionMode="Single"
SelectionUnit="FullRow"
CanUserAddRows="False"
ItemsSource="{Binding RegPolicy.PolicyElements}">
<DataGrid.Columns>
<DataGridTextColumn Header="Value Name" Binding="{Binding ValueName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="Data type" Binding="{Binding DataTypeDisplayString, Mode=OneWay}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="Value" Binding="{Binding Value}" IsReadOnly="True" Width="1*" />
<DataGridTextColumn Header="Key" Binding="{Binding Key}" IsReadOnly="True" Width="Auto" />
</DataGrid.Columns>
</DataGrid>
</Grid>
<StackPanel Grid.Row="4" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXRegAddNew" Content="Save" MinWidth="100" Margin="0,0,5,0" />
<Button Name="btnADMXRegCancel" Content="Cancel" MinWidth="100" />
</StackPanel>
</Grid>

View File

@@ -0,0 +1,49 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TabControl Margin="5,5,0,0" Name="tcADMXPolicyConfig">
<TabItem Header="Policy">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Name:" />
<TextBox Grid.Column="2" Text="{Binding IntuneName}" />
<TextBlock Text="Description:" Grid.Row="2" />
<TextBox Grid.Column="2" Grid.Row="2" AcceptsReturn="True" Height="40" Text="{Binding IntuneComment}" />
<TextBlock Text="Settings:" Grid.Row="4" Grid.ColumnSpan="3" />
<DataGrid Grid.Row="5" Grid.ColumnSpan="3" Name="txtADMXSettings" AcceptsReturn="True" />
</Grid>
</TabItem>
<TabItem Header="Json">
</TabItem>
</TabControl>
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXSettingsDoImport" Content="Import" MinWidth="100" Margin="0,0,5,0" />
<Button Name="btnADMXSettingsCancel" Content="Cancel" MinWidth="100" />
</StackPanel>
</Grid>

View File

@@ -0,0 +1,72 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="5" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0">
<Label Content="Custom Profile Name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the name of the custom profile" />
</StackPanel>
<TextBox Text="{Binding ProfileName}" Name="txtADMXRegProfileName" Margin="0,5,5,5" Grid.Row="0" Grid.Column="1"/>
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1">
<Label Content="Custom Profile Description" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Description for the custom profile" />
</StackPanel>
<TextBox Text="{Binding ProfileDescription}" Name="txtADMXRegProfileDescription" Margin="0,5,5,5" Grid.Row="1" Grid.Column="1" />
<StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,0,5,0">
<Label Content="Policy type" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Select policy type, policy or preferences" />
</StackPanel>
<ComboBox Name="cbADMXRegPolicyType" Margin="0,5,0,0" MinWidth="250" Grid.Row='2' Grid.Column="1" HorizontalAlignment="Left"
DisplayMemberPath="Name" SelectedValuePath="Value" SelectedValue="{Binding PolicyType}" />
<StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,0,5,0">
<Label Content="Added reg values" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Reg values added to the policy" VerticalAlignment="Top" Margin="0,7,0,0" />
</StackPanel>
<DataGrid Name="dgADMXRegAddedPolicies" Margin="0,5,0,0" MinWidth="250" Grid.Row='3' Grid.Column="1"
AutoGenerateColumns="False"
SelectionMode="Single"
SelectionUnit="FullRow"
CanUserAddRows="False"
ItemsSource="{Binding ADMXPolicies}">
<DataGrid.Columns>
<DataGridTextColumn Header="Policy name" Binding="{Binding PolicyName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="Hive" Binding="{Binding Hive}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="Path" Binding="{Binding Key}" IsReadOnly="True" Width="Auto" />
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu Name="mnuADMXRegPoliciesContextMenu">
<MenuItem Header="Edit" Name="mnuADMXRegPolicyEdit">
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
</Grid>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXAddRegValue" Content="Add" MinWidth="100" Margin="0,0,5,0" ToolTip="Add new reg value to the profile" />
<Button Name="btnADMXRegClear" Content="Clear" MinWidth="100" Margin="0,0,5,0" ToolTip="Clear current values" />
<Button Name="btnADMXRegImport" Content="Import" MinWidth="100" ToolTip="Create ADMX profile in Intune"/>
</StackPanel>
</Grid>

View File

@@ -0,0 +1,157 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Margin="0,5,0,0" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding Name}" ContentStringFormat="Setting: {0}" />
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" >
<Button Name="btnADMXPreviousSetting" Content="Previous" MinWidth="100" Margin="0,0,5,0" />
<Button Name="btnADMXNextSetting" Content="Next" MinWidth="100" />
</StackPanel>
</Grid>
<Grid Grid.Row="1" Margin="0,5,0,0" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="5" Orientation="Vertical" Margin="5,5,0,0">
<RadioButton GroupName="ADMXSettingStatus" Name="rbADMXSettingNotConfigured" >Not Configured</RadioButton>
<RadioButton GroupName="ADMXSettingStatus" Name="rbADMXSettingEnabled" Margin="0,5,0,0">Enabled</RadioButton>
<RadioButton GroupName="ADMXSettingStatus" Name="rbADMXSettingDisabled" Margin="0,5,0,0">Disabled</RadioButton>
</StackPanel>
<Grid Grid.Column="2" Margin="0,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="Intune OMA-URI name" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the name of the OMA-URI item. Policy name will be used if not specified" />
</StackPanel>
<TextBox Text="" Name="txtADMXSettingName" Grid.Column="2" />
<StackPanel Orientation="Horizontal" Grid.Row="2" VerticalAlignment="Top">
<TextBlock Text="Intune comment:" />
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the name comment of the OMA-URI item. Policy help will be used if not specified" />
</StackPanel>
<TextBox Grid.Row="2" Grid.Column="2" Name="txtADMXSettingComment" Text=""
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
IsReadOnly="True"
Height="75"
Margin="0" AcceptsReturn="True" />
<TextBlock Text="Supported on:" Grid.Row="4" />
<TextBox Grid.Row="4" Grid.Column="2" Text="{Binding SupportedOn}"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
IsReadOnly="True"
Height="40"
Margin="0" AcceptsReturn="True" />
</Grid>
</Grid>
<TabControl Margin="5,5,0,0" Grid.Row="2" Name="tcADMXPolicyConfig">
<TabItem Header="Policy">
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MinWidth="100" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="1*" MinWidth="100" />
</Grid.ColumnDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid Name="grdADMXElements" Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ScrollContentPresenter}}}" />
</ScrollViewer>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
<TextBox Grid.Column="2" Text="{Binding Description}"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
IsReadOnly="True"
TextWrapping="Wrap"
Margin="0" AcceptsReturn="True" />
</Grid>
</TabItem>
<TabItem Header="OMA-URI Settings" Name="tabADMXSettings">
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="String:" Grid.Row="0" Grid.ColumnSpan="3" />
<TextBox Grid.Row="1" Grid.ColumnSpan="3" Name="txtADMXSettings" AcceptsReturn="True" />
<CheckBox Grid.Row='3' Name="chkADMXManualConfig" Content="Manual configuration" Grid.ColumnSpan="3" />
</Grid>
</TabItem>
<TabItem Header="XML Definition">
<TextBox Text="{Binding PolicyDefinition}"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
IsReadOnly="True"
Margin="0" AcceptsReturn="True" />
</TabItem>
</TabControl>
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnADMXSettingsOK" Content="OK" MinWidth="100" Margin="0,0,5,0" />
<Button Name="btnADMXSettingsCancel" Content="Cancel" MinWidth="100" />
</StackPanel>
</Grid>

24
Xaml/NumericUpDown.xaml Normal file
View File

@@ -0,0 +1,24 @@
<Grid Background="Transparent" Margin="0,0,0,0" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Name="tbmain" Grid.ColumnSpan="2" Grid.RowSpan="2"
Text=""
Margin="0,0,0,0" />
<RepeatButton Name="PART_UpButton" BorderThickness="0" Grid.Column="1" Grid.Row="0"
Width="13" Background="Transparent">
<Path Fill="Black" Data="M 0 3 L 6 3 L 3 0 Z"/>
</RepeatButton>
<RepeatButton Name="PART_DownButton" BorderThickness="0" Grid.Column="1" Grid.Row="1"
Width="13" Background="Transparent">
<Path Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/>
</RepeatButton>
</Grid>