Assets/ADLookups.xaml

<Window x:Name="ADLookupsWindow" x:Class="ADLookups_v2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:ADLookups_v2"
    mc:Ignorable="d"
    Title="ADLookups" MinWidth="625" MinHeight="555" Width="625" Height="555" WindowStartupLocation="CenterOwner">
    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="C:\temp\DarkTheme.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>
    <Grid Style="{DynamicResource GridBackground}">
        <TabControl Margin="0,20,0,25" TabStripPlacement="Left">
            <TabItem x:Name="FindObjectTabItem" Header="Find Object" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="auto"/>
                        <ColumnDefinition Width="110"/>
                        <ColumnDefinition Width="auto"/>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="auto"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                        <RowDefinition Height="auto"></RowDefinition>
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" x:Name="FindTabObjectTypeLabel" Text="Object Type" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                    <ComboBox Grid.Column="1" Grid.Row="0" x:Name="FindTabObjectTypeComboBox" TabIndex="2" VerticalAlignment="Center" SelectedIndex="0" Margin="5,5,5,5">
                        <ComboBoxItem Content="User"/>
                        <ComboBoxItem Content="Computer"/>
                        <ComboBoxItem Content="Group"/>
                        <ComboBoxItem Content="Service Account"/>
                        <ComboBoxItem Content="Contact"/>
                    </ComboBox>
                    <TextBlock Grid.Column="2" Grid.Row="0" x:Name="FindTabQueryTextLabel" Text="Query Text" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                    <TextBox Grid.Column="3" Grid.Row="0" x:Name="FindTabQueryTextTextBox" TextWrapping="Wrap" TabIndex="1" VerticalAlignment="Center" Margin="5,5,5,5"/>
                    <Button x:Name="FindTabDropdownButton" Content="6" Margin="5,5,5,5" Padding="5,1,5,1" FontFamily="Marlett" VerticalAlignment="Center" MinHeight="19.96" Grid.Column="4"/>
                    <StackPanel x:Name="FindTabSearchStackPanel" Orientation="Horizontal" Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" Grid.ColumnSpan="2" Visibility="Collapsed">
                        <TextBlock Text="Search Style" HorizontalAlignment="Right" Margin="5,5,5,5" VerticalAlignment="Center"/>
                        <ComboBox x:Name="FindTabSearchStyleComboBox" SelectedIndex="0" Margin="5,5,5,5">
                            <ComboBoxItem Content="*Search*"/>
                            <ComboBoxItem Content="*Search"></ComboBoxItem>
                            <ComboBoxItem Content="Search*"></ComboBoxItem>
                        </ComboBox>
                    </StackPanel>
                    <DataGrid x:Name="FindTabDataGrid" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="5" SelectionMode="Single" SelectionUnit="Cell" HeadersVisibility="Column" Margin="5,5,5,5" ItemsSource="{Binding}">
                        <DataGrid.ContextMenu>
                            <ContextMenu>
                                <MenuItem x:Name="FindTabCopyContextMenuItem" Header="Copy to clipboard"/>
                            </ContextMenu>
                        </DataGrid.ContextMenu>
                        <DataGrid.CellStyle>
                            <Style TargetType="DataGridCell">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Status}" Value="Disabled">
                                        <Setter Property="Background" Value="{DynamicResource Primary}"></Setter>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </DataGrid.CellStyle>
                        <DataGrid.RowStyle>
                            <Style TargetType="DataGridRow">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Status}" Value="Disabled">
                                        <Setter Property="Background" Value="{DynamicResource Primary}"></Setter>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </DataGrid.RowStyle>
                    </DataGrid>
                    <GroupBox Grid.Column="0" Grid.ColumnSpan="5" Grid.Row="3" Header="Output" Margin="5,5,5,0">
                        <TextBox x:Name="FindTabInformationTextBox" IsReadOnly="True" TextWrapping="WrapWithOverflow" BorderThickness="0,0,0,0" MinHeight="45" />
                    </GroupBox>
                </Grid>
            </TabItem>
            <TabItem x:Name="GeneralUserTabItem" Header="General User" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,0,5,5">
                        <TextBlock Text="SamAccountName" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                        <ComboBox x:Name="UserTabSamAccountNameComboBox" VerticalAlignment="Center" Margin="5,5,5,5" IsEditable="True" MinWidth="150"/>
                        <Button x:Name="UserTabLookupButton" Content="Lookup" VerticalAlignment="Center" Padding="15,1,15,1" Margin="5,5,5,5"/>
                    </StackPanel>
                    <TabControl Grid.Row="1">
                        <TabItem Header="User Information">
                            <StackPanel>
                            <GroupBox Header="Active Directory Information" Margin="5,5,5,5">
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                            <RowDefinition Height="Auto"/>
                                        </Grid.RowDefinitions>
                                        <TextBlock Grid.Column="0" Grid.Row="0" Text="First Name" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabFirstNameTextBox" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Column="2" Grid.Row="0" Text="Last Name" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabLastNameTextBox" Grid.Column="3" Grid.Row="0" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Column="0" Grid.Row="1" Text="Distinguished Name" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabDNTextBox" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                        <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Left" Grid.Column="1" Grid.ColumnSpan="3" Margin="5,5,5,5">
                                            <CheckBox x:Name="UserTabEnabledCheckBox" Content="Enabled" Focusable="False" IsHitTestVisible="False" Margin="0,0,5,0"/>
                                            <CheckBox x:Name="UserTabLockedOutCheckBox" Content="Locked Out" Focusable="False" IsHitTestVisible="False" Margin="5,0,5,0"/>
                                        </StackPanel>
 
                                        <TextBlock Grid.Column="0" Grid.Row="3" Text="User Principal Name" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabUPNTextBox" Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Column="0" Grid.Row="4" Text="Department" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabDepartmentTextBox" Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" IsReadOnly="True" Grid.ColumnSpan="2" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Row="5" Text="Office" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabOfficeTextBox" Grid.Column="1" Grid.Row="5" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5" Grid.ColumnSpan="2"/>
 
                                        <TextBlock Grid.Column="2" Grid.Row="3" Text="Office Phone" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabOfficePhoneTextBox" Grid.Column="3" Grid.Row="3" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Column="0" Grid.Row="6" Text="Title" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabTitleTextBox" Grid.Column="1" Grid.Row="6" VerticalAlignment="Center" IsReadOnly="True" Grid.ColumnSpan="2" Margin="5,5,5,5"/>
 
                                        <TextBlock Grid.Row="7" Text="Description" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabDescriptionTextBox" Grid.Column="1" Grid.Row="7" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5" Grid.ColumnSpan="2"/>
 
                                        <TextBlock Grid.Row="8" Text="Creation Date" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                        <TextBox x:Name="UserTabCreationTextBox" Grid.Column="1" Grid.Row="8" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5" Grid.ColumnSpan="2"/>
                                    </Grid>
                                </GroupBox>
                            </StackPanel>
                        </TabItem>
                        <TabItem Header="Manager">
                            <StackPanel>
                            <GroupBox Grid.Row="1" Header="Manager Information" Margin="5,5,5,5">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto"/>
                                        <ColumnDefinition Width="*"/>
                                        <ColumnDefinition Width="Auto"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="auto"/>
                                        <RowDefinition Height="auto"/>
                                    </Grid.RowDefinitions>
                                    <TextBlock Grid.Column="0" Grid.Row="0" Text="SamAccountName" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabManagerSamAccountNameTextBox" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                    <TextBlock Grid.Column="2" Grid.Row="0" Text="UPN" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabManagerUPNTextBox" Grid.Column="3" Grid.Row="0" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Name" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabManagerNameTextBox" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
                                </Grid>
                            </GroupBox>
                            </StackPanel>
                        </TabItem>
                        <TabItem Header="Password Status">
                            <StackPanel>
                            <GroupBox Header="Account Status" Margin="5,5,5,5">
                                <Grid Margin="5,5,5,5">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto"/>
                                        <ColumnDefinition Width="2*"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                        <RowDefinition Height="Auto"/>
                                    </Grid.RowDefinitions>
                                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Password Last Set" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabPasswordLastSetTextBox" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" IsReadOnly="True" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
 
                                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Password Expiration" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabPasswordExpirationTextBox" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" IsReadOnly="True" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
 
                                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Last Bad Attempt" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabLastBadAttemptTextBox" Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" IsReadOnly="True" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
 
                                    <TextBlock Grid.Column="0" Grid.Row="3" Text="Last Logon Date" HorizontalAlignment="Right" Margin="5,5,5,5"/>
                                    <TextBox x:Name="UserTabLastLogonDateTextBox" Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" IsReadOnly="True" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
                                    <StackPanel Grid.Column="1" Orientation="Horizontal" Grid.Row="4" Grid.ColumnSpan="2">
                                        <CheckBox x:Name="UserTabPasswordExpiredCheckBox" Content="Password Expired" Focusable="False" IsHitTestVisible="False" Height="20" Margin="5,5,5,5"/>
                                        <CheckBox x:Name="UserTabPasswordNeverExpiresCheckBox" Content="Password Never Expires" Focusable="False" IsHitTestVisible="False" Height="20" Margin="5,5,5,5"/>
                                    </StackPanel>
                                </Grid>
                            </GroupBox>
                            </StackPanel>
                        </TabItem>
                        <TabItem Header="Actions">
                            <StackPanel Margin="5,5,5,5">
                                <StackPanel Orientation="Horizontal" Margin="5,5,5,5">
                                    <Button x:Name="UserTabDisableUserButton" Content="Disable User Account" Margin="5,5,5,5" Padding="5,1,5,1"/>
                                    <Button x:Name="UserTabEnableUserButton" Content="Enable User Account" Margin="5,5,5,5" Padding="5,1,5,1"/>
                                    <Button x:Name="UserTabUnlockUserButton" Content="Unlock User Account" Margin="5,5,5,5" Padding="5,1,5,1"/>
                                </StackPanel>
                                <Grid Margin="5,5,5,5">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="auto"/>
                                        <ColumnDefinition Width="auto"/>
                                        <ColumnDefinition Width="*"/>
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="auto"/>
                                        <RowDefinition Height="auto"/>
                                        <RowDefinition Height="auto"/>
                                    </Grid.RowDefinitions>
                                    <Button x:Name="UserTabResetPasswordButton" Content="Reset Password" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="5,1,5,1" IsEnabled="False" Margin="5,5,5,5"/>
                                    <TextBlock Text="New Password" Grid.Column="1" Margin="5,5,5,5" VerticalAlignment="Center"/>
                                    <TextBox x:Name="UserTabNewPasswordTextBox" Grid.Column="2" IsReadOnly="True" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                </Grid>
                            </StackPanel>
                        </TabItem>
                        <TabItem x:Name="UserTabSCCMCollectionTabItem" Header="SCCM Collections" IsEnabled="False">
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="auto"/>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <StackPanel Orientation="Horizontal" Margin="5,5,5,5">
                                    <Button x:Name="UserTabCollectionButton" Content="Query Collection Membership" Padding="5,1,5,1" Margin="0,5,5,5"/>
                                </StackPanel>
                                <DataGrid x:Name="UserTabCollectionMembershipDataGrid" Grid.Row="1" Margin="5,0,5,5"/>
                            </Grid>
                        </TabItem>
                    </TabControl>
                </Grid>
            </TabItem>
            <TabItem x:Name="UsersGroupsTabItem" Header="User's Groups" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,0,5,5">
                        <TextBlock Text="SamAccountName" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                        <ComboBox x:Name="UsersGroupsTabSamAccountNameComboBox" VerticalAlignment="Center" Margin="5,5,5,5" IsEditable="True" MinWidth="150"/>
                        <Button x:Name="UsersGroupsTabLookupButton" Content="Lookup" VerticalAlignment="Center" Padding="15,1,15,1" Margin="5,5,5,5"/>
                    </StackPanel>
                    <DataGrid x:Name="UsersGroupTabDataGrid" Grid.Row="2" FrozenColumnCount="1" SelectionUnit="Cell" SelectionMode="Single" IsReadOnly="True" HeadersVisibility="Column">
                        <DataGrid.ContextMenu>
                            <ContextMenu>
                                <MenuItem x:Name="UsersGroupTabCopyContextMenuItem" Header="Copy to clipboard"/>
                            </ContextMenu>
                        </DataGrid.ContextMenu>
                    </DataGrid>
                </Grid>
            </TabItem>
            <TabItem x:Name="ExchangeTabItem" Header="User's Exchange" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="auto"></RowDefinition>
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,0,5,5">
                        <TextBlock Text="SamAccountName" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                        <ComboBox x:Name="ExchangeTabSamAccountNameComboBox" VerticalAlignment="Center" Margin="5,5,5,5" IsEditable="True" MinWidth="150"/>
                        <Button x:Name="ExchangeTabLookupButton" Content="Lookup" VerticalAlignment="Center" Padding="15,1,15,1" Margin="5,5,5,5"/>
                    </StackPanel>
                    <GroupBox Grid.Row="2" Header="Exchange On-Premise Information">
                        <Grid Margin="5,5,5,5">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <TextBlock Grid.Row="0" Grid.Column="0" Text="Email Address" Margin="5,5,5,5" HorizontalAlignment="Right"/>
                            <TextBox Grid.Row="0" Grid.Column="1" x:Name="ExchangeTabEmailAddressTextBox" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                            <TextBlock Grid.Row="1" Grid.Column="0" Text="Mailbox Type" Margin="5,5,5,5" HorizontalAlignment="Right"/>
                            <TextBox Grid.Row="1" Grid.Column="1" x:Name="ExchangeTabMailboxTypeTextBox" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
 
                            <CheckBox Grid.Row="2" Grid.Column="1" x:Name="ExchangeTabHiddenInGALCheckBox" Content="Hidden in GAL" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
 
                            <TextBlock Grid.Row="3" Grid.Column="0" Text="Proxy Addresses" Margin="5,5,5,5" HorizontalAlignment="Right"/>
                            <TextBox Grid.Row="3" Grid.Column="1" x:Name="ExchangeTabProxyAddressesTextBox" VerticalAlignment="Top" Height="70" IsReadOnly="True" Margin="5,5,5,5"/>
                        </Grid>
                    </GroupBox>
                </Grid>
            </TabItem>
            <TabItem x:Name="GroupTabItem" Header="Group" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Column="0" Grid.ColumnSpan="4" Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,0,5,5">
                        <TextBlock Text="Group Name" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                        <ComboBox x:Name="GroupTabSamAccountNameComboBox" VerticalAlignment="Center" Margin="5,5,5,5" IsEditable="True" MinWidth="150"/>
                        <Button x:Name="GroupTabLookupButton" Content="Lookup" VerticalAlignment="Center" Padding="15,1,15,1" Margin="5,5,5,5"/>
                    </StackPanel>
                    <GroupBox Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1" Header="Group Information">
                        <Grid Margin="5,5,5,5">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*"></RowDefinition>
                                <RowDefinition Height="*"></RowDefinition>
                                <RowDefinition Height="*"></RowDefinition>
                                <RowDefinition Height="*"></RowDefinition>
                            </Grid.RowDefinitions>
                            <TextBlock Grid.Column="0" Grid.Row="0" Text="Name" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                            <TextBox Grid.Column="1" Grid.Row="0" Name="GroupTabGroupNameTextBox" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
                            <TextBlock Grid.Column="0" Grid.Row="1" Text="SamAccountName" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                            <TextBox Grid.Column="1" Grid.Row="1" Name="GroupTabSamAccountNameTextBox" VerticalAlignment="Center" IsReadOnly="True" Margin="5,5,5,5"/>
                            <TextBlock Grid.Column="0" Grid.Row="2" Text="Distinguished Name" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                            <TextBox Grid.Column="1" Grid.Row="2" Name="GroupTabDNTextBox" Margin="5,5,5,5" TextWrapping="WrapWithOverflow" IsReadOnly="True"/>
                            <TextBlock Grid.Column="0" Grid.Row="3" Text="Email Address" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"></TextBlock>
                            <TextBox Grid.Column="1" Grid.Row="3" Name="GroupTabEmailTextBox" Margin="5,5,5,5" TextWrapping="WrapWithOverflow" IsReadOnly="True"/>
 
                        </Grid>
                    </GroupBox>
                    <GroupBox Grid.Column="0" Grid.Row="2" Header="Group Scope" Margin="0,5,5,5">
                        <StackPanel VerticalAlignment="Top" Margin="5,5,5,5">
                            <RadioButton Content="Domain local" Padding="0,2,0,2" Name="GroupTabDomainLocalRadioButton" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" Margin="0,5,0,5"></RadioButton>
                            <RadioButton Content="Global" Padding="0,2,0,2" Name="GroupTabGlobalRadioButton" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" Margin="0,5,0,5"></RadioButton>
                            <RadioButton Content="Universal" Padding="0,2,0,2" Name="GroupTabUniversalRadioButton" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" Margin="0,5,5,5"></RadioButton>
                        </StackPanel>
                    </GroupBox>
                    <GroupBox Grid.Column="1" Grid.Row="2" Header="Group Type" Margin="0,5,0,5">
                        <StackPanel VerticalAlignment="Top" Margin="5,5,5,5">
                            <RadioButton Content="Security" Padding="0,2,0,2" Name="GroupTabSecurityRadioButton" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" Margin="0,5,0,5"></RadioButton>
                            <RadioButton Content="Distribution" Padding="0,2,0,2" Name="GroupTabDistributionRadioButton" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" Margin="0,5,0,5"/>
                        </StackPanel>
                    </GroupBox>
                    <GroupBox x:Name="GroupTabDescriptionGroupBox" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="3" Header="Description">
                        <!-- BUG this needs fixed so that the height is the area of the group box-->
                        <Canvas x:Name="Canvas" Height="{Binding ElementName=GroupTabDescriptionTextBox, Path=ActualHeight}" VerticalAlignment="Top">
                            <TextBox x:Name="GroupTabDescriptionTextBox" Width="{Binding ElementName=Canvas, Path=ActualWidth}" TextWrapping="Wrap" Margin="2,2,2,2" BorderBrush="#00ABADB3" IsReadOnly="True"></TextBox>
                        </Canvas>
                    </GroupBox>
                    <GroupBox Grid.Column="2" Grid.Row="2" Grid.RowSpan="2" Header="Members" Margin="5,5,0,0">
                        <Grid Margin="5,5,5,5">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="auto"/>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="auto"/>
                            </Grid.RowDefinitions>
                            <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,5,0,5">
                                <RadioButton x:Name="GroupTabMembersRadioButton" Content="Members" IsChecked="True" Margin="0,0,5,5"/>
                                <RadioButton x:Name="GroupTabMembersOfRadioButton" Content="Members Of" Margin="5,0,5,5"/>
                                <CheckBox x:Name="GroupTabMembersRecursiveCheckBox" Content="Recursive" Margin="5,0,0,5"/>
                            </StackPanel>
                            <DataGrid x:Name="GroupTabMembersDataGrid" Grid.Row="1" SelectionUnit="Cell" SelectionMode="Single" IsReadOnly="True" HeadersVisibility="Column">
                                <DataGrid.ContextMenu>
                                    <ContextMenu>
                                        <MenuItem x:Name="GroupTabCopyContextMenuItem" Header="Copy to clipboard"/>
                                        <MenuItem x:Name="GroupTabExportMembersMenuItem" Header="Export to .csv"/>
                                    </ContextMenu>
                                </DataGrid.ContextMenu>
                            </DataGrid>
                            <Label x:Name="GroupTabMemberCountLabel" Content="Member Count:" Grid.Row="2" FontSize="10" Margin="0,5,0,0"/>
                        </Grid>
                    </GroupBox>
                </Grid>
            </TabItem>
            <TabItem x:Name="ComputerTabItem" Header="Computer" Height="40">
                <Grid Margin="5,5,5,5">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal" Margin="5,0,5,5" VerticalAlignment="Center">
                        <Ellipse x:Name="ComputerTabOnlineEllipse" Width="12" Height="12" Fill="#FFE0E0E0" Margin="5,5,5,5"/>
                        <TextBlock x:Name="ComputerTabOnlineTextBlock" Text="Unknown" Margin="0,5,5,5"/>
                    </StackPanel>
                    <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5,0,5,5">
                        <TextBlock Text="Hostname" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                        <ComboBox x:Name="ComputerTabHostNameComboBox" VerticalAlignment="Center" IsEditable="True" MinWidth="150" Margin="5,5,5,5" Width="50"/>
                        <Button x:Name="ComputerTabLookupButton" Content="Lookup" VerticalAlignment="Center" Padding="15,1,15,1" Margin="5,5,5,5"/>
                    </StackPanel>
                    <TabControl Grid.Row="1">
                        <TabItem Header="Queried Information">
                            <ScrollViewer>
                                <Grid Margin="5,5,5,5">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="auto"/>
                                        <RowDefinition Height="auto"/>
                                    </Grid.RowDefinitions>
                                    <GroupBox Header="Computer Information from AD" Margin="5,5,5,0">
                                        <Grid Margin="5,5,5,5">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="Auto"/>
                                                <ColumnDefinition Width="*"/>
                                            </Grid.ColumnDefinitions>
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                                <RowDefinition Height="Auto"></RowDefinition>
                                            </Grid.RowDefinitions>
                                            <TextBlock Grid.Column="0" Grid.Row="0" Text="Hostname" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="0" Name="ComputerTabHostnameTextBox" VerticalAlignment="Center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="1">
                                                <CheckBox Content="Enabled" Name="ComputerTabEnabledCheckBox" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" IsTabStop="False" Margin="5,5,5,5"/>
                                                <CheckBox Content="Locked Out" Name="ComputerTabLockedOutCheckBox" VerticalContentAlignment="Center" Focusable="False" IsHitTestVisible="False" IsTabStop="False" Margin="5,5,5,5"/>
                                            </StackPanel>
 
                                            <TextBlock Grid.Column="0" Grid.Row="2" Text="OU Path" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="2" Name="ComputerTabOUPathTextBox" VerticalAlignment="Center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <TextBlock Grid.Column="0" Grid.Row="3" Text="Operating System" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="3" Name="ComputerTabOSTextBox" VerticalAlignment="Center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <TextBlock Grid.Column="0" Grid.Row="4" Text="IP Address" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="4" Name="ComputerTabIPAddressTextBox" VerticalAlignment="Center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <TextBlock Grid.Column="0" Grid.Row="5" Text="Creation Date" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="5" Name="ComputerTabCreationDateTextBox" VerticalAlignment="Center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <TextBlock Grid.Column="0" Grid.Row="6" Text="Last Logon Date" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="6" Name="ComputerTabLastLogonDateTextBox" VerticalAlignment="center" Margin="5,5,5,5" IsReadOnly="True"/>
 
                                            <TextBlock Grid.Column="0" Grid.Row="7" Text="Description" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,5,5,5"/>
                                            <TextBox Grid.Column="1" Grid.Row="7" Grid.ColumnSpan="2" Name="ComputerTabDescriptionTextBox" VerticalAlignment="center" Margin="5,5,5,5" IsReadOnly="True"/>
                                        </Grid>
                                    </GroupBox>
                                    <GroupBox Header="Group Memberships" Grid.Row="1" Margin="5,5,5,5">
                                        <StackPanel Margin="5,5,5,5">
                                            <StackPanel Orientation="Horizontal" Margin="0,5,5,5">
                                                <Button x:Name="ComputerTabAddGroupButton" Content="Add to a group" Margin="0,0,5,0" Padding="5,1,5,1"/>
                                            </StackPanel>
                                            <DataGrid x:Name="ComputerTabGroupsDataGrid" HeadersVisibility="Column" MinHeight="50" Margin="0,5,0,0">
                                                <DataGrid.ContextMenu>
                                                    <ContextMenu>
                                                        <MenuItem x:Name="ComputerTabCopyContextMenuItem" Header="Copy to clipboard"/>
                                                        <MenuItem x:Name="ComputerTabRemoveFromGroupMenuItem" Header="Remove from group"/>
                                                    </ContextMenu>
                                                </DataGrid.ContextMenu>
                                            </DataGrid>
                                        </StackPanel>
                                    </GroupBox>
                                </Grid>
                            </ScrollViewer>
                        </TabItem>
                        <TabItem Header="Actions">
                            <StackPanel Margin="5,5,5,5">
                                <StackPanel Orientation="Horizontal" Margin="0,5,0,5">
                                    <Button x:Name="ComputerTabShowApplicationsButton" Content="Display Software" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                    <Button x:Name="ComputerTabShowInstalledUpdatesButton" Content="Display Updates" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                    <Button x:Name="ComputerTabProcessesButton" Content="Running Processes" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                    <Button x:Name="ComputerTabServicesButton" Content="List Services" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                </StackPanel>
                                <StackPanel Orientation="Horizontal" Margin="0,0,0,5">
                                    <Button x:Name="ComputerTabRSOPButton" Content="RSOP Report" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                    <Button x:Name="ComputerTabCDollarButton" Content="Open C$ Share" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5,5,5,5" Padding="5,1,5,1" Width="110"/>
                                </StackPanel>
                                <GroupBox Header="Live Information" Margin="5,5,5,5">
                                    <Grid Margin="5,5,5,5">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition Width="*"/>
                                        </Grid.ColumnDefinitions>
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                            <RowDefinition Height="Auto"></RowDefinition>
                                        </Grid.RowDefinitions>
                                        <StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
                                            <Button x:Name="ComputerTabQueryLiveButton" Content="Query" Margin="0,5,5,5" Padding="10,1,10,1"/>
                                        </StackPanel>
                                        <TextBlock Grid.Column="0" Grid.Row="1" Text="Logged In Users" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,5,5,5"/>
                                        <TextBox Grid.Column="1" Grid.Row="1" x:Name="ComputerTabLoggedInUsersTextBox" Margin="5,5,5,5" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True"/>
                                        <TextBlock Grid.Column="0" Grid.Row="2" Text="Uptime" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,5,5,5"/>
                                        <TextBox Grid.Column="1" Grid.Row="2" x:Name="ComputerTabUptimeTextBox" Margin="5,5,5,5"/>
                                        <CheckBox x:Name="ComputerTabRebootRequiredCheckBox" Grid.Column="1" Grid.Row="3" Content="Reboot Required" Focusable="False" IsHitTestVisible="False" Margin="5,5,5,5"/>
                                    </Grid>
                                </GroupBox>
                            </StackPanel>
                        </TabItem>
                        <TabItem x:Name="ComputerTabSCCMCollectionsTabItem" Header="SCCM Collections">
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="auto"/>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <StackPanel Orientation="Horizontal" Margin="5,5,5,5">
                                    <Button x:Name="ComputerTabCollectionButton" Content="Query Collection Membership" Padding="5,1,5,1" Margin="0,5,5,5"/>
                                </StackPanel>
                                <DataGrid x:Name="ComputerTabCollectionMembershipDataGrid" Grid.Row="1" Margin="5,0,5,5" HeadersVisibility="Row"/>
                            </Grid>
                        </TabItem>
                    </TabControl>
                </Grid>
            </TabItem>
        </TabControl>
        <StatusBar VerticalAlignment="Bottom" Height="25" Style="{DynamicResource StatusBar}">
            <StatusBarItem x:Name="StatusStatusBarItem" Content="" VerticalAlignment="Center" Margin="5,0,0,0"/>
            <StatusBarItem x:Name="ConnectedDCStatusBarItem" Content="Connected to: " VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,5,0"/>
        </StatusBar>
        <Menu VerticalAlignment="Top" Height="20">
            <MenuItem Header="File">
                <MenuItem x:Name="UpdateCacheMenuItem" Header="Update AD Cached Objects"/>
                <MenuItem x:Name="UpdateSCCMDevicesMenuItem" Header="Update SCCM Devices Cache"/>
                <Separator/>
                <MenuItem x:Name="ExitMenuItem" Header="_Exit"/>
            </MenuItem>
        </Menu>
    </Grid>
</Window>