chore: sync LIAM solution snapshot incl. diagnostics tooling

- update multiple LIAM projects and solution/config files

- add LiamWorkflowDiagnostics app sources and generated outputs

- include current workspace state (dependencies and build outputs)
This commit is contained in:
Meik
2026-02-27 09:12:34 +01:00
parent f563d78417
commit 3d4f60d83e
721 changed files with 936335 additions and 653393 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@@ -0,0 +1,8 @@
<Application x:Class="LiamWorkflowDiagnostics.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>

View File

@@ -0,0 +1,8 @@
using System.Windows;
namespace LiamWorkflowDiagnostics
{
public partial class App : Application
{
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{2D7FADB7-3F21-4D4F-9A60-639746F1B1B1}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>LiamWorkflowDiagnostics</RootNamespace>
<AssemblyName>LiamWorkflowDiagnostics</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60DC8134-EBA5-43B8-BCC9-BB4BC16C2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<Deterministic>false</Deterministic>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WindowsBase" />
<Reference Include="System.Configuration" />
<Reference Include="System.Drawing" />
</ItemGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json">
<HintPath>..\_shared\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LIAMActiveDirectory\LiamActiveDirectory.csproj">
<Project>{AECA0AD2-8B91-4767-9AFA-E160F6662DBE}</Project>
<Name>LIAMActiveDirectory</Name>
</ProjectReference>
<ProjectReference Include="..\LiamBaseClasses\LiamBaseClasses.csproj">
<Project>{3531C9E6-CF6E-458E-B604-4A5A8D1C7AB0}</Project>
<Name>LiamBaseClasses</Name>
</ProjectReference>
<ProjectReference Include="..\LiamExchange\LiamExchange.csproj">
<Project>{12586A29-BB1E-49B4-B971-88E520D6A77C}</Project>
<Name>LiamExchange</Name>
</ProjectReference>
<ProjectReference Include="..\LiamHelper\LiamHelper.csproj">
<Project>{6B0E73A6-F918-42D5-9525-D59D4D16283D}</Project>
<Name>LiamHelper</Name>
</ProjectReference>
<ProjectReference Include="..\LiamWorkflowActivities\LiamWorkflowActivities.csproj">
<Project>{5840BB2D-88BF-4E1C-8FF6-510305894B42}</Project>
<Name>LiamWorkflowActivities</Name>
</ProjectReference>
<ProjectReference Include="..\LiamMsTeams\LiamMsTeams.csproj">
<Project>{DACBD3DC-1866-4B39-964A-D2A8DEA2774C}</Project>
<Name>LiamMsTeams</Name>
</ProjectReference>
<ProjectReference Include="..\LiamNtfs\LiamNtfs.csproj">
<Project>{7F3085F7-1B7A-4DB2-B66F-1B69CCB0002F}</Project>
<Name>LiamNtfs</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="..\SharedAssemblyInfo.cs">
<Link>Properties\SharedAssemblyInfo.cs</Link>
</Compile>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="ProviderTestSession.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LiamWorkflowDiagnostics", "LiamWorkflowDiagnostics.csproj", "{6B730F27-FC06-1F9E-36E9-CB1A479B1995}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6B730F27-FC06-1F9E-36E9-CB1A479B1995}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B730F27-FC06-1F9E-36E9-CB1A479B1995}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B730F27-FC06-1F9E-36E9-CB1A479B1995}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B730F27-FC06-1F9E-36E9-CB1A479B1995}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D8F6E68C-C066-4FBE-9C91-E3FFE4EC9910}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,253 @@
<Window x:Class="LiamWorkflowDiagnostics.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="LIAM Workflow Diagnostics" Width="1100"
WindowStartupLocation="CenterScreen">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<Grid Margin="12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<GroupBox Header="Provider Settings" Grid.Row="0" Margin="0,0,0,8">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="160"/>
<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"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Config Class ID" Grid.Row="0" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="ProviderConfigIdTextBox"
Grid.Row="0" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Config Object ID" Grid.Row="0" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="ProviderConfigObjectIdTextBox"
Grid.Row="0" Grid.Column="3" Margin="0,0,0,8" Height="26"/>
<TextBlock Text="Provider Type" Grid.Row="1" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<ComboBox x:Name="ProviderTypeCombo"
Grid.Row="1" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Domain" Grid.Row="1" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="DomainTextBox"
Grid.Row="1" Grid.Column="3" Margin="0,0,0,8" Height="26"/>
<TextBlock Text="Target / Root Path" Grid.Row="2" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="RootPathTextBox"
Grid.Row="2" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Max Depth" Grid.Row="2" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="MaxDepthTextBox"
Grid.Row="2" Grid.Column="3" Margin="0,0,0,8" Height="26"/>
<TextBlock Text="Group Filter" Grid.Row="3" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="GroupFilterTextBox"
Grid.Row="3" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Group Path / OU" Grid.Row="3" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="GroupPathTextBox"
Grid.Row="3" Grid.Column="3" Margin="0,0,0,8" Height="26"/>
<TextBlock Text="Data Area Filter" Grid.Row="4" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="DataAreaFilterTextBox"
Grid.Row="4" Grid.Column="1" Margin="0,0,16,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Data Area Regex" Grid.Row="4" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="DataAreaRegexTextBox"
Grid.Row="4" Grid.Column="3" Margin="0,0,0,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Group Strategy" Grid.Row="5" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<ComboBox x:Name="GroupStrategyCombo"
Grid.Row="5" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Group Regex" Grid.Row="5" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="GroupRegexTextBox"
Grid.Row="5" Grid.Column="3" Margin="0,0,0,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Traverse Group" Grid.Row="6" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="TraverseGroupTextBox"
Grid.Row="6" Grid.Column="1" Margin="0,0,16,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Owner Group (Global)" Grid.Row="6" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="OwnerGroupGlobalTextBox"
Grid.Row="6" Grid.Column="3" Margin="0,0,0,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Owner Group (Local)" Grid.Row="7" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="OwnerGroupLocalTextBox"
Grid.Row="7" Grid.Column="1" Margin="0,0,16,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Write Group (Global)" Grid.Row="7" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="WriteGroupGlobalTextBox"
Grid.Row="7" Grid.Column="3" Margin="0,0,0,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Write Group (Local)" Grid.Row="8" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="WriteGroupLocalTextBox"
Grid.Row="8" Grid.Column="1" Margin="0,0,16,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Read Group (Global)" Grid.Row="8" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="ReadGroupGlobalTextBox"
Grid.Row="8" Grid.Column="3" Margin="0,0,0,8" Height="26" Visibility="Collapsed"/>
<TextBlock Text="Read Group (Local)" Grid.Row="9" Grid.Column="0" Margin="0,0,8,0" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="ReadGroupLocalTextBox"
Grid.Row="9" Grid.Column="1" Margin="0,0,16,0" Height="26" Visibility="Collapsed"/>
</Grid>
</GroupBox>
<GroupBox Header="Credentials" Grid.Row="1" Margin="0,0,0,8">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="160"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Account (UPN / User)" Grid.Row="0" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="CredentialUserTextBox"
Grid.Row="0" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Credential Domain" Grid.Row="0" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="CredentialDomainTextBox"
Grid.Row="0" Grid.Column="3" Margin="0,0,0,8" Height="26"/>
<TextBlock Text="Password / Secret" Grid.Row="1" Grid.Column="0" Margin="0,0,8,0" VerticalAlignment="Center"/>
<PasswordBox x:Name="CredentialPasswordBox"
Grid.Row="1" Grid.Column="1" Margin="0,0,16,0" Height="26"/>
<TextBlock Text="Mask in log as" Grid.Row="1" Grid.Column="2" Margin="0,0,8,0" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBox x:Name="MaskTokenTextBox"
Grid.Row="1" Grid.Column="3" Margin="0,0,0,0" Height="26" Text="***" Visibility="Collapsed"/>
</Grid>
</GroupBox>
<GroupBox Header="License &amp; Matrix42 Environment" Grid.Row="2" Margin="0,0,0,8">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="180"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="160"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Portal Server Name" Grid.Row="0" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Center"/>
<TextBox x:Name="ServerNameTextBox"
Grid.Row="0" Grid.Column="1" Margin="0,0,16,8" Height="26"/>
<TextBlock Text="Use HTTPS" Grid.Row="0" Grid.Column="2" Margin="0,0,8,8" VerticalAlignment="Center" Visibility="Collapsed"/>
<CheckBox x:Name="UseHttpsCheckBox"
Grid.Row="0" Grid.Column="3" VerticalAlignment="Center" Visibility="Collapsed"/>
<TextBlock Text="License XML (raw string)" Grid.Row="1" Grid.Column="0" Margin="0,0,8,8" VerticalAlignment="Top"/>
<TextBox x:Name="LicenseTextBox"
Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Margin="0,0,0,8"
Height="120" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
<TextBlock Text="Optional: provide JSON to load provider data (sanitized output from logs)" Grid.Row="2" Grid.Column="0" Margin="0,0,8,0" VerticalAlignment="Top"/>
<TextBox x:Name="RawJsonTextBox"
Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Margin="0,0,0,0"
Height="120" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
</Grid>
</GroupBox>
<Expander Header="Advanced Configuration (Optional)" Grid.Row="3" Margin="0,0,0,8" IsExpanded="False">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Margin="0,0,12,0">
<TextBlock Text="Additional Configuration (key=value per line)" Margin="0,0,0,4"/>
<TextBox x:Name="AdditionalConfigTextBox"
Height="120" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Margin="0,0,12,0">
<TextBlock Text="Custom Tags (key=value per line)" Margin="0,0,0,4"/>
<TextBox x:Name="CustomTagsTextBox"
Height="120" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="2">
<TextBlock Text="Naming Conventions JSON Array" Margin="0,0,0,4"/>
<TextBox x:Name="NamingConventionsTextBox"
Height="120" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Orientation="Horizontal" Margin="0,12,0,0">
<TextBlock Text="Tip: leave blank fields untouched if not required by the chosen provider." Foreground="Gray" VerticalAlignment="Center"/>
</StackPanel>
</Grid>
</Expander>
<StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,8">
<Button x:Name="LoadJsonButton" Content="Load JSON" Width="110" Margin="0,0,8,0" Click="LoadJsonButton_Click"/>
<Button x:Name="ExportJsonButton" Content="Export Sanitized JSON" Width="170" Margin="0,0,8,0" Click="ExportJsonButton_Click"/>
<Button x:Name="InitializeButton" Content="Initialize Provider" Width="160" Margin="0,0,8,0" Click="InitializeButton_Click"/>
<Button x:Name="FetchDataAreasButton" Content="Fetch Data Areas" Width="160" Margin="0,0,8,0" Click="FetchDataAreasButton_Click"/>
<Button x:Name="FetchSecurityGroupsButton" Content="Fetch Security Groups" Width="170" Margin="0,0,8,0" Click="FetchSecurityGroupsButton_Click"/>
<Button x:Name="ClearLogButton" Content="Clear Log" Width="110" Click="ClearLogButton_Click"/>
</StackPanel>
<GroupBox Header="Result" Grid.Row="5" Margin="0,0,0,8">
<Grid Margin="10">
<TextBox x:Name="ResultTextBox"
TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto"/>
</Grid>
</GroupBox>
<GroupBox Header="Session Log" Grid.Row="6">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="StatusTextBlock" Grid.Row="0" Margin="0,0,0,6" Foreground="Gray"/>
<ListBox x:Name="LogListBox" Grid.Row="1"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
</Grid>
</GroupBox>
</Grid>
</ScrollViewer>
</Window>

View File

@@ -0,0 +1,910 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;
using C4IT.LIAM;
using C4IT.Logging;
using C4IT.Matrix42.ServerInfo;
using LiamWorkflowActivities;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace LiamWorkflowDiagnostics
{
public partial class MainWindow : Window
{
private readonly ObservableCollection<string> _logEntries = new ObservableCollection<string>();
private ProviderTestSession _session;
private readonly string _settingsPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "LiamWorkflowDiagnostics.settings.json");
public MainWindow()
{
InitializeComponent();
LogListBox.ItemsSource = _logEntries;
InitializeLogging();
InitializeCombos();
MaxDepthTextBox.Text = "1";
LoadSettings();
this.Closing += MainWindow_Closing;
AppendLog("Diagnostics tool bereit.");
}
private void InitializeLogging()
{
try
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var logDirectory = Path.Combine(baseDir, "logs");
Directory.CreateDirectory(logDirectory);
var logPath = Path.Combine(logDirectory, "LiamWorkflowDiagnostics.log");
cLogManagerFile.CreateInstance(logPath);
cLogManager.Instance.Level = LogLevels.Debug;
AppendLog($"Logdatei: {logPath} (Level: Debug)");
}
catch (Exception ex)
{
AppendLog($"Konnte Logging nicht initialisieren: {ex.Message}", LogLevels.Warning);
}
}
private void InitializeCombos()
{
var providerTypes = new[]
{
eLiamProviderTypes.MsTeams,
eLiamProviderTypes.Ntfs,
eLiamProviderTypes.ActiveDirectory,
eLiamProviderTypes.Exchange
};
ProviderTypeCombo.ItemsSource = providerTypes;
ProviderTypeCombo.SelectedItem = eLiamProviderTypes.MsTeams;
GroupStrategyCombo.ItemsSource = Enum.GetValues(typeof(eLiamGroupStrategies)).Cast<eLiamGroupStrategies>();
GroupStrategyCombo.SelectedItem = eLiamGroupStrategies.Ntfs_AGDLP;
FetchDataAreasButton.IsEnabled = false;
FetchSecurityGroupsButton.IsEnabled = false;
}
private void AppendLog(string message, LogLevels level = LogLevels.Info)
{
if (message == null)
{
message = string.Empty;
}
void AddEntry()
{
var timestamped = $"{DateTime.Now:HH:mm:ss} {message}";
_logEntries.Add(timestamped);
LogListBox.ScrollIntoView(timestamped);
StatusTextBlock.Text = message;
}
if (!Dispatcher.CheckAccess())
{
Dispatcher.Invoke(AddEntry);
}
else
{
AddEntry();
}
try
{
cLogManager.DefaultLogger?.LogEntry(level, message);
}
catch { /* ignore */ }
}
private void AppendLogMultiline(string text, LogLevels level = LogLevels.Info)
{
if (string.IsNullOrEmpty(text))
return;
foreach (var line in text.Split(new[] { "\r\n", "\n" }, StringSplitOptions.None))
{
AppendLog(line, level);
}
}
private async void InitializeButton_Click(object sender, RoutedEventArgs e)
{
ToggleActionButtons(false);
try
{
var providerData = BuildProviderDataFromFields();
var maskToken = string.IsNullOrWhiteSpace(MaskTokenTextBox.Text) ? "***" : MaskTokenTextBox.Text.Trim();
var providerConfigClassId = (ProviderConfigIdTextBox.Text ?? string.Empty).Trim();
var providerConfigObjectId = (ProviderConfigObjectIdTextBox.Text ?? string.Empty).Trim();
ApplyMatrix42Environment(ServerNameTextBox.Text, UseHttpsCheckBox.IsChecked ?? false);
ApplyLicense(LicenseTextBox.Text);
_session = new ProviderTestSession(msg => AppendLog(msg));
var success = await _session.InitializeAsync(providerData, maskToken, CreateProviderInstance, providerConfigClassId, providerConfigObjectId);
if (success)
{
AppendLog("Provider initialisiert und authentifiziert.", LogLevels.Info);
FetchDataAreasButton.IsEnabled = true;
FetchSecurityGroupsButton.IsEnabled = true;
ResultTextBox.Text = _session.SanitizedConfigJson;
}
else
{
AppendLog("Initialisierung fehlgeschlagen. Prüfe Log für Details.", LogLevels.Error);
FetchDataAreasButton.IsEnabled = false;
FetchSecurityGroupsButton.IsEnabled = false;
}
}
catch (Exception ex)
{
AppendLog($"Fehler bei Initialisierung: {ex.Message}", LogLevels.Error);
MessageBox.Show(this, ex.ToString(), "Initialisierung fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Error);
}
finally
{
ToggleActionButtons(true);
}
}
private void ToggleActionButtons(bool enabled)
{
InitializeButton.IsEnabled = enabled;
LoadJsonButton.IsEnabled = enabled;
ExportJsonButton.IsEnabled = enabled;
}
private void ClearLogButton_Click(object sender, RoutedEventArgs e)
{
_logEntries.Clear();
StatusTextBlock.Text = string.Empty;
AppendLog("Log gelöscht.", LogLevels.Debug);
}
private void LoadSettings()
{
ToolSettings settings = null;
try
{
if (File.Exists(_settingsPath))
{
var json = File.ReadAllText(_settingsPath, Encoding.UTF8);
settings = JsonConvert.DeserializeObject<ToolSettings>(json);
}
}
catch (Exception ex)
{
AppendLog($"Einstellungen konnten nicht geladen werden: {ex.Message}", LogLevels.Warning);
}
if (settings == null)
{
settings = new ToolSettings();
}
ApplySettingsToUi(settings);
}
private void ApplySettingsToUi(ToolSettings settings)
{
if (settings == null)
return;
if (Enum.IsDefined(typeof(eLiamProviderTypes), settings.ProviderType))
ProviderTypeCombo.SelectedItem = (eLiamProviderTypes)settings.ProviderType;
DomainTextBox.Text = settings.Domain ?? string.Empty;
RootPathTextBox.Text = settings.RootPath ?? string.Empty;
MaxDepthTextBox.Text = string.IsNullOrWhiteSpace(settings.MaxDepth) ? "1" : settings.MaxDepth;
GroupFilterTextBox.Text = settings.GroupFilter ?? string.Empty;
GroupPathTextBox.Text = settings.GroupPath ?? string.Empty;
DataAreaFilterTextBox.Text = settings.DataAreaFilter ?? string.Empty;
DataAreaRegexTextBox.Text = settings.DataAreaRegex ?? string.Empty;
GroupRegexTextBox.Text = settings.GroupRegex ?? string.Empty;
TraverseGroupTextBox.Text = settings.TraverseGroup ?? string.Empty;
OwnerGroupGlobalTextBox.Text = settings.OwnerGroupGlobal ?? string.Empty;
OwnerGroupLocalTextBox.Text = settings.OwnerGroupLocal ?? string.Empty;
WriteGroupGlobalTextBox.Text = settings.WriteGroupGlobal ?? string.Empty;
WriteGroupLocalTextBox.Text = settings.WriteGroupLocal ?? string.Empty;
ReadGroupGlobalTextBox.Text = settings.ReadGroupGlobal ?? string.Empty;
ReadGroupLocalTextBox.Text = settings.ReadGroupLocal ?? string.Empty;
CredentialUserTextBox.Text = settings.CredentialUser ?? string.Empty;
CredentialDomainTextBox.Text = settings.CredentialDomain ?? string.Empty;
MaskTokenTextBox.Text = settings.MaskToken ?? "***";
AdditionalConfigTextBox.Text = settings.AdditionalConfiguration ?? string.Empty;
CustomTagsTextBox.Text = settings.CustomTags ?? string.Empty;
NamingConventionsTextBox.Text = settings.NamingConventions ?? string.Empty;
RawJsonTextBox.Text = settings.RawJson ?? string.Empty;
ProviderConfigIdTextBox.Text = settings.ProviderConfigClassId ?? string.Empty;
ProviderConfigObjectIdTextBox.Text = settings.ProviderConfigObjectId ?? string.Empty;
ServerNameTextBox.Text = settings.ServerName ?? string.Empty;
UseHttpsCheckBox.IsChecked = settings.UseHttps;
LicenseTextBox.Text = settings.License ?? string.Empty;
if (Enum.IsDefined(typeof(eLiamGroupStrategies), settings.GroupStrategy))
GroupStrategyCombo.SelectedItem = (eLiamGroupStrategies)settings.GroupStrategy;
}
private void SaveSettings()
{
try
{
var settings = new ToolSettings
{
ProviderType = ProviderTypeCombo.SelectedItem is eLiamProviderTypes type ? (int)type : (int)eLiamProviderTypes.MsTeams,
Domain = DomainTextBox.Text ?? string.Empty,
RootPath = RootPathTextBox.Text ?? string.Empty,
MaxDepth = MaxDepthTextBox.Text ?? string.Empty,
GroupFilter = GroupFilterTextBox.Text ?? string.Empty,
GroupPath = GroupPathTextBox.Text ?? string.Empty,
DataAreaFilter = DataAreaFilterTextBox.Text ?? string.Empty,
DataAreaRegex = DataAreaRegexTextBox.Text ?? string.Empty,
GroupRegex = GroupRegexTextBox.Text ?? string.Empty,
TraverseGroup = TraverseGroupTextBox.Text ?? string.Empty,
OwnerGroupGlobal = OwnerGroupGlobalTextBox.Text ?? string.Empty,
OwnerGroupLocal = OwnerGroupLocalTextBox.Text ?? string.Empty,
WriteGroupGlobal = WriteGroupGlobalTextBox.Text ?? string.Empty,
WriteGroupLocal = WriteGroupLocalTextBox.Text ?? string.Empty,
ReadGroupGlobal = ReadGroupGlobalTextBox.Text ?? string.Empty,
ReadGroupLocal = ReadGroupLocalTextBox.Text ?? string.Empty,
CredentialUser = CredentialUserTextBox.Text ?? string.Empty,
CredentialDomain = CredentialDomainTextBox.Text ?? string.Empty,
MaskToken = MaskTokenTextBox.Text ?? "***",
AdditionalConfiguration = AdditionalConfigTextBox.Text ?? string.Empty,
CustomTags = CustomTagsTextBox.Text ?? string.Empty,
NamingConventions = NamingConventionsTextBox.Text ?? string.Empty,
RawJson = RawJsonTextBox.Text ?? string.Empty,
ProviderConfigClassId = ProviderConfigIdTextBox.Text ?? string.Empty,
ProviderConfigObjectId = ProviderConfigObjectIdTextBox.Text ?? string.Empty,
ServerName = ServerNameTextBox.Text ?? string.Empty,
UseHttps = UseHttpsCheckBox.IsChecked ?? false,
License = LicenseTextBox.Text ?? string.Empty,
GroupStrategy = GroupStrategyCombo.SelectedItem is eLiamGroupStrategies gs ? (int)gs : (int)eLiamGroupStrategies.Ntfs_AGDLP
};
var directory = Path.GetDirectoryName(_settingsPath);
if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory))
Directory.CreateDirectory(directory);
var json = JsonConvert.SerializeObject(settings, Formatting.Indented);
File.WriteAllText(_settingsPath, json, Encoding.UTF8);
}
catch (Exception ex)
{
AppendLog($"Einstellungen konnten nicht gespeichert werden: {ex.Message}", LogLevels.Warning);
}
}
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
SaveSettings();
}
private async void FetchDataAreasButton_Click(object sender, RoutedEventArgs e)
{
if (_session?.Provider == null)
{
AppendLog("Kein Provider initialisiert.", LogLevels.Warning);
return;
}
try
{
var maxDepth = _session.Provider.MaxDepth >= 0 ? _session.Provider.MaxDepth : 1;
AppendLog($"Lese DataAreas (MaxDepth={maxDepth}) ...");
var areas = await _session.Provider.getDataAreasAsync(maxDepth);
if (areas == null)
{
var providerMessage = _session.Provider.GetLastErrorMessage();
if (_session.Provider is cLiamProviderExchange exchangeProvider)
{
var code = exchangeProvider.GetLastErrorCode();
if (string.IsNullOrWhiteSpace(code))
code = "EXCH_GET_DATAAREAS_FAILED";
AppendLog($"DataAreas-Call fehlgeschlagen [{code}]: {providerMessage}", LogLevels.Error);
}
else
{
AppendLog($"DataAreas-Call fehlgeschlagen: {providerMessage}", LogLevels.Error);
}
ResultTextBox.Text = "[]";
return;
}
if (areas.Count == 0)
{
AppendLog("Keine DataAreas gefunden.", LogLevels.Warning);
ResultTextBox.Text = "[]";
return;
}
var entries = ConvertDataAreas(areas);
var json = JsonConvert.SerializeObject(entries, Formatting.Indented);
ResultTextBox.Text = json;
AppendLog($"DataAreas erhalten: {entries.Count}");
}
catch (Exception ex)
{
AppendLog($"Fehler beim Laden der DataAreas: {ex.Message}", LogLevels.Error);
MessageBox.Show(this, ex.ToString(), "Fehler beim DataArea-Call", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private async void FetchSecurityGroupsButton_Click(object sender, RoutedEventArgs e)
{
if (_session?.Provider == null)
{
AppendLog("Kein Provider initialisiert.", LogLevels.Warning);
return;
}
try
{
AppendLog($"Lese SecurityGroups (Filter='{_session.Provider.GroupFilter}') ...");
var groups = await _session.Provider.getSecurityGroupsAsync(_session.Provider.GroupFilter);
if (groups == null)
{
var providerMessage = _session.Provider.GetLastErrorMessage();
if (_session.Provider is cLiamProviderExchange exchangeProvider)
{
var code = exchangeProvider.GetLastErrorCode();
if (string.IsNullOrWhiteSpace(code))
code = "EXCH_GET_SECURITYGROUPS_FAILED";
AppendLog($"SecurityGroups-Call fehlgeschlagen [{code}]: {providerMessage}", LogLevels.Error);
}
else
{
AppendLog($"SecurityGroups-Call fehlgeschlagen: {providerMessage}", LogLevels.Error);
}
ResultTextBox.Text = "[]";
return;
}
if (groups.Count == 0)
{
AppendLog("Keine SecurityGroups gefunden.", LogLevels.Warning);
ResultTextBox.Text = "[]";
return;
}
var entries = ConvertSecurityGroups(groups);
var json = JsonConvert.SerializeObject(entries, Formatting.Indented);
ResultTextBox.Text = json;
AppendLog($"SecurityGroups erhalten: {entries.Count}");
}
catch (Exception ex)
{
AppendLog($"Fehler beim Laden der SecurityGroups: {ex.Message}", LogLevels.Error);
MessageBox.Show(this, ex.ToString(), "Fehler beim SecurityGroup-Call", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private void LoadJsonButton_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(RawJsonTextBox.Text))
{
AppendLog("Kein JSON zum Laden vorhanden.", LogLevels.Warning);
return;
}
try
{
var data = ParseProviderDataFromInput(RawJsonTextBox.Text);
if (data == null)
{
AppendLog("JSON enthielt keine gültigen Providerdaten.", LogLevels.Error);
return;
}
PopulateFields(data);
AppendLog("Providerdaten aus JSON übernommen.");
}
catch (Exception ex)
{
AppendLog($"JSON konnte nicht geparst werden: {ex.Message}", LogLevels.Error);
MessageBox.Show(this, ex.ToString(), "JSON-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private cLiamProviderData ParseProviderDataFromInput(string input)
{
if (string.IsNullOrWhiteSpace(input))
return null;
try
{
var token = JToken.Parse(input);
return ParseProviderDataFromToken(token);
}
catch (JsonReaderException)
{
// Fallback: direkter Versuch, falls nur der reine Provider-Datensatz eingegeben wurde.
return JsonConvert.DeserializeObject<cLiamProviderData>(input);
}
}
private cLiamProviderData ParseProviderDataFromToken(JToken token)
{
if (token == null)
return null;
switch (token.Type)
{
case JTokenType.Object:
var obj = (JObject)token;
SetProviderIdentifiersFromObject(obj);
// Wenn der Export-Endpunkt verwendet wurde, liegt die Konfiguration im Feld "configuration".
var configurationProperty = obj.Properties()
.FirstOrDefault(p => string.Equals(p.Name, "configuration", StringComparison.OrdinalIgnoreCase));
if (configurationProperty != null)
{
var configToken = configurationProperty.Value;
var provider = configToken?.ToObject<cLiamProviderData>();
if (provider == null)
return null;
var sanitizedProperty = obj.Properties()
.FirstOrDefault(p => string.Equals(p.Name, "sanitizedJson", StringComparison.OrdinalIgnoreCase));
if (sanitizedProperty?.Value != null && sanitizedProperty.Value.Type == JTokenType.String)
{
var sanitized = sanitizedProperty.Value.Value<string>();
if (!string.IsNullOrWhiteSpace(sanitized))
RawJsonTextBox.Text = sanitized;
}
else
{
RawJsonTextBox.Text = JsonConvert.SerializeObject(provider, Formatting.Indented);
}
return provider;
}
// Alternativ: ein Objekt mit direkt eingebettetem Sanitized JSON.
var sanitizedJsonProperty = obj.Properties()
.FirstOrDefault(p => string.Equals(p.Name, "sanitizedJson", StringComparison.OrdinalIgnoreCase));
if (sanitizedJsonProperty?.Value != null)
{
var sanitized = sanitizedJsonProperty.Value.Type == JTokenType.String
? sanitizedJsonProperty.Value.Value<string>()
: sanitizedJsonProperty.Value.ToString();
if (!string.IsNullOrWhiteSpace(sanitized))
{
RawJsonTextBox.Text = sanitized;
return JsonConvert.DeserializeObject<cLiamProviderData>(sanitized);
}
}
// Wenn nichts davon zutrifft, versuchen wir das Objekt direkt zu konvertieren.
var direct = obj.ToObject<cLiamProviderData>();
if (direct != null)
RawJsonTextBox.Text = JsonConvert.SerializeObject(direct, Formatting.Indented);
return direct;
case JTokenType.String:
var json = token.Value<string>();
if (string.IsNullOrWhiteSpace(json))
return null;
RawJsonTextBox.Text = json;
return JsonConvert.DeserializeObject<cLiamProviderData>(json);
default:
return token.ToObject<cLiamProviderData>();
}
}
private void SetProviderIdentifiersFromObject(JObject obj)
{
if (obj == null)
return;
var classIdProp = obj.Properties().FirstOrDefault(p => string.Equals(p.Name, "providerconfigclassid", StringComparison.OrdinalIgnoreCase));
if (classIdProp?.Value != null)
{
var value = classIdProp.Value.Type == JTokenType.String ? classIdProp.Value.Value<string>() : classIdProp.Value.ToString();
ProviderConfigIdTextBox.Text = value?.Trim();
}
var objectIdProp = obj.Properties().FirstOrDefault(p => string.Equals(p.Name, "providerconfigobjectid", StringComparison.OrdinalIgnoreCase));
if (objectIdProp?.Value != null)
{
var value = objectIdProp.Value.Type == JTokenType.String ? objectIdProp.Value.Value<string>() : objectIdProp.Value.ToString();
ProviderConfigObjectIdTextBox.Text = value?.Trim();
}
}
private void ExportJsonButton_Click(object sender, RoutedEventArgs e)
{
try
{
var providerData = BuildProviderDataFromFields();
var maskToken = string.IsNullOrWhiteSpace(MaskTokenTextBox.Text) ? "***" : MaskTokenTextBox.Text.Trim();
var sanitized = ProviderTestSession.BuildSanitizedJson(providerData, maskToken);
ResultTextBox.Text = sanitized;
AppendLog("Provider-Konfiguration als sanitisiertes JSON exportiert.");
}
catch (Exception ex)
{
AppendLog($"Export fehlgeschlagen: {ex.Message}", LogLevels.Error);
MessageBox.Show(this, ex.ToString(), "Export-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private cLiamProviderBase CreateProviderInstance(cLiamProviderData data)
{
if (data == null)
throw new ArgumentNullException(nameof(data));
data.ReplaceCustomTags();
var configuration = new cLiamConfiguration();
switch (data.ProviderType)
{
case eLiamProviderTypes.MsTeams:
return new cLiamProviderMsTeams(configuration, data);
case eLiamProviderTypes.Ntfs:
return new cLiamProviderNtfs(configuration, data);
case eLiamProviderTypes.ActiveDirectory:
return new cLiamProviderAD(configuration, data);
case eLiamProviderTypes.Exchange:
return new cLiamProviderExchange(configuration, data);
default:
throw new NotSupportedException($"ProviderType '{data.ProviderType}' wird nicht unterstützt.");
}
}
private cLiamProviderData BuildProviderDataFromFields()
{
if (!(ProviderTypeCombo.SelectedItem is eLiamProviderTypes providerType) || providerType == eLiamProviderTypes.Unknown)
throw new InvalidOperationException("Bitte einen Provider-Typ auswählen.");
var additional = ParseKeyValueLines(AdditionalConfigTextBox.Text, "Additional Configuration");
var customTags = ParseKeyValueLines(CustomTagsTextBox.Text, "Custom Tags");
var namingConventions = ParseNamingConventions(NamingConventionsTextBox.Text);
var password = CredentialPasswordBox.Password ?? string.Empty;
var credentialDomain = string.IsNullOrWhiteSpace(CredentialDomainTextBox.Text)
? DomainTextBox.Text?.Trim()
: CredentialDomainTextBox.Text.Trim();
if (string.IsNullOrWhiteSpace(password))
throw new InvalidOperationException("Bitte ein Kennwort für den Logon hinterlegen.");
var data = new cLiamProviderData
{
ProviderType = providerType,
Domain = DomainTextBox.Text?.Trim() ?? string.Empty,
RootPath = RootPathTextBox.Text?.Trim() ?? string.Empty,
MaxDepth = ParseInt(MaxDepthTextBox.Text, 1),
GroupFilter = GroupFilterTextBox.Text?.Trim() ?? string.Empty,
GroupPath = GroupPathTextBox.Text?.Trim() ?? string.Empty,
GroupStrategy = GroupStrategyCombo.SelectedItem is eLiamGroupStrategies gs ? gs : eLiamGroupStrategies.None,
DataAreaFilter = DataAreaFilterTextBox.Text?.Trim() ?? string.Empty,
DataAreaRegEx = DataAreaRegexTextBox.Text?.Trim() ?? string.Empty,
GroupRegEx = GroupRegexTextBox.Text?.Trim() ?? string.Empty,
TraverseGroup = TraverseGroupTextBox.Text?.Trim() ?? string.Empty,
OwnerGroupGlobal = OwnerGroupGlobalTextBox.Text?.Trim() ?? string.Empty,
OwnerGroupLocal = OwnerGroupLocalTextBox.Text?.Trim() ?? string.Empty,
WriteGroupGlobal = WriteGroupGlobalTextBox.Text?.Trim() ?? string.Empty,
WriteGroupLocal = WriteGroupLocalTextBox.Text?.Trim() ?? string.Empty,
ReadGroupGlobal = ReadGroupGlobalTextBox.Text?.Trim() ?? string.Empty,
ReadGroupLocal = ReadGroupLocalTextBox.Text?.Trim() ?? string.Empty,
Credential = new cLiamCredential
{
Domain = credentialDomain ?? string.Empty,
Identification = CredentialUserTextBox.Text?.Trim() ?? string.Empty,
Secret = password
},
AdditionalConfiguration = additional,
CustomTags = customTags,
NamingConventions = namingConventions
};
if (string.IsNullOrWhiteSpace(data.Credential.Identification))
throw new InvalidOperationException("Bitte ein Konto für den Logon hinterlegen.");
SaveSettings();
return data;
}
private Dictionary<string, string> ParseKeyValueLines(string text, string context)
{
var result = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
if (string.IsNullOrWhiteSpace(text))
return result;
var lines = text.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
var trimmed = line.Trim();
if (trimmed.Length == 0 || trimmed.StartsWith("#"))
continue;
var parts = trimmed.Split(new[] { '=' }, 2);
if (parts.Length != 2)
throw new InvalidOperationException($"{context}: Ungültige Zeile '{line}'. Verwende Format key=value.");
result[parts[0].Trim()] = parts[1].Trim();
}
return result;
}
private List<cLiamNamingConvention> ParseNamingConventions(string text)
{
if (string.IsNullOrWhiteSpace(text))
return new List<cLiamNamingConvention>();
try
{
return JsonConvert.DeserializeObject<List<cLiamNamingConvention>>(text) ?? new List<cLiamNamingConvention>();
}
catch (Exception ex)
{
throw new InvalidOperationException($"Naming Conventions JSON ungültig: {ex.Message}");
}
}
private List<DataAreaEntry> ConvertDataAreas(IEnumerable<cLiamDataAreaBase> dataAreas)
{
var result = new List<DataAreaEntry>();
foreach (var dataArea in dataAreas ?? Enumerable.Empty<cLiamDataAreaBase>())
{
var ntfs = dataArea as cLiamNtfsFolder;
var adGroup = dataArea as cLiamAdGroupAsDataArea;
var exchMailbox = dataArea as cLiamExchangeSharedMailbox;
var exchDistribution = dataArea as cLiamExchangeDistributionGroup;
var owner = exchMailbox?.OwnerGroupIdentifier
?? exchDistribution?.OwnerGroupIdentifier
?? adGroup?.ManagedBySID
?? ntfs?.OwnerGroupIdentifier
?? string.Empty;
var write = exchMailbox != null
? exchMailbox.FullAccessGroupSid
: exchDistribution != null
? exchDistribution.MemberGroupSid
: adGroup?.UID
?? ntfs?.WriteGroupIdentifier
?? string.Empty;
var read = exchMailbox != null
? exchMailbox.SendAsGroupSid
: ntfs?.ReadGroupIdentifier
?? string.Empty;
var traverse = ntfs?.TraverseGroupIdentifier ?? string.Empty;
var created = ntfs?.CreatedDate ?? string.Empty;
var description = adGroup?.Description ?? string.Empty;
result.Add(new DataAreaEntry
{
DisplayName = dataArea.DisplayName ?? string.Empty,
UID = dataArea.UID ?? string.Empty,
TechnicalName = dataArea.TechnicalName ?? string.Empty,
Description = description,
TargetType = ((int)dataArea.Provider.ProviderType).ToString(),
ParentUID = dataArea.ParentUID ?? string.Empty,
Level = dataArea.Level.ToString(),
Owner = owner,
Write = write,
Read = read,
Traverse = traverse,
CreatedDate = created,
ConfigurationId = !string.IsNullOrWhiteSpace(_session?.ProviderConfigObjectId)
? _session.ProviderConfigObjectId
: (!string.IsNullOrWhiteSpace(_session?.ProviderConfigId) ? _session.ProviderConfigId : string.Empty),
BaseFolder = ntfs?.Share?.TechnicalName ?? dataArea.Provider?.RootPath ?? string.Empty,
UniqueId = dataArea.UID ?? string.Empty,
DataAreaType = ((int)dataArea.DataType).ToString()
});
}
return result;
}
private List<SecurityGroupEntry> ConvertSecurityGroups(IEnumerable<cLiamDataAreaBase> groups)
{
var result = new List<SecurityGroupEntry>();
foreach (var sg in groups ?? Enumerable.Empty<cLiamDataAreaBase>())
{
var entry = new SecurityGroupEntry
{
DisplayName = sg.TechnicalName ?? sg.DisplayName ?? string.Empty,
TechnicalName = sg.UID ?? string.Empty,
TargetType = ((int)sg.Provider.ProviderType).ToString()
};
switch (sg)
{
case cLiamAdGroup adGroup:
entry.UID = adGroup.dn;
entry.Scope = adGroup.scope;
break;
case cLiamAdGroup2 adGroup2:
entry.UID = adGroup2.dn;
entry.Scope = adGroup2.scope;
break;
case cLiamExchangeSecurityGroup exchangeGroup:
entry.UID = exchangeGroup.dn;
break;
default:
entry.UID = sg.UID;
break;
}
result.Add(entry);
}
return result;
}
private void PopulateFields(cLiamProviderData data)
{
if (data == null)
return;
if (Enum.IsDefined(typeof(eLiamProviderTypes), data.ProviderType))
ProviderTypeCombo.SelectedItem = data.ProviderType;
DomainTextBox.Text = data.Domain ?? string.Empty;
RootPathTextBox.Text = data.RootPath ?? string.Empty;
MaxDepthTextBox.Text = data.MaxDepth.ToString();
GroupFilterTextBox.Text = data.GroupFilter ?? string.Empty;
GroupPathTextBox.Text = data.GroupPath ?? string.Empty;
DataAreaFilterTextBox.Text = data.DataAreaFilter ?? string.Empty;
DataAreaRegexTextBox.Text = data.DataAreaRegEx ?? string.Empty;
GroupRegexTextBox.Text = data.GroupRegEx ?? string.Empty;
TraverseGroupTextBox.Text = data.TraverseGroup ?? string.Empty;
OwnerGroupGlobalTextBox.Text = data.OwnerGroupGlobal ?? string.Empty;
OwnerGroupLocalTextBox.Text = data.OwnerGroupLocal ?? string.Empty;
WriteGroupGlobalTextBox.Text = data.WriteGroupGlobal ?? string.Empty;
WriteGroupLocalTextBox.Text = data.WriteGroupLocal ?? string.Empty;
ReadGroupGlobalTextBox.Text = data.ReadGroupGlobal ?? string.Empty;
ReadGroupLocalTextBox.Text = data.ReadGroupLocal ?? string.Empty;
if (Enum.IsDefined(typeof(eLiamGroupStrategies), data.GroupStrategy))
GroupStrategyCombo.SelectedItem = data.GroupStrategy;
CredentialUserTextBox.Text = data.Credential?.Identification ?? string.Empty;
CredentialDomainTextBox.Text = data.Credential?.Domain ?? string.Empty;
CredentialPasswordBox.Password = string.Empty;
AdditionalConfigTextBox.Text = FormatKeyValueLines(data.AdditionalConfiguration);
CustomTagsTextBox.Text = FormatKeyValueLines(data.CustomTags);
NamingConventionsTextBox.Text = data.NamingConventions != null && data.NamingConventions.Count > 0
? JsonConvert.SerializeObject(data.NamingConventions, Formatting.Indented)
: string.Empty;
SaveSettings();
}
private string FormatKeyValueLines(Dictionary<string, string> source)
{
if (source == null || source.Count == 0)
return string.Empty;
var builder = new StringBuilder();
foreach (var kvp in source)
{
builder.Append(kvp.Key);
builder.Append('=');
builder.AppendLine(kvp.Value);
}
return builder.ToString();
}
private int ParseInt(string value, int fallback)
{
if (int.TryParse(value, out var result))
return result;
return fallback;
}
private void ApplyLicense(string licenseRaw)
{
if (string.IsNullOrWhiteSpace(licenseRaw))
{
AppendLog("Keine Lizenz angegeben. Lizenzprüfung könnte fehlschlagen.", LogLevels.Warning);
return;
}
try
{
if (cC4ITLicenseM42ESM.Instance == null)
_ = new cC4ITLicenseM42ESM(new Guid(cLIAMM42BaseActivity.LiamProductGuid));
cC4ITLicenseM42ESM.Instance.LoadFromString(licenseRaw);
AppendLog($"Lizenz geladen. Gültig: {cC4ITLicenseM42ESM.Instance.IsValid}", cC4ITLicenseM42ESM.Instance.IsValid ? LogLevels.Info : LogLevels.Warning);
}
catch (Exception ex)
{
AppendLog($"Lizenz konnte nicht geladen werden: {ex.Message}", LogLevels.Error);
throw;
}
}
private void ApplyMatrix42Environment(string serverName, bool useHttps)
{
var trimmed = serverName?.Trim();
if (string.IsNullOrEmpty(trimmed))
{
AppendLog("Kein Portal-Server angegeben. Lizenz muss ggf. \"*\" enthalten.", LogLevels.Warning);
return;
}
try
{
var instance = cMatrix42ServerInfo.DefaultInstance;
if (instance == null)
{
var type = typeof(cMatrix42ServerInfo);
instance = (cMatrix42ServerInfo)Activator.CreateInstance(type, nonPublic: true);
SetProperty(type, instance, "InstallationPath", string.Empty);
}
var lowered = trimmed.ToLowerInvariant();
SetProperty(instance.GetType(), instance, "ServerName", lowered);
SetProperty(instance.GetType(), instance, "IsHttps", useHttps);
var defaultProp = typeof(cMatrix42ServerInfo).GetProperty("DefaultInstance", BindingFlags.Static | BindingFlags.Public);
var setter = defaultProp?.GetSetMethod(true);
setter?.Invoke(null, new object[] { instance });
AppendLog($"Matrix42 ServerInfo gesetzt auf '{lowered}' (HTTPS={(useHttps ? "ja" : "nein")}).");
}
catch (Exception ex)
{
AppendLog($"Matrix42 ServerInfo konnte nicht gesetzt werden: {ex.Message}", LogLevels.Warning);
}
}
private void SetProperty(Type type, object instance, string propertyName, object value)
{
var prop = type.GetProperty(propertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var setter = prop?.GetSetMethod(true);
setter?.Invoke(instance, new[] { value });
}
private class ToolSettings
{
public int ProviderType { get; set; } = (int)eLiamProviderTypes.MsTeams;
public int GroupStrategy { get; set; } = (int)eLiamGroupStrategies.Ntfs_AGDLP;
public string Domain { get; set; } = string.Empty;
public string RootPath { get; set; } = string.Empty;
public string MaxDepth { get; set; } = "1";
public string GroupFilter { get; set; } = string.Empty;
public string GroupPath { get; set; } = string.Empty;
public string DataAreaFilter { get; set; } = string.Empty;
public string DataAreaRegex { get; set; } = string.Empty;
public string GroupRegex { get; set; } = string.Empty;
public string TraverseGroup { get; set; } = string.Empty;
public string OwnerGroupGlobal { get; set; } = string.Empty;
public string OwnerGroupLocal { get; set; } = string.Empty;
public string WriteGroupGlobal { get; set; } = string.Empty;
public string WriteGroupLocal { get; set; } = string.Empty;
public string ReadGroupGlobal { get; set; } = string.Empty;
public string ReadGroupLocal { get; set; } = string.Empty;
public string CredentialUser { get; set; } = string.Empty;
public string CredentialDomain { get; set; } = string.Empty;
public string MaskToken { get; set; } = "***";
public string AdditionalConfiguration { get; set; } = string.Empty;
public string CustomTags { get; set; } = string.Empty;
public string NamingConventions { get; set; } = string.Empty;
public string RawJson { get; set; } = string.Empty;
public string ProviderConfigClassId { get; set; } = string.Empty;
public string ProviderConfigObjectId { get; set; } = string.Empty;
public string ServerName { get; set; } = string.Empty;
public bool UseHttps { get; set; } = false;
public string License { get; set; } = string.Empty;
}
}
}

View File

@@ -0,0 +1,11 @@
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Liam Workflow Diagnostics")]
[assembly: AssemblyDescription("Standalone diagnostics tool for LIAM workflow activities")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("3203b0cb-55d7-48a2-9cf6-d7d8896ce9ef")]

View File

@@ -0,0 +1,82 @@
using System;
using System.Threading.Tasks;
using C4IT.LIAM;
using Newtonsoft.Json;
namespace LiamWorkflowDiagnostics
{
internal class ProviderTestSession
{
private readonly Action<string> _log;
public ProviderTestSession(Action<string> log)
{
_log = log ?? throw new ArgumentNullException(nameof(log));
}
public cLiamProviderBase Provider { get; private set; }
public cLiamProviderData ProviderData { get; private set; }
public string SanitizedConfigJson { get; private set; }
public string ProviderConfigId { get; private set; }
public string ProviderConfigObjectId { get; private set; }
public async Task<bool> InitializeAsync(cLiamProviderData data, string maskToken, Func<cLiamProviderData, cLiamProviderBase> factory, string providerConfigId = null, string providerConfigObjectId = null)
{
if (data == null)
throw new ArgumentNullException(nameof(data));
if (factory == null)
throw new ArgumentNullException(nameof(factory));
ProviderData = Clone(data);
SanitizedConfigJson = BuildSanitizedJson(ProviderData, maskToken);
_log("Sanitisiertes Provider-Setup:");
_log(SanitizedConfigJson);
ProviderConfigId = string.IsNullOrWhiteSpace(providerConfigId) ? null : providerConfigId;
ProviderConfigObjectId = string.IsNullOrWhiteSpace(providerConfigObjectId) ? null : providerConfigObjectId;
if (!string.IsNullOrWhiteSpace(ProviderConfigId))
_log($"Config Class ID: {ProviderConfigId}");
if (!string.IsNullOrWhiteSpace(ProviderConfigObjectId))
_log($"Config Object ID: {ProviderConfigObjectId}");
Provider = factory(ProviderData);
if (Provider == null)
{
_log("Provider-Fabrik lieferte kein Objekt. Prüfe Provider-Typ und Assemblies.");
return false;
}
var success = await Provider.LogonAsync().ConfigureAwait(false);
if (!success)
{
if (Provider is cLiamProviderExchange exchangeProvider)
_log($"Logon fehlgeschlagen [{exchangeProvider.GetLastErrorCode()}]: {Provider.GetLastErrorMessage()}");
else
_log($"Logon fehlgeschlagen: {Provider.GetLastErrorMessage()}");
}
else
_log("Logon erfolgreich.");
return success;
}
public static string BuildSanitizedJson(cLiamProviderData data, string maskToken)
{
if (data == null)
throw new ArgumentNullException(nameof(data));
var clone = Clone(data);
if (clone.Credential != null)
clone.Credential.Secret = string.IsNullOrWhiteSpace(maskToken) ? "***" : maskToken;
return JsonConvert.SerializeObject(clone, Formatting.Indented);
}
private static cLiamProviderData Clone(cLiamProviderData data)
{
var serialized = JsonConvert.SerializeObject(data);
return JsonConvert.DeserializeObject<cLiamProviderData>(serialized);
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,31 @@
{
"ProviderType": 4,
"GroupStrategy": 0,
"Domain": "63hf0m.onmicrosoft.com",
"RootPath": "",
"MaxDepth": "1",
"GroupFilter": "",
"GroupPath": "DC=63hf0m,DC=onmicrosoft,DC=com",
"DataAreaFilter": "",
"DataAreaRegex": "",
"GroupRegex": "",
"TraverseGroup": "",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"CredentialUser": "7320d331-5918-475c-b091-c1a2608312ff",
"CredentialDomain": "63hf0m.onmicrosoft.com",
"MaskToken": "***",
"AdditionalConfiguration": "",
"CustomTags": "ADGroupPrefix=ACL\r\n",
"NamingConventions": "[\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 4,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 1,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 2,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 3,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n }\r\n]",
"RawJson": "{\r\n \"ProviderType\": 4,\r\n \"Domain\": \"63hf0m.onmicrosoft.com\",\r\n \"RootPath\": \"\",\r\n \"Credential\": {\r\n \"Domain\": \"63hf0m.onmicrosoft.com\",\r\n \"Identification\": \"7320d331-5918-475c-b091-c1a2608312ff\",\r\n \"Secret\": \"***\"\r\n },\r\n \"MaxDepth\": 1,\r\n \"GroupStrategy\": 0,\r\n \"DataAreaFilter\": \"\",\r\n \"DataAreaRegEx\": \"\",\r\n \"GroupFilter\": \"\",\r\n \"GroupRegEx\": \"\",\r\n \"GroupPath\": \"DC=63hf0m,DC=onmicrosoft,DC=com\",\r\n \"OwnerGroupGlobal\": \"\",\r\n \"OwnerGroupLocal\": \"\",\r\n \"WriteGroupGlobal\": \"\",\r\n \"WriteGroupLocal\": \"\",\r\n \"ReadGroupGlobal\": \"\",\r\n \"ReadGroupLocal\": \"\",\r\n \"TraverseGroup\": \"\",\r\n \"NamingConventions\": [\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 4,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 1,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 2,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"\",\r\n \"Description\": \"\",\r\n \"NamingTemplate\": \"\",\r\n \"DescriptionTemplate\": \"\",\r\n \"Wildcard\": \"\",\r\n \"AccessRole\": 3,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n }\r\n ],\r\n \"CustomTags\": {\r\n \"ADGroupPrefix\": \"ACL\"\r\n },\r\n \"AdditionalConfiguration\": {}\r\n}",
"ProviderConfigClassId": "fee5af02-92aa-f011-6d87-00155d320632",
"ProviderConfigObjectId": "13cb425f-74ca-c4b4-3216-08de0cb5ad0b",
"ServerName": "di18Q~ZlzZjxryr2YV6dp3X-Ug2tQQU3523Ticrv",
"UseHttps": false,
"License": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<C4IT-License-Info Product=\"C4IT Light Access Management (LIAM)\" Id=\"28757DE2-690F-4D3B-9AB7-4AB7FB630901\">\r\n <License Id=\"7D603031-3CB6-432F-84CF-BFAB8977069D\" Revision=\"1.9\" Type=\"DEMO\" Customer=\"LIAM Demo Lizenz für C4IT internen Gebrauch\" CustomerId=\"A3A5E66E-6A91-44E2-9F3A-F04C67642BCB\" StartDate=\"2025-01-01\" EndDate=\"2025-12-31\" Signature=\"z0so5CkwVp4OUF+7Kikz/jLDZD1JeZGroporgtK4s2BkqN1Bzlsn5X1Zg+Dk8auvCn8mI+6vtwyLgncr+3AQoXkSiCfxzX01WhaFOydpJG+qwn/GErBGjfK7npwFRjCGN5n35dwGzEroJsN5ZE5Fxkg38XSQzF5CgtphpQJhk64=\">\r\n <License-Metrics Type=\"ManagedUsers\" Count=\"10\" />\r\n <Matrix42-ESM>\r\n <Portal Server=\"*\" />\r\n </Matrix42-ESM>\r\n <Modules>\r\n <Module Name=\"MS NTFS\" Id=\"77e213a1-6517-ea11-4881-000c2980fd94\" />\r\n <Module Name=\"MS Teams\" Id=\"2591832a-1b25-ec11-6985-00155d300101\" />\r\n <Module Name=\"Active Directory\" Id=\"e820a625-0653-ee11-b886-00155d300101\" />\r\n <Module Name=\"Exchange\" Id=\"45dbbbd8-defa-ef11-8784-00155d320627\" />\r\n </Modules>\r\n </License>\r\n</C4IT-License-Info>"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,31 @@
{
"ProviderType": 1,
"GroupStrategy": 0,
"Domain": "imagoverum.com",
"RootPath": "\\\\srvwsm001.imagoverum.com\\share",
"MaxDepth": "1",
"GroupFilter": "sAMAccountName=*",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"DataAreaFilter": "",
"DataAreaRegex": "",
"GroupRegex": "",
"TraverseGroup": "",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"CredentialUser": "vvogel@imagoverum.com",
"CredentialDomain": "imagoverum.com",
"MaskToken": "***",
"AdditionalConfiguration": "",
"CustomTags": "Filesystem_GroupReadTag=_R\r\nFilesystem_GroupTraverseTag=_T\r\nFilesystem_GroupWriteTag=_W\r\nFilesystem_GroupOwnerTag=_O\r\nADGroupPrefix=ACL\r\nFilesystem_GroupGlobalTag=G\r\n",
"NamingConventions": "[\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 2,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 3,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 4,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 1,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n }\r\n]",
"RawJson": "{\r\n \"ProviderType\": 1,\r\n \"Domain\": \"imagoverum.com\",\r\n \"RootPath\": \"\\\\\\\\SRVWSM001\\\\share\",\r\n \"Credential\": {\r\n \"Domain\": \"imagoverum.com\",\r\n \"Identification\": \"wsmservices@imagoverum.com\",\r\n \"Secret\": \"***\"\r\n },\r\n \"MaxDepth\": 2,\r\n \"GroupStrategy\": 0,\r\n \"DataAreaFilter\": \"\",\r\n \"DataAreaRegEx\": \"\",\r\n \"GroupFilter\": \"sAMAccountName=*\",\r\n \"GroupRegEx\": \"\",\r\n \"GroupPath\": \"OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com\",\r\n \"OwnerGroupGlobal\": \"\",\r\n \"OwnerGroupLocal\": \"\",\r\n \"WriteGroupGlobal\": \"\",\r\n \"WriteGroupLocal\": \"\",\r\n \"ReadGroupGlobal\": \"\",\r\n \"ReadGroupLocal\": \"\",\r\n \"TraverseGroup\": \"\",\r\n \"NamingConventions\": [\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 2,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 3,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 4,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n },\r\n {\r\n \"Name\": \"Global AGP\",\r\n \"Description\": \"Global AGP\",\r\n \"NamingTemplate\": \"{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}\",\r\n \"DescriptionTemplate\": \"{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}\",\r\n \"Wildcard\": \"^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\\\-\\\\.]*{{GROUPTYPEPOSTFIX}}$\",\r\n \"AccessRole\": 1,\r\n \"Scope\": 2,\r\n \"ProviderType\": null\r\n }\r\n ],\r\n \"CustomTags\": {\r\n \"Filesystem_GroupReadTag\": \"_R\",\r\n \"Filesystem_GroupTraverseTag\": \"_T\",\r\n \"Filesystem_GroupWriteTag\": \"_W\",\r\n \"Filesystem_GroupOwnerTag\": \"_O\",\r\n \"ADGroupPrefix\": \"ACL\",\r\n \"Filesystem_GroupGlobalTag\": \"G\"\r\n },\r\n \"AdditionalConfiguration\": {}\r\n}",
"ProviderConfigClassId": "",
"ProviderConfigObjectId": "5ae0da96-bb48-c753-a8e1-08de37c5629d",
"ServerName": "",
"UseHttps": false,
"License": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<C4IT-License-Info Product=\"C4IT Light Access Management (LIAM)\" Id=\"28757DE2-690F-4D3B-9AB7-4AB7FB630901\">\r\n <License Id=\"7D603031-3CB6-432F-84CF-BFAB8977069D\" Revision=\"1.9\" Type=\"DEMO\" Customer=\"LIAM Demo Lizenz für C4IT internen Gebrauch\" CustomerId=\"A3A5E66E-6A91-44E2-9F3A-F04C67642BCB\" StartDate=\"2025-01-01\" EndDate=\"2025-12-31\" Signature=\"z0so5CkwVp4OUF+7Kikz/jLDZD1JeZGroporgtK4s2BkqN1Bzlsn5X1Zg+Dk8auvCn8mI+6vtwyLgncr+3AQoXkSiCfxzX01WhaFOydpJG+qwn/GErBGjfK7npwFRjCGN5n35dwGzEroJsN5ZE5Fxkg38XSQzF5CgtphpQJhk64=\">\r\n <License-Metrics Type=\"ManagedUsers\" Count=\"10\" />\r\n <Matrix42-ESM>\r\n <Portal Server=\"*\" />\r\n </Matrix42-ESM>\r\n <Modules>\r\n <Module Name=\"MS NTFS\" Id=\"77e213a1-6517-ea11-4881-000c2980fd94\" />\r\n <Module Name=\"MS Teams\" Id=\"2591832a-1b25-ec11-6985-00155d300101\" />\r\n <Module Name=\"Active Directory\" Id=\"e820a625-0653-ee11-b886-00155d300101\" />\r\n <Module Name=\"Exchange\" Id=\"45dbbbd8-defa-ef11-8784-00155d320627\" />\r\n </Modules>\r\n </License>\r\n</C4IT-License-Info>"
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,470 @@
2025-12-10 14:54:05:03407 51188:49988(1) Default Info Logdatei: C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\logs\LiamWorkflowDiagnostics.log (Level: Debug)
2025-12-10 14:54:05:25061 51188:49988(1) Default Info Diagnostics tool bereit.
2025-12-10 14:54:19:10876 51188:49988(1) Default Warning Kein Portal-Server angegeben. Lizenz muss ggf. "*" enthalten.
2025-12-10 14:54:19:13575 51188:49988(1) Default Debug # LiamHelper.dll:C4IT.Matrix42.ServerInfo.cMatrix42ServerInfo.Load begin...
2025-12-10 14:54:19:17276 51188:49988(1) Default Debug # LiamHelper.dll:C4IT.Matrix42.ServerInfo.cMatrix42ServerInfo.Load end.
2025-12-10 14:54:19:17675 51188:49988(1) Default Info Lizenz geladen. Gültig: True
2025-12-10 14:54:19:19176 51188:49988(1) Default Info Sanitisiertes Provider-Setup:
2025-12-10 14:54:19:20775 51188:49988(1) Default Info {
"ProviderType": 1,
"Domain": "imagoverum.com",
"RootPath": "\\\\SRVWSM001\\share",
"Credential": {
"Domain": "imagoverum.com",
"Identification": "wsmservices@imagoverum.com",
"Secret": "***"
},
"MaxDepth": 1,
"GroupStrategy": 0,
"DataAreaFilter": "",
"DataAreaRegEx": "",
"GroupFilter": "sAMAccountName=*",
"GroupRegEx": "",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"TraverseGroup": "",
"NamingConventions": [
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 2,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 3,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 4,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 1,
"Scope": 2,
"ProviderType": null
}
],
"CustomTags": {
"Filesystem_GroupReadTag": "_R",
"Filesystem_GroupTraverseTag": "_T",
"Filesystem_GroupWriteTag": "_W",
"Filesystem_GroupOwnerTag": "_O",
"ADGroupPrefix": "ACL",
"Filesystem_GroupGlobalTag": "G"
},
"AdditionalConfiguration": {}
}
2025-12-10 14:54:19:21775 51188:49988(1) Default Info Config Object ID: 5ae0da96-bb48-c753-a8e1-08de37c5629d
2025-12-10 14:54:19:68899 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:54:20:04216 51188:49988(1) Default Debug exception error while Ntfs login
2025-12-10 14:54:20:07816 51188:49988(1) Default Debug An exception occurred in <privLogonAsync>d__13.MoveNext in cNtfsBase.cs at line 80: Der Benutzername oder das Kennwort ist falsch
Type: System.ComponentModel.Win32Exception
Source: LiamNtfs
TargetSite: MoveNext
HResult: -2147467259(0x80004005)
2025-12-10 14:54:20:07816 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:54:20:08016 51188:49988(1) Default Info Logon fehlgeschlagen: exception error while Ntfs login: Der Benutzername oder das Kennwort ist falsch
2025-12-10 14:54:20:08116 51188:49988(1) Default Error Initialisierung fehlgeschlagen. Prüfe Log für Details.
2025-12-10 14:54:32:57879 51188:49988(1) Default Warning Kein Portal-Server angegeben. Lizenz muss ggf. "*" enthalten.
2025-12-10 14:54:32:58179 51188:49988(1) Default Info Lizenz geladen. Gültig: True
2025-12-10 14:54:32:58279 51188:49988(1) Default Info Sanitisiertes Provider-Setup:
2025-12-10 14:54:32:59079 51188:49988(1) Default Info {
"ProviderType": 1,
"Domain": "imagoverum.com",
"RootPath": "\\\\SRVWSM001\\share",
"Credential": {
"Domain": "imagoverum.com",
"Identification": "wsmservices@imagoverum.com",
"Secret": "***"
},
"MaxDepth": 1,
"GroupStrategy": 0,
"DataAreaFilter": "",
"DataAreaRegEx": "",
"GroupFilter": "sAMAccountName=*",
"GroupRegEx": "",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"TraverseGroup": "",
"NamingConventions": [
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 2,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 3,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 4,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 1,
"Scope": 2,
"ProviderType": null
}
],
"CustomTags": {
"Filesystem_GroupReadTag": "_R",
"Filesystem_GroupTraverseTag": "_T",
"Filesystem_GroupWriteTag": "_W",
"Filesystem_GroupOwnerTag": "_O",
"ADGroupPrefix": "ACL",
"Filesystem_GroupGlobalTag": "G"
},
"AdditionalConfiguration": {}
}
2025-12-10 14:54:32:59779 51188:49988(1) Default Info Config Object ID: 5ae0da96-bb48-c753-a8e1-08de37c5629d
2025-12-10 14:54:32:59882 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:54:32:64679 51188:49988(1) Default Debug exception error while Ntfs login
2025-12-10 14:54:32:64679 51188:49988(1) Default Debug An exception occurred in <privLogonAsync>d__13.MoveNext in cNtfsBase.cs at line 80: Der Netzwerkname wurde nicht gefunden
Type: System.ComponentModel.Win32Exception
Source: LiamNtfs
TargetSite: MoveNext
HResult: -2147467259(0x80004005)
2025-12-10 14:54:32:64679 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:54:32:65080 51188:49988(1) Default Info Logon fehlgeschlagen: exception error while Ntfs login: Der Netzwerkname wurde nicht gefunden
2025-12-10 14:54:32:65279 51188:49988(1) Default Error Initialisierung fehlgeschlagen. Prüfe Log für Details.
2025-12-10 14:54:57:75906 51188:49988(1) Default Warning Kein Portal-Server angegeben. Lizenz muss ggf. "*" enthalten.
2025-12-10 14:54:57:76105 51188:49988(1) Default Info Lizenz geladen. Gültig: True
2025-12-10 14:54:57:76205 51188:49988(1) Default Info Sanitisiertes Provider-Setup:
2025-12-10 14:54:57:77005 51188:49988(1) Default Info {
"ProviderType": 1,
"Domain": "imagoverum.com",
"RootPath": "\\\\srvwsm001.imagoverum.com\\share",
"Credential": {
"Domain": "imagoverum.com",
"Identification": "wsmservices@imagoverum.com",
"Secret": "***"
},
"MaxDepth": 1,
"GroupStrategy": 0,
"DataAreaFilter": "",
"DataAreaRegEx": "",
"GroupFilter": "sAMAccountName=*",
"GroupRegEx": "",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"TraverseGroup": "",
"NamingConventions": [
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 2,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 3,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 4,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 1,
"Scope": 2,
"ProviderType": null
}
],
"CustomTags": {
"Filesystem_GroupReadTag": "_R",
"Filesystem_GroupTraverseTag": "_T",
"Filesystem_GroupWriteTag": "_W",
"Filesystem_GroupOwnerTag": "_O",
"ADGroupPrefix": "ACL",
"Filesystem_GroupGlobalTag": "G"
},
"AdditionalConfiguration": {}
}
2025-12-10 14:54:57:77805 51188:49988(1) Default Info Config Object ID: 5ae0da96-bb48-c753-a8e1-08de37c5629d
2025-12-10 14:54:57:77805 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:55:19:00508 51188:49988(1) Default Debug exception error while Ntfs login
2025-12-10 14:55:19:01209 51188:49988(1) Default Debug An exception occurred in <privLogonAsync>d__13.MoveNext in cNtfsBase.cs at line 80: Mit dem Server konnte keine Verbindung hergestellt werden.
Type: System.DirectoryServices.AccountManagement.PrincipalServerDownException
Source: System.DirectoryServices.AccountManagement
TargetSite: ReadServerConfig
HResult: -2146233087(0x80131501)
Inner Exception: Der LDAP-Server ist nicht verfügbar.
Type: System.DirectoryServices.Protocols.LdapException
Source: System.DirectoryServices.Protocols
TargetSite: Connect
HResult: -2146233088(0x80131500)
2025-12-10 14:55:19:01209 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:55:19:01309 51188:49988(1) Default Info Logon fehlgeschlagen: exception error while Ntfs login: Mit dem Server konnte keine Verbindung hergestellt werden.
2025-12-10 14:55:19:01397 51188:49988(1) Default Error Initialisierung fehlgeschlagen. Prüfe Log für Details.
2025-12-10 14:55:52:16653 51188:49988(1) Default Warning Kein Portal-Server angegeben. Lizenz muss ggf. "*" enthalten.
2025-12-10 14:55:52:17153 51188:49988(1) Default Info Lizenz geladen. Gültig: True
2025-12-10 14:55:52:17253 51188:49988(1) Default Info Sanitisiertes Provider-Setup:
2025-12-10 14:55:52:18855 51188:49988(1) Default Info {
"ProviderType": 1,
"Domain": "imagoverum.com",
"RootPath": "\\\\srvwsm001.imagoverum.com\\share",
"Credential": {
"Domain": "imagoverum.com",
"Identification": "vvogel@imagoverum.com",
"Secret": "***"
},
"MaxDepth": 1,
"GroupStrategy": 0,
"DataAreaFilter": "",
"DataAreaRegEx": "",
"GroupFilter": "sAMAccountName=*",
"GroupRegEx": "",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"TraverseGroup": "",
"NamingConventions": [
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 2,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 3,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 4,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 1,
"Scope": 2,
"ProviderType": null
}
],
"CustomTags": {
"Filesystem_GroupReadTag": "_R",
"Filesystem_GroupTraverseTag": "_T",
"Filesystem_GroupWriteTag": "_W",
"Filesystem_GroupOwnerTag": "_O",
"ADGroupPrefix": "ACL",
"Filesystem_GroupGlobalTag": "G"
},
"AdditionalConfiguration": {}
}
2025-12-10 14:55:52:20102 51188:49988(1) Default Info Config Object ID: 5ae0da96-bb48-c753-a8e1-08de37c5629d
2025-12-10 14:55:52:20110 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:56:13:58601 51188:49988(1) Default Debug exception error while Ntfs login
2025-12-10 14:56:13:58701 51188:49988(1) Default Debug An exception occurred in <privLogonAsync>d__13.MoveNext in cNtfsBase.cs at line 80: Mit dem Server konnte keine Verbindung hergestellt werden.
Type: System.DirectoryServices.AccountManagement.PrincipalServerDownException
Source: System.DirectoryServices.AccountManagement
TargetSite: ReadServerConfig
HResult: -2146233087(0x80131501)
Inner Exception: Der LDAP-Server ist nicht verfügbar.
Type: System.DirectoryServices.Protocols.LdapException
Source: System.DirectoryServices.Protocols
TargetSite: Connect
HResult: -2146233088(0x80131500)
2025-12-10 14:56:13:58701 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:56:13:58801 51188:49988(1) Default Info Logon fehlgeschlagen: exception error while Ntfs login: Mit dem Server konnte keine Verbindung hergestellt werden.
2025-12-10 14:56:13:58901 51188:49988(1) Default Error Initialisierung fehlgeschlagen. Prüfe Log für Details.
2025-12-10 14:58:06:30379 51188:49988(1) Default Warning Kein Portal-Server angegeben. Lizenz muss ggf. "*" enthalten.
2025-12-10 14:58:06:30784 51188:49988(1) Default Info Lizenz geladen. Gültig: True
2025-12-10 14:58:06:30881 51188:49988(1) Default Info Sanitisiertes Provider-Setup:
2025-12-10 14:58:06:31581 51188:49988(1) Default Info {
"ProviderType": 1,
"Domain": "imagoverum.com",
"RootPath": "\\\\srvwsm001.imagoverum.com\\share",
"Credential": {
"Domain": "imagoverum.com",
"Identification": "vvogel@imagoverum.com",
"Secret": "***"
},
"MaxDepth": 1,
"GroupStrategy": 0,
"DataAreaFilter": "",
"DataAreaRegEx": "",
"GroupFilter": "sAMAccountName=*",
"GroupRegEx": "",
"GroupPath": "OU=AGP,OU=LIAM,OU=Global,DC=imagoverum,DC=com",
"OwnerGroupGlobal": "",
"OwnerGroupLocal": "",
"WriteGroupGlobal": "",
"WriteGroupLocal": "",
"ReadGroupGlobal": "",
"ReadGroupLocal": "",
"TraverseGroup": "",
"NamingConventions": [
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 2,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 3,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 4,
"Scope": 2,
"ProviderType": null
},
{
"Name": "Global AGP",
"Description": "Global AGP",
"NamingTemplate": "{{ADGroupPrefix}}_{{RELATIVEPATH}}{{_LOOP}}{{GROUPTYPEPOSTFIX}}",
"DescriptionTemplate": "{{RELATIVEPATH}} - {{GROUPTYPEPOSTFIX}}",
"Wildcard": "^{{ADGroupPrefix}}_[a-zA-ZöäüÖÄÜß0-9_\\-\\.]*{{GROUPTYPEPOSTFIX}}$",
"AccessRole": 1,
"Scope": 2,
"ProviderType": null
}
],
"CustomTags": {
"Filesystem_GroupReadTag": "_R",
"Filesystem_GroupTraverseTag": "_T",
"Filesystem_GroupWriteTag": "_W",
"Filesystem_GroupOwnerTag": "_O",
"ADGroupPrefix": "ACL",
"Filesystem_GroupGlobalTag": "G"
},
"AdditionalConfiguration": {}
}
2025-12-10 14:58:06:32581 51188:49988(1) Default Info Config Object ID: 5ae0da96-bb48-c753-a8e1-08de37c5629d
2025-12-10 14:58:06:32681 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:58:06:39481 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:58:06:39681 51188:49988(1) Default Info Logon erfolgreich.
2025-12-10 14:58:06:39781 51188:49988(1) Default Info Provider initialisiert und authentifiziert.
2025-12-10 14:58:14:75045 51188:49988(1) Default Info Lese DataAreas (MaxDepth=1) ...
2025-12-10 14:58:14:75245 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.getDataAreasAsync begin...
2025-12-10 14:58:14:75345 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync begin...
2025-12-10 14:58:14:77045 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.LogonAsync end.
2025-12-10 14:58:14:77145 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID begin...
2025-12-10 14:58:14:77145 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID end.
2025-12-10 14:58:14:77745 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID begin...
2025-12-10 14:58:14:77745 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID end.
2025-12-10 14:58:14:77745 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID begin...
2025-12-10 14:58:14:77745 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamNtfsFolder.GetUniqueDataAreaID end.
2025-12-10 14:58:14:78245 51188:49988(1) Default Debug # LiamNtfs.dll:LiamNtfs.cActiveDirectoryBase.GetAccessControlList begin...
2025-12-10 14:58:14:78445 51188:49988(1) Default Debug # LiamNtfs.dll:LiamNtfs.cActiveDirectoryBase.GetAccessControlList end.
2025-12-10 14:58:15:00279 51188:49988(1) Default Debug Try matching: ACL_F32_O
2025-12-10 14:58:15:00379 51188:49988(1) Default Debug Try matching: ACL_F32_W
2025-12-10 14:58:15:00479 51188:49988(1) Default Debug Try matching: ACL_F32_R
2025-12-10 14:58:15:00479 51188:49988(1) Default Debug # LiamNtfs.dll:C4IT.LIAM.cLiamProviderNtfs.getDataAreasAsync end.
2025-12-10 14:58:15:01479 51188:49988(1) Default Info DataAreas erhalten: 2

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@@ -0,0 +1,69 @@
#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "B62B1137923D3912411A0C0ACD82ABFF948927ACF1E234ACC2DA07182E0E371D"
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
#line 4 "..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
LiamWorkflowDiagnostics.App app = new LiamWorkflowDiagnostics.App();
app.InitializeComponent();
app.Run();
}
}
}

View File

@@ -0,0 +1,69 @@
#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "B62B1137923D3912411A0C0ACD82ABFF948927ACF1E234ACC2DA07182E0E371D"
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
#line 4 "..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
LiamWorkflowDiagnostics.App app = new LiamWorkflowDiagnostics.App();
app.InitializeComponent();
app.Run();
}
}
}

View File

@@ -0,0 +1 @@
5890d613cdbe02b86ffeb9a852c0d33d32914c7fc13677cbd799f941db59522f

View File

@@ -0,0 +1,39 @@
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamMsTeams.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowDiagnostics.exe.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowDiagnostics.exe
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowDiagnostics.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamActiveDirectory.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamBaseClasses.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamExchange.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamHelper.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamNtfs.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowActivities.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\Newtonsoft.Json.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\System.Management.Automation.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\System.Json.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\Matrix42.Common.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamMsGraph.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\Microsoft.Management.Infrastructure.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamActiveDirectory.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamBaseClasses.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamExchange.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamExchange.dll.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamHelper.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowActivities.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamWorkflowActivities.dll.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamMsTeams.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamNtfs.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\System.Management.Automation.xml
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Debug\LiamMsGraph.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.csproj.AssemblyReference.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.csproj.SuggestedBindingRedirects.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.exe.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\MainWindow.baml
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\MainWindow.g.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\App.g.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics_MarkupCompile.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.g.resources
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.csproj.CoreCompileInputs.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWork.C1E59E64.Up2Date
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.exe
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\LiamWorkflowDiagnostics.pdb

View File

@@ -0,0 +1 @@
1ca0cc254a718603c74e05772c3db01a91d88ee2c1d09bc07150bf95e8eb18cb

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,20 @@
LiamWorkflowDiagnostics
winexe
C#
.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\
LiamWorkflowDiagnostics
none
false
DEBUG;TRACE
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\App.xaml
1219584333
4649805334
23-358439728
MainWindow.xaml;
False

View File

@@ -0,0 +1,20 @@
LiamWorkflowDiagnostics
winexe
C#
.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Debug\
LiamWorkflowDiagnostics
none
false
DEBUG;TRACE
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\App.xaml
1219584333
5-1432283284
23-358439728
MainWindow.xaml;
False

Binary file not shown.

View File

@@ -0,0 +1,542 @@
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "C009B0B8954E81433ABE75889377F93ED23CB4C240B67D165B923F3282AF011A"
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// MainWindow
/// </summary>
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 43 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ProviderConfigIdTextBox;
#line default
#line hidden
#line 47 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ProviderConfigObjectIdTextBox;
#line default
#line hidden
#line 51 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox ProviderTypeCombo;
#line default
#line hidden
#line 55 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DomainTextBox;
#line default
#line hidden
#line 59 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox RootPathTextBox;
#line default
#line hidden
#line 63 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox MaxDepthTextBox;
#line default
#line hidden
#line 67 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupFilterTextBox;
#line default
#line hidden
#line 71 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupPathTextBox;
#line default
#line hidden
#line 75 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DataAreaFilterTextBox;
#line default
#line hidden
#line 79 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DataAreaRegexTextBox;
#line default
#line hidden
#line 83 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox GroupStrategyCombo;
#line default
#line hidden
#line 87 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupRegexTextBox;
#line default
#line hidden
#line 91 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox TraverseGroupTextBox;
#line default
#line hidden
#line 95 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox OwnerGroupGlobalTextBox;
#line default
#line hidden
#line 99 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox OwnerGroupLocalTextBox;
#line default
#line hidden
#line 103 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox WriteGroupGlobalTextBox;
#line default
#line hidden
#line 107 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox WriteGroupLocalTextBox;
#line default
#line hidden
#line 111 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ReadGroupGlobalTextBox;
#line default
#line hidden
#line 115 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ReadGroupLocalTextBox;
#line default
#line hidden
#line 134 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CredentialUserTextBox;
#line default
#line hidden
#line 138 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CredentialDomainTextBox;
#line default
#line hidden
#line 142 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.PasswordBox CredentialPasswordBox;
#line default
#line hidden
#line 146 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox MaskTokenTextBox;
#line default
#line hidden
#line 166 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ServerNameTextBox;
#line default
#line hidden
#line 170 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.CheckBox UseHttpsCheckBox;
#line default
#line hidden
#line 174 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox LicenseTextBox;
#line default
#line hidden
#line 179 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox RawJsonTextBox;
#line default
#line hidden
#line 199 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox AdditionalConfigTextBox;
#line default
#line hidden
#line 205 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CustomTagsTextBox;
#line default
#line hidden
#line 211 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox NamingConventionsTextBox;
#line default
#line hidden
#line 222 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button LoadJsonButton;
#line default
#line hidden
#line 223 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button ExportJsonButton;
#line default
#line hidden
#line 224 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button InitializeButton;
#line default
#line hidden
#line 225 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button FetchDataAreasButton;
#line default
#line hidden
#line 226 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button FetchSecurityGroupsButton;
#line default
#line hidden
#line 227 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button ClearLogButton;
#line default
#line hidden
#line 232 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ResultTextBox;
#line default
#line hidden
#line 244 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock StatusTextBlock;
#line default
#line hidden
#line 245 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListBox LogListBox;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/LiamWorkflowDiagnostics;component/mainwindow.xaml", System.UriKind.Relative);
#line 1 "..\..\MainWindow.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.ProviderConfigIdTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 2:
this.ProviderConfigObjectIdTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 3:
this.ProviderTypeCombo = ((System.Windows.Controls.ComboBox)(target));
return;
case 4:
this.DomainTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 5:
this.RootPathTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 6:
this.MaxDepthTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 7:
this.GroupFilterTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 8:
this.GroupPathTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 9:
this.DataAreaFilterTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 10:
this.DataAreaRegexTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 11:
this.GroupStrategyCombo = ((System.Windows.Controls.ComboBox)(target));
return;
case 12:
this.GroupRegexTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 13:
this.TraverseGroupTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 14:
this.OwnerGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 15:
this.OwnerGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 16:
this.WriteGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 17:
this.WriteGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 18:
this.ReadGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 19:
this.ReadGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 20:
this.CredentialUserTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 21:
this.CredentialDomainTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 22:
this.CredentialPasswordBox = ((System.Windows.Controls.PasswordBox)(target));
return;
case 23:
this.MaskTokenTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 24:
this.ServerNameTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 25:
this.UseHttpsCheckBox = ((System.Windows.Controls.CheckBox)(target));
return;
case 26:
this.LicenseTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 27:
this.RawJsonTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 28:
this.AdditionalConfigTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 29:
this.CustomTagsTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 30:
this.NamingConventionsTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 31:
this.LoadJsonButton = ((System.Windows.Controls.Button)(target));
#line 222 "..\..\MainWindow.xaml"
this.LoadJsonButton.Click += new System.Windows.RoutedEventHandler(this.LoadJsonButton_Click);
#line default
#line hidden
return;
case 32:
this.ExportJsonButton = ((System.Windows.Controls.Button)(target));
#line 223 "..\..\MainWindow.xaml"
this.ExportJsonButton.Click += new System.Windows.RoutedEventHandler(this.ExportJsonButton_Click);
#line default
#line hidden
return;
case 33:
this.InitializeButton = ((System.Windows.Controls.Button)(target));
#line 224 "..\..\MainWindow.xaml"
this.InitializeButton.Click += new System.Windows.RoutedEventHandler(this.InitializeButton_Click);
#line default
#line hidden
return;
case 34:
this.FetchDataAreasButton = ((System.Windows.Controls.Button)(target));
#line 225 "..\..\MainWindow.xaml"
this.FetchDataAreasButton.Click += new System.Windows.RoutedEventHandler(this.FetchDataAreasButton_Click);
#line default
#line hidden
return;
case 35:
this.FetchSecurityGroupsButton = ((System.Windows.Controls.Button)(target));
#line 226 "..\..\MainWindow.xaml"
this.FetchSecurityGroupsButton.Click += new System.Windows.RoutedEventHandler(this.FetchSecurityGroupsButton_Click);
#line default
#line hidden
return;
case 36:
this.ClearLogButton = ((System.Windows.Controls.Button)(target));
#line 227 "..\..\MainWindow.xaml"
this.ClearLogButton.Click += new System.Windows.RoutedEventHandler(this.ClearLogButton_Click);
#line default
#line hidden
return;
case 37:
this.ResultTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 38:
this.StatusTextBlock = ((System.Windows.Controls.TextBlock)(target));
return;
case 39:
this.LogListBox = ((System.Windows.Controls.ListBox)(target));
return;
}
this._contentLoaded = true;
}
}
}

View File

@@ -0,0 +1,542 @@
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "C009B0B8954E81433ABE75889377F93ED23CB4C240B67D165B923F3282AF011A"
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// MainWindow
/// </summary>
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 43 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ProviderConfigIdTextBox;
#line default
#line hidden
#line 47 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ProviderConfigObjectIdTextBox;
#line default
#line hidden
#line 51 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox ProviderTypeCombo;
#line default
#line hidden
#line 55 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DomainTextBox;
#line default
#line hidden
#line 59 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox RootPathTextBox;
#line default
#line hidden
#line 63 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox MaxDepthTextBox;
#line default
#line hidden
#line 67 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupFilterTextBox;
#line default
#line hidden
#line 71 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupPathTextBox;
#line default
#line hidden
#line 75 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DataAreaFilterTextBox;
#line default
#line hidden
#line 79 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox DataAreaRegexTextBox;
#line default
#line hidden
#line 83 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox GroupStrategyCombo;
#line default
#line hidden
#line 87 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox GroupRegexTextBox;
#line default
#line hidden
#line 91 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox TraverseGroupTextBox;
#line default
#line hidden
#line 95 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox OwnerGroupGlobalTextBox;
#line default
#line hidden
#line 99 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox OwnerGroupLocalTextBox;
#line default
#line hidden
#line 103 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox WriteGroupGlobalTextBox;
#line default
#line hidden
#line 107 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox WriteGroupLocalTextBox;
#line default
#line hidden
#line 111 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ReadGroupGlobalTextBox;
#line default
#line hidden
#line 115 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ReadGroupLocalTextBox;
#line default
#line hidden
#line 134 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CredentialUserTextBox;
#line default
#line hidden
#line 138 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CredentialDomainTextBox;
#line default
#line hidden
#line 142 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.PasswordBox CredentialPasswordBox;
#line default
#line hidden
#line 146 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox MaskTokenTextBox;
#line default
#line hidden
#line 166 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ServerNameTextBox;
#line default
#line hidden
#line 170 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.CheckBox UseHttpsCheckBox;
#line default
#line hidden
#line 174 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox LicenseTextBox;
#line default
#line hidden
#line 179 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox RawJsonTextBox;
#line default
#line hidden
#line 199 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox AdditionalConfigTextBox;
#line default
#line hidden
#line 205 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox CustomTagsTextBox;
#line default
#line hidden
#line 211 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox NamingConventionsTextBox;
#line default
#line hidden
#line 222 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button LoadJsonButton;
#line default
#line hidden
#line 223 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button ExportJsonButton;
#line default
#line hidden
#line 224 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button InitializeButton;
#line default
#line hidden
#line 225 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button FetchDataAreasButton;
#line default
#line hidden
#line 226 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button FetchSecurityGroupsButton;
#line default
#line hidden
#line 227 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button ClearLogButton;
#line default
#line hidden
#line 232 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox ResultTextBox;
#line default
#line hidden
#line 244 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock StatusTextBlock;
#line default
#line hidden
#line 245 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListBox LogListBox;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/LiamWorkflowDiagnostics;component/mainwindow.xaml", System.UriKind.Relative);
#line 1 "..\..\MainWindow.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.ProviderConfigIdTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 2:
this.ProviderConfigObjectIdTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 3:
this.ProviderTypeCombo = ((System.Windows.Controls.ComboBox)(target));
return;
case 4:
this.DomainTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 5:
this.RootPathTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 6:
this.MaxDepthTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 7:
this.GroupFilterTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 8:
this.GroupPathTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 9:
this.DataAreaFilterTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 10:
this.DataAreaRegexTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 11:
this.GroupStrategyCombo = ((System.Windows.Controls.ComboBox)(target));
return;
case 12:
this.GroupRegexTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 13:
this.TraverseGroupTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 14:
this.OwnerGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 15:
this.OwnerGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 16:
this.WriteGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 17:
this.WriteGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 18:
this.ReadGroupGlobalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 19:
this.ReadGroupLocalTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 20:
this.CredentialUserTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 21:
this.CredentialDomainTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 22:
this.CredentialPasswordBox = ((System.Windows.Controls.PasswordBox)(target));
return;
case 23:
this.MaskTokenTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 24:
this.ServerNameTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 25:
this.UseHttpsCheckBox = ((System.Windows.Controls.CheckBox)(target));
return;
case 26:
this.LicenseTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 27:
this.RawJsonTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 28:
this.AdditionalConfigTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 29:
this.CustomTagsTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 30:
this.NamingConventionsTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 31:
this.LoadJsonButton = ((System.Windows.Controls.Button)(target));
#line 222 "..\..\MainWindow.xaml"
this.LoadJsonButton.Click += new System.Windows.RoutedEventHandler(this.LoadJsonButton_Click);
#line default
#line hidden
return;
case 32:
this.ExportJsonButton = ((System.Windows.Controls.Button)(target));
#line 223 "..\..\MainWindow.xaml"
this.ExportJsonButton.Click += new System.Windows.RoutedEventHandler(this.ExportJsonButton_Click);
#line default
#line hidden
return;
case 33:
this.InitializeButton = ((System.Windows.Controls.Button)(target));
#line 224 "..\..\MainWindow.xaml"
this.InitializeButton.Click += new System.Windows.RoutedEventHandler(this.InitializeButton_Click);
#line default
#line hidden
return;
case 34:
this.FetchDataAreasButton = ((System.Windows.Controls.Button)(target));
#line 225 "..\..\MainWindow.xaml"
this.FetchDataAreasButton.Click += new System.Windows.RoutedEventHandler(this.FetchDataAreasButton_Click);
#line default
#line hidden
return;
case 35:
this.FetchSecurityGroupsButton = ((System.Windows.Controls.Button)(target));
#line 226 "..\..\MainWindow.xaml"
this.FetchSecurityGroupsButton.Click += new System.Windows.RoutedEventHandler(this.FetchSecurityGroupsButton_Click);
#line default
#line hidden
return;
case 36:
this.ClearLogButton = ((System.Windows.Controls.Button)(target));
#line 227 "..\..\MainWindow.xaml"
this.ClearLogButton.Click += new System.Windows.RoutedEventHandler(this.ClearLogButton_Click);
#line default
#line hidden
return;
case 37:
this.ResultTextBox = ((System.Windows.Controls.TextBox)(target));
return;
case 38:
this.StatusTextBlock = ((System.Windows.Controls.TextBlock)(target));
return;
case 39:
this.LogListBox = ((System.Windows.Controls.ListBox)(target));
return;
}
this._contentLoaded = true;
}
}
}

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@@ -0,0 +1,69 @@
#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "B62B1137923D3912411A0C0ACD82ABFF948927ACF1E234ACC2DA07182E0E371D"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
#line 4 "..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
LiamWorkflowDiagnostics.App app = new LiamWorkflowDiagnostics.App();
app.InitializeComponent();
app.Run();
}
}
}

View File

@@ -0,0 +1,69 @@
#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "B62B1137923D3912411A0C0ACD82ABFF948927ACF1E234ACC2DA07182E0E371D"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace LiamWorkflowDiagnostics {
/// <summary>
/// App
/// </summary>
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
#line 4 "..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
LiamWorkflowDiagnostics.App app = new LiamWorkflowDiagnostics.App();
app.InitializeComponent();
app.Run();
}
}
}

View File

@@ -0,0 +1 @@
8836888ad67fc77accccb8881f8e49e00ab6650a26db43e9362590835a0b82c5

View File

@@ -0,0 +1,39 @@
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamMsTeams.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowDiagnostics.exe.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowDiagnostics.exe
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowDiagnostics.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamActiveDirectory.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamBaseClasses.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamExchange.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamHelper.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamNtfs.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowActivities.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\Newtonsoft.Json.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\System.Management.Automation.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\System.Json.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\Matrix42.Common.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamMsGraph.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\Microsoft.Management.Infrastructure.dll
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamActiveDirectory.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamBaseClasses.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamExchange.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamExchange.dll.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamHelper.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowActivities.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamWorkflowActivities.dll.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamMsTeams.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamNtfs.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\System.Management.Automation.xml
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\bin\Release\LiamMsGraph.pdb
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.csproj.AssemblyReference.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.csproj.SuggestedBindingRedirects.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.exe.config
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\MainWindow.baml
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\MainWindow.g.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\App.g.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics_MarkupCompile.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.g.resources
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.csproj.CoreCompileInputs.cache
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWork.C1E59E64.Up2Date
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.exe
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\LiamWorkflowDiagnostics.pdb

View File

@@ -0,0 +1 @@
1ca0cc254a718603c74e05772c3db01a91d88ee2c1d09bc07150bf95e8eb18cb

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,20 @@
LiamWorkflowDiagnostics
winexe
C#
.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\
LiamWorkflowDiagnostics
none
false
TRACE
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\App.xaml
1219584333
5-1682648851
23-1663194862
MainWindow.xaml;
False

View File

@@ -0,0 +1,20 @@
LiamWorkflowDiagnostics
winexe
C#
.cs
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\obj\Release\
LiamWorkflowDiagnostics
none
false
TRACE
C:\Workspace\C4IT DEV LIAM WEB Service_git\LiamWorkflowDiagnostics\App.xaml
1219584333
6-126913863
23-1663194862
MainWindow.xaml;
False

Some files were not shown because too many files have changed in this diff Show More