aktueller stand

This commit is contained in:
Meik
2026-02-03 16:47:06 +01:00
parent 82984f769b
commit d289fc4c21
21 changed files with 1603 additions and 1141 deletions

View File

@@ -1,44 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd"> <F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd">
<CopyTemplates Default="Ticket-Information"> <CopyTemplates Default="Ticket-Information-Computer">
<CopyTemplate Name="Ticket-Information"> <CopyTemplate Name="Ticket-Information-Computer">
<Name Lang="DE">Ticket-Information</Name> <Name Lang="DE">Ticket-Information-Computer</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description> <Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description> <Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/> <Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value% <CopyContent Format="UNICODE">
%UserFullName.Label% %UserFullName.Value% %DeviceName.Label% %DeviceName.Value%
%UserAccount.Label% %UserAccount.Value% %UserFullName.Label% %UserFullName.Value%
%DeviceModel.Label% %DeviceModel.Value% %UserAccount.Label% %UserAccount.Value%
%OsInfo.Label% %OsInfo.Value% %DeviceModel.Label% %DeviceModel.Value%
%IpAddress.Label% %IpAddress.Value% %OsInfo.Label% %OsInfo.Value%
%LastBoot.Label% %LastBoot.Value% %IpAddress.Label% %IpAddress.Value%
%LastSeen.Label% %LastSeen.Value%</CopyContent> %LastBoot.Label% %LastBoot.Value%
<CopyContent Format="HTML">&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt; %LastSeen.Label% %LastSeen.Value%
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt; </CopyContent>
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt; <CopyContent Format="HTML">
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt; &lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</CopyContent> &lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate>
<CopyTemplate Name="Ticket Information-VM">
<Name Lang="DE">Ticket Information VM</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">
%VirtualSessionName.Label% %VirtualSessionName.Value%
%VirtualSessionStatus.Label% %VirtualSessionStatus.Value%
%HostedMachine.Label% %HostedMachine.Value%
%DeviceName.Label% %DeviceName.Value%
</CopyContent>
<CopyContent Format="HTML">
&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%VirtualSessionName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionStatus.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%VirtualSessionStatus.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%HostedMachine.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%HostedMachine.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="Computer name"> <CopyTemplate Name="Computer name">
<Name Lang="DE">Computer Name</Name> <Name Lang="DE">Computer Name</Name>
<Section>DemoActions</Section> <Section>DemoActions</Section>
<Icon Name="misc_computer" IconType="intern"/> <Icon Name="misc_computer" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Value%</CopyContent> <CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User name"> <CopyTemplate Name="User name">
<Name Lang="DE">Anwendername</Name> <Name Lang="DE">Anwendername</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserFullName.Value%</CopyContent> <CopyContent Format="UNICODE">%UserFullName.Label% %UserFullName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User account"> <CopyTemplate Name="User account">
<Name Lang="DE">Anwender Account</Name> <Name Lang="DE">Anwender Account</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserAccount.Value%</CopyContent> <CopyContent Format="UNICODE">%UserAccount.Label% %UserAccount.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
</CopyTemplates> </CopyTemplates>
</F4SD-CopyTemplate-Configuration> </F4SD-CopyTemplate-Configuration>

View File

@@ -1378,6 +1378,14 @@
<Table-Column Name="DcLatency" Type="int" Aggregation="average" /> <Table-Column Name="DcLatency" Type="int" Aggregation="average" />
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="citrix-connectionState-metrics" Type="History" Key="Id">
<Table-Columns>
<Table-Column Name="Id" Type="int" />
<Table-Column Name="StartDate" Type="datetime" />
<Table-Column Name="ConnectionState" Type="int" />
<Table-Column Name="ConnectionCount" Type="int" />
</Table-Columns>
</Table>
<Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time"> <Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time">
<Table-Columns> <Table-Columns>
<Table-Column Name="Id" Type="int" /> <Table-Column Name="Id" Type="int" />

View File

@@ -1377,10 +1377,20 @@
<NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default"> <NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default">
<Name Lang="DE">Session</Name> <Name Lang="DE">Session</Name>
</NamedParameter> </NamedParameter>
<NamedParameter ParameterName="VirtualSessionStatus" Name="Session status" Display="STRING" ValueTable="citrix-session" ValueColumn="ConnectionState"> <NamedParameter ParameterName="DNSName" Name="DNS name" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="DnsName" >
<Name Lang="DE">Session Status</Name> <Name Lang="DE">DNS Name</Name>
</NamedParameter>
<NamedParameter ParameterName="DomainName" Name="Domain name" Display="STRING" ValueTable="citrix-session-user" ValueColumn="Domain">
<Name Lang="DE">Domäne Name</Name>
</NamedParameter>
<NamedParameter ParameterName="HostedMachine" Name="HostedMachine" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hosted Machine</Name>
</NamedParameter>
<NamedParameter ParameterName="DeviceName" Name="Computername" Display="STRING" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
<Name Lang="DE">Gerätname</Name>
</NamedParameter> </NamedParameter>
</NamedParameters> </NamedParameters>
<Computations> <Computations>
<Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" /> <Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" />
<Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" /> <Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" />
@@ -1390,7 +1400,7 @@
<Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" /> <Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" />
<Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" /> <Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" />
<Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" /> <Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" />
<Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable"/> <Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable" />
</Computations> </Computations>
<Translations> <Translations>
<Translator Name="citrix_connectionState"> <Translator Name="citrix_connectionState">
@@ -1493,14 +1503,11 @@
</Translation> </Translation>
</Translator> </Translator>
</Translations> </Translations>
<Header> <Header>
<HeaderValue InformationClass="User" ParameterName="UserFullName" /> <HeaderValue InformationClass="User" ParameterName="UserFullName" />
<HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" /> <HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" />
</Header> </Header>
<CategoriesStatic> <CategoriesStatic>
<StateCategory Name="UserInformationWidget"> <StateCategory Name="UserInformationWidget">
<State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Benutzer-Informationen</Name> <Name Lang="DE">Benutzer-Informationen</Name>
@@ -1521,11 +1528,7 @@
<Name Lang="DE">Desktopgruppe</Name> <Name Lang="DE">Desktopgruppe</Name>
</State-Info> </State-Info>
</StateCategory> </StateCategory>
<StateCategory Name="SessionInformationWidget"> <StateCategory Name="SessionInformationWidget">
<State-Info Name="Session Id" ValueTable="citrix-session" ValueColumn="Id">
<Name Lang="DE">Session Id</Name>
</State-Info>
<State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Session-Informationen</Name> <Name Lang="DE">Session-Informationen</Name>
</State-Info> </State-Info>
@@ -1538,7 +1541,7 @@
<State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate"> <State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate">
<Name Lang="DE">Enddatum</Name> <Name Lang="DE">Enddatum</Name>
</State-Info> </State-Info>
<State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation ="citrix_connectionState" DefaultState="Ok" > <State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation="citrix_connectionState" DefaultState="Ok">
<Name Lang="DE">Verbindungsstatus</Name> <Name Lang="DE">Verbindungsstatus</Name>
</State-Translation> </State-Translation>
<State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName"> <State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
@@ -1551,7 +1554,6 @@
<Name Lang="DE">Anonym</Name> <Name Lang="DE">Anonym</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="SessionConnectionInformationWidget"> <StateCategory Name="SessionConnectionInformationWidget">
<State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Verbindung-Informationen</Name> <Name Lang="DE">Verbindung-Informationen</Name>
@@ -1585,12 +1587,10 @@
<Name Lang="DE">Profilladezeit</Name> <Name Lang="DE">Profilladezeit</Name>
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="MachineInformationWidget"> <StateCategory Name="MachineInformationWidget">
<State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host-Informationen</Name> <Name Lang="DE">Host-Informationen</Name>
</State-Info> </State-Info>
<State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine"> <State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hostname</Name> <Name Lang="DE">Hostname</Name>
</State-Info> </State-Info>
@@ -1613,12 +1613,28 @@
<Name Lang="DE">Wartungsmodus aktiv</Name> <Name Lang="DE">Wartungsmodus aktiv</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="MachineUsageInformationWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name>
</State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">RAM/Arbeitsspeicher Auslastung</Name>
</State-Level>
<State-Level Name="Disk Utilization" ValueTable="citrix-session-machine" ValueColumn="Disk" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">Speicher Auslastung</Name>
</State-Level>
<State-Info Name="Current Session Count" ValueTable="citrix-session-machine" ValueColumn="CurrentSessionCount">
<Name Lang="DE">Aktuelle Sitzungsanzahl</Name>
</State-Info>
</StateCategory>
<StateCategory Name="MachineMetricWidget"> <StateCategory Name="MachineMetricWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name> <Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info> </State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok" > <State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name> <Name Lang="DE">CPU Auslastung</Name>
</State-Level> </State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok"> <State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
@@ -1632,15 +1648,12 @@
</State-Info> </State-Info>
</StateCategory> </StateCategory>
</CategoriesStatic> </CategoriesStatic>
<CategoriesStatic-Slim></CategoriesStatic-Slim> <CategoriesStatic-Slim></CategoriesStatic-Slim>
<CategoriesHistory> <CategoriesHistory>
<StateCategory Name="Network Performance"> <StateCategory Name="Network Performance">
<Name Lang="DE">Netzwerk Performance</Name> <Name Lang="DE">Netzwerk Performance</Name>
<Description Lang="EN">Information about network performance</Description> <Description Lang="EN">Information about network performance</Description>
<Description Lang="DE">Informationen über die Netzwerk Performance</Description> <Description Lang="DE">Informationen über die Netzwerk Performance</Description>
<State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s"> <State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Genutzte Input Bandbreite</Name> <Name Lang="DE">Genutzte Input Bandbreite</Name>
<Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description> <Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description>
@@ -1656,7 +1669,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s"> <State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Verfügbare Output Bandbreite</Name> <Name Lang="DE">Verfügbare Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth available in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth available in this Citrix session.</Description>
@@ -1677,7 +1689,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok"> <State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok">
<Name Lang="DE">Genutzte Output Bandbreite</Name> <Name Lang="DE">Genutzte Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth used in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth used in this Citrix session.</Description>
@@ -1687,16 +1698,22 @@
<QuickAction Name="Session Hidden" /> <QuickAction Name="Session Hidden" />
<QuickAction Name="Send message to Session" /> <QuickAction Name="Send message to Session" />
</QuickActions> </QuickActions>
<!--<State-Details ValueTable="agnt-computer-event-details-outputBandwidthUsed">
<State-Details-Column Name="From" Description="Time of measure" ValueColumn="time" Display="TIME">
<Name Lang="DE">Zeitpunkt</Name>
<Description Lang="DE">Zeitpunkt des Messwerts</Description>
</State-Details-Column>
<State-Details-Column Name="Usage" ValueColumn="Value" Display="BYTES">
<Name Lang="DE">Nutzung</Name>
</State-Details-Column>
</State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="50" StepLengthLine="50" MaxValue="500" MinValue="0" />-->
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="HDX Performance"> <StateCategory Name="HDX Performance">
<Name Lang="DE">HDX Performance</Name> <Name Lang="DE">HDX Performance</Name>
<Description Lang="EN">Information about HDX Performance</Description> <Description Lang="EN">Information about HDX Performance</Description>
<Description Lang="DE">Informationen über HDX Performance</Description> <Description Lang="DE">Informationen über HDX Performance</Description>
<State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Input FPS</Name> <Name Lang="DE">Input FPS</Name>
<Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description> <Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description>
@@ -1712,7 +1729,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Output FPS</Name> <Name Lang="DE">Output FPS</Name>
<Description Lang="EN">The frame rate the client displays on the screen after processing.</Description> <Description Lang="EN">The frame rate the client displays on the screen after processing.</Description>
@@ -1728,7 +1744,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">FPS (Bilder pro Sekunde)</Name> <Name Lang="DE">FPS (Bilder pro Sekunde)</Name>
<Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description> <Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description>
@@ -1749,14 +1764,11 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="Session Latency Performance"> <StateCategory Name="Session Latency Performance">
<Name Lang="DE">Session Latenz Performance</Name> <Name Lang="DE">Session Latenz Performance</Name>
<Description Lang="EN">Information about session latencies</Description> <Description Lang="EN">Information about session latencies</Description>
<Description Lang="DE">Informationen über die Session Latenz</Description> <Description Lang="DE">Informationen über die Session Latenz</Description>
<State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA RTT</Name> <Name Lang="DE">ICA RTT</Name>
<Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description> <Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description>
@@ -1772,7 +1784,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA Latenz</Name> <Name Lang="DE">ICA Latenz</Name>
<Description Lang="EN">Measured ICA Latency in this Citrix session.</Description> <Description Lang="EN">Measured ICA Latency in this Citrix session.</Description>
@@ -1788,7 +1799,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Server Latenz</Name> <Name Lang="DE">Server Latenz</Name>
<Description Lang="EN">Measured Server Latency in this Citrix session.</Description> <Description Lang="EN">Measured Server Latency in this Citrix session.</Description>
@@ -1804,7 +1814,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Client Latenz</Name> <Name Lang="DE">Client Latenz</Name>
<Description Lang="EN">Measured Client Latency in this Citrix session.</Description> <Description Lang="EN">Measured Client Latency in this Citrix session.</Description>
@@ -1818,9 +1827,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">WAN Latenz</Name> <Name Lang="DE">WAN Latenz</Name>
<Description Lang="EN">Measured WAN Latency in this Citrix session.</Description> <Description Lang="EN">Measured WAN Latency in this Citrix session.</Description>
@@ -1834,9 +1842,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">DC (Delivery Controller) Latenz</Name> <Name Lang="DE">DC (Delivery Controller) Latenz</Name>
<Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description> <Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description>
@@ -1852,7 +1859,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
</CategoriesHistory> </CategoriesHistory>
</HealthCard> </HealthCard>

View File

@@ -77,7 +77,7 @@
</Active-Directory> </Active-Directory>
<Azure-AD> <Azure-AD>
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"> <Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Scan-Filter> <Azure-Filter-User UseBetaEnpoint="true" UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Filter-User>
</Azure-Tenant> </Azure-Tenant>
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>--> <!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
</Azure-AD> </Azure-AD>

View File

@@ -1,47 +1,47 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:simpleType name="BooleanTypeEnum"> <xs:simpleType name="BooleanTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="false"/> <xs:enumeration value="false"/>
<xs:enumeration value="true"/> <xs:enumeration value="true"/>
<xs:enumeration value="0"/> <xs:enumeration value="0"/>
<xs:enumeration value="1"/> <xs:enumeration value="1"/>
<xs:enumeration value="no"/> <xs:enumeration value="no"/>
<xs:enumeration value="yes"/> <xs:enumeration value="yes"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="AdScanTypeEnum"> <xs:simpleType name="AdScanTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="User"/> <xs:enumeration value="User"/>
<xs:enumeration value="Computer"/> <xs:enumeration value="Computer"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="HourMinuteType"> <xs:simpleType name="HourMinuteType">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="[0-9]{2}:[0-9]{2}"/> <xs:pattern value="[0-9]{2}:[0-9]{2}"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="DayTypeEnum"> <xs:simpleType name="DayTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="Mon"/> <xs:enumeration value="Mon"/>
<xs:enumeration value="Tue"/> <xs:enumeration value="Tue"/>
<xs:enumeration value="Wed"/> <xs:enumeration value="Wed"/>
<xs:enumeration value="Thu"/> <xs:enumeration value="Thu"/>
<xs:enumeration value="Fri"/> <xs:enumeration value="Fri"/>
<xs:enumeration value="Sat"/> <xs:enumeration value="Sat"/>
<xs:enumeration value="Sun"/> <xs:enumeration value="Sun"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="guid"> <xs:simpleType name="guid">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/> <xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="NameList"> <xs:simpleType name="NameList">
<xs:list itemType="xs:NCName"/> <xs:list itemType="xs:NCName"/>
@@ -75,117 +75,117 @@
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="TimezoneType"> <xs:simpleType name="TimezoneType">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="Dateline Standard Time"/> <xs:enumeration value="Dateline Standard Time"/>
<xs:enumeration value="UTC-11"/> <xs:enumeration value="UTC-11"/>
<xs:enumeration value="Hawaiian Standard Time"/> <xs:enumeration value="Hawaiian Standard Time"/>
<xs:enumeration value="Alaskan Standard Time"/> <xs:enumeration value="Alaskan Standard Time"/>
<xs:enumeration value="Pacific Standard Time (Mexico)"/> <xs:enumeration value="Pacific Standard Time (Mexico)"/>
<xs:enumeration value="Pacific Standard Time"/> <xs:enumeration value="Pacific Standard Time"/>
<xs:enumeration value="US Mountain Standard Time"/> <xs:enumeration value="US Mountain Standard Time"/>
<xs:enumeration value="Mountain Standard Time (Mexico)"/> <xs:enumeration value="Mountain Standard Time (Mexico)"/>
<xs:enumeration value="Mountain Standard Time"/> <xs:enumeration value="Mountain Standard Time"/>
<xs:enumeration value="Central Standard Time"/> <xs:enumeration value="Central Standard Time"/>
<xs:enumeration value="Central Standard Time (Mexico)"/> <xs:enumeration value="Central Standard Time (Mexico)"/>
<xs:enumeration value="Central America Standard Time"/> <xs:enumeration value="Central America Standard Time"/>
<xs:enumeration value="Canada Central Standard Time"/> <xs:enumeration value="Canada Central Standard Time"/>
<xs:enumeration value="SA Pacific Standard Time"/> <xs:enumeration value="SA Pacific Standard Time"/>
<xs:enumeration value="Eastern Standard Time (Mexico)"/> <xs:enumeration value="Eastern Standard Time (Mexico)"/>
<xs:enumeration value="Eastern Standard Time"/> <xs:enumeration value="Eastern Standard Time"/>
<xs:enumeration value="US Eastern Standard Time"/> <xs:enumeration value="US Eastern Standard Time"/>
<xs:enumeration value="Venezuela Standard Time"/> <xs:enumeration value="Venezuela Standard Time"/>
<xs:enumeration value="Paraguay Standard Time"/> <xs:enumeration value="Paraguay Standard Time"/>
<xs:enumeration value="Atlantic Standard Time"/> <xs:enumeration value="Atlantic Standard Time"/>
<xs:enumeration value="Central Brazilian Standard Time"/> <xs:enumeration value="Central Brazilian Standard Time"/>
<xs:enumeration value="SA Western Standard Time"/> <xs:enumeration value="SA Western Standard Time"/>
<xs:enumeration value="Newfoundland Standard Time"/> <xs:enumeration value="Newfoundland Standard Time"/>
<xs:enumeration value="E. South America Standard Time"/> <xs:enumeration value="E. South America Standard Time"/>
<xs:enumeration value="Argentina Standard Time"/> <xs:enumeration value="Argentina Standard Time"/>
<xs:enumeration value="SA Eastern Standard Time"/> <xs:enumeration value="SA Eastern Standard Time"/>
<xs:enumeration value="Greenland Standard Time"/> <xs:enumeration value="Greenland Standard Time"/>
<xs:enumeration value="Montevideo Standard Time"/> <xs:enumeration value="Montevideo Standard Time"/>
<xs:enumeration value="Bahia Standard Time"/> <xs:enumeration value="Bahia Standard Time"/>
<xs:enumeration value="Pacific SA Standard Time"/> <xs:enumeration value="Pacific SA Standard Time"/>
<xs:enumeration value="UTC-02"/> <xs:enumeration value="UTC-02"/>
<xs:enumeration value="Mid-Atlantic Standard Time"/> <xs:enumeration value="Mid-Atlantic Standard Time"/>
<xs:enumeration value="Azores Standard Time"/> <xs:enumeration value="Azores Standard Time"/>
<xs:enumeration value="Cape Verde Standard Time"/> <xs:enumeration value="Cape Verde Standard Time"/>
<xs:enumeration value="Morocco Standard Time"/> <xs:enumeration value="Morocco Standard Time"/>
<xs:enumeration value="GMT Standard Time"/> <xs:enumeration value="GMT Standard Time"/>
<xs:enumeration value="UTC"/> <xs:enumeration value="UTC"/>
<xs:enumeration value="Greenwich Standard Time"/> <xs:enumeration value="Greenwich Standard Time"/>
<xs:enumeration value="W. Europe Standard Time"/> <xs:enumeration value="W. Europe Standard Time"/>
<xs:enumeration value="Central Europe Standard Time"/> <xs:enumeration value="Central Europe Standard Time"/>
<xs:enumeration value="Romance Standard Time"/> <xs:enumeration value="Romance Standard Time"/>
<xs:enumeration value="Central European Standard Time"/> <xs:enumeration value="Central European Standard Time"/>
<xs:enumeration value="W. Central Africa Standard Time"/> <xs:enumeration value="W. Central Africa Standard Time"/>
<xs:enumeration value="Namibia Standard Time"/> <xs:enumeration value="Namibia Standard Time"/>
<xs:enumeration value="Jordan Standard Time"/> <xs:enumeration value="Jordan Standard Time"/>
<xs:enumeration value="GTB Standard Time"/> <xs:enumeration value="GTB Standard Time"/>
<xs:enumeration value="Middle East Standard Time"/> <xs:enumeration value="Middle East Standard Time"/>
<xs:enumeration value="Syria Standard Time"/> <xs:enumeration value="Syria Standard Time"/>
<xs:enumeration value="South Africa Standard Time"/> <xs:enumeration value="South Africa Standard Time"/>
<xs:enumeration value="FLE Standard Time"/> <xs:enumeration value="FLE Standard Time"/>
<xs:enumeration value="Turkey Standard Time"/> <xs:enumeration value="Turkey Standard Time"/>
<xs:enumeration value="Israel Standard Time"/> <xs:enumeration value="Israel Standard Time"/>
<xs:enumeration value="Egypt Standard Time"/> <xs:enumeration value="Egypt Standard Time"/>
<xs:enumeration value="Kaliningrad Standard Time"/> <xs:enumeration value="Kaliningrad Standard Time"/>
<xs:enumeration value="E. Europe Standard Time"/> <xs:enumeration value="E. Europe Standard Time"/>
<xs:enumeration value="Libya Standard Time"/> <xs:enumeration value="Libya Standard Time"/>
<xs:enumeration value="Arabic Standard Time"/> <xs:enumeration value="Arabic Standard Time"/>
<xs:enumeration value="Arab Standard Time"/> <xs:enumeration value="Arab Standard Time"/>
<xs:enumeration value="Belarus Standard Time"/> <xs:enumeration value="Belarus Standard Time"/>
<xs:enumeration value="Russian Standard Time"/> <xs:enumeration value="Russian Standard Time"/>
<xs:enumeration value="E. Africa Standard Time"/> <xs:enumeration value="E. Africa Standard Time"/>
<xs:enumeration value="Iran Standard Time"/> <xs:enumeration value="Iran Standard Time"/>
<xs:enumeration value="Arabian Standard Time"/> <xs:enumeration value="Arabian Standard Time"/>
<xs:enumeration value="Azerbaijan Standard Time"/> <xs:enumeration value="Azerbaijan Standard Time"/>
<xs:enumeration value="Caucasus Standard Time"/> <xs:enumeration value="Caucasus Standard Time"/>
<xs:enumeration value="Russia Time Zone 3"/> <xs:enumeration value="Russia Time Zone 3"/>
<xs:enumeration value="Mauritius Standard Time"/> <xs:enumeration value="Mauritius Standard Time"/>
<xs:enumeration value="Georgian Standard Time"/> <xs:enumeration value="Georgian Standard Time"/>
<xs:enumeration value="Afghanistan Standard Time"/> <xs:enumeration value="Afghanistan Standard Time"/>
<xs:enumeration value="West Asia Standard Time"/> <xs:enumeration value="West Asia Standard Time"/>
<xs:enumeration value="Pakistan Standard Time"/> <xs:enumeration value="Pakistan Standard Time"/>
<xs:enumeration value="Ekaterinburg Standard Time"/> <xs:enumeration value="Ekaterinburg Standard Time"/>
<xs:enumeration value="India Standard Time"/> <xs:enumeration value="India Standard Time"/>
<xs:enumeration value="Sri Lanka Standard Time"/> <xs:enumeration value="Sri Lanka Standard Time"/>
<xs:enumeration value="Nepal Standard Time"/> <xs:enumeration value="Nepal Standard Time"/>
<xs:enumeration value="Central Asia Standard Time"/> <xs:enumeration value="Central Asia Standard Time"/>
<xs:enumeration value="Bangladesh Standard Time"/> <xs:enumeration value="Bangladesh Standard Time"/>
<xs:enumeration value="N. Central Asia Standard Time"/> <xs:enumeration value="N. Central Asia Standard Time"/>
<xs:enumeration value="Myanmar Standard Time"/> <xs:enumeration value="Myanmar Standard Time"/>
<xs:enumeration value="SE Asia Standard Time"/> <xs:enumeration value="SE Asia Standard Time"/>
<xs:enumeration value="North Asia Standard Time"/> <xs:enumeration value="North Asia Standard Time"/>
<xs:enumeration value="North Asia East Standard Time"/> <xs:enumeration value="North Asia East Standard Time"/>
<xs:enumeration value="Singapore Standard Time"/> <xs:enumeration value="Singapore Standard Time"/>
<xs:enumeration value="China Standard Time"/> <xs:enumeration value="China Standard Time"/>
<xs:enumeration value="W. Australia Standard Time"/> <xs:enumeration value="W. Australia Standard Time"/>
<xs:enumeration value="Taipei Standard Time"/> <xs:enumeration value="Taipei Standard Time"/>
<xs:enumeration value="Ulaanbaatar Standard Time"/> <xs:enumeration value="Ulaanbaatar Standard Time"/>
<xs:enumeration value="Yakutsk Standard Time"/> <xs:enumeration value="Yakutsk Standard Time"/>
<xs:enumeration value="Tokyo Standard Time"/> <xs:enumeration value="Tokyo Standard Time"/>
<xs:enumeration value="Korea Standard Time"/> <xs:enumeration value="Korea Standard Time"/>
<xs:enumeration value="Cen. Australia Standard Time"/> <xs:enumeration value="Cen. Australia Standard Time"/>
<xs:enumeration value="AUS Central Standard Time"/> <xs:enumeration value="AUS Central Standard Time"/>
<xs:enumeration value="E. Australia Standard Time"/> <xs:enumeration value="E. Australia Standard Time"/>
<xs:enumeration value="AUS Eastern Standard Time"/> <xs:enumeration value="AUS Eastern Standard Time"/>
<xs:enumeration value="West Pacific Standard Time"/> <xs:enumeration value="West Pacific Standard Time"/>
<xs:enumeration value="Tasmania Standard Time"/> <xs:enumeration value="Tasmania Standard Time"/>
<xs:enumeration value="Magadan Standard Time"/> <xs:enumeration value="Magadan Standard Time"/>
<xs:enumeration value="Vladivostok Standard Time"/> <xs:enumeration value="Vladivostok Standard Time"/>
<xs:enumeration value="Central Pacific Standard Time"/> <xs:enumeration value="Central Pacific Standard Time"/>
<xs:enumeration value="Russia Time Zone 10"/> <xs:enumeration value="Russia Time Zone 10"/>
<xs:enumeration value="Russia Time Zone 11"/> <xs:enumeration value="Russia Time Zone 11"/>
<xs:enumeration value="New Zealand Standard Time"/> <xs:enumeration value="New Zealand Standard Time"/>
<xs:enumeration value="Fiji Standard Time"/> <xs:enumeration value="Fiji Standard Time"/>
<xs:enumeration value="UTC+12"/> <xs:enumeration value="UTC+12"/>
<xs:enumeration value="Kamchatka Standard Time"/> <xs:enumeration value="Kamchatka Standard Time"/>
<xs:enumeration value="Tonga Standard Time"/> <xs:enumeration value="Tonga Standard Time"/>
<xs:enumeration value="Samoa Standard Time"/> <xs:enumeration value="Samoa Standard Time"/>
<xs:enumeration value="Line Islands Standard Time"/> <xs:enumeration value="Line Islands Standard Time"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="LanguageId"> <xs:simpleType name="LanguageId">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
@@ -210,137 +210,137 @@
</xs:element> </xs:element>
<xs:element name="F4SD-Infrastructure-Configuration"> <xs:element name="F4SD-Infrastructure-Configuration">
<xs:complexType> <xs:complexType>
<xs:all> <xs:all>
<xs:element ref="Credentials" maxOccurs="1" minOccurs="1"/> <xs:element ref="Credentials" maxOccurs="1" minOccurs="1"/>
<xs:element ref="DB-Connections" maxOccurs="1" minOccurs="1"/> <xs:element ref="DB-Connections" maxOccurs="1" minOccurs="1"/>
<xs:element ref="DataHistory-DB" maxOccurs="1" minOccurs="1"/> <xs:element ref="DataHistory-DB" maxOccurs="1" minOccurs="1"/>
<xs:element ref="F4SDAnalytics-DB" maxOccurs="1" minOccurs="0"/> <xs:element ref="F4SDAnalytics-DB" maxOccurs="1" minOccurs="0"/>
<xs:element ref="ClientAgent" maxOccurs="1" minOccurs="1"/> <xs:element ref="ClientAgent" maxOccurs="1" minOccurs="1"/>
<xs:element ref="Active-Directory" maxOccurs="1" minOccurs="1"/> <xs:element ref="Active-Directory" maxOccurs="1" minOccurs="1"/>
<xs:element ref="Azure-AD" maxOccurs="1" minOccurs="0"/> <xs:element ref="Azure-AD" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Matrix42-WPM" maxOccurs="1" minOccurs="0"/> <xs:element ref="Matrix42-WPM" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Nexthink" maxOccurs="1" minOccurs="0"/> <xs:element ref="Nexthink" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Citrix" maxOccurs="1" minOccurs="0"/> <xs:element ref="Citrix" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Authorization" maxOccurs="1" minOccurs="0"/> <xs:element ref="Authorization" maxOccurs="1" minOccurs="0"/>
</xs:all> </xs:all>
</xs:complexType> </xs:complexType>
<xs:key name="CredentialId"> <xs:key name="CredentialId">
<xs:selector xpath="./Credentials/*"/> <xs:selector xpath="./Credentials/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
<xs:key name="DbConnectionId"> <xs:key name="DbConnectionId">
<xs:selector xpath="./DB-Connections/*"/> <xs:selector xpath="./DB-Connections/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
</xs:element> </xs:element>
<xs:element name="Credentials"> <xs:element name="Credentials">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Credential" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Credential" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueCredentials"> <xs:unique name="UniqueCredentials">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="Credential"> <xs:element name="Credential">
<xs:complexType> <xs:complexType>
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="User" type="xs:string" use="required"/> <xs:attribute name="User" type="xs:string" use="required"/>
<xs:attribute name="Domain" type="xs:string" use="optional"/> <xs:attribute name="Domain" type="xs:string" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/> <xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="DB-Connections"> <xs:element name="DB-Connections">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="SQL-Connection" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="SQL-Connection" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueSqlConnection"> <xs:unique name="UniqueSqlConnection">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="SQL-Connection"> <xs:element name="SQL-Connection">
<xs:complexType> <xs:complexType>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="NativeAccount" type="BooleanTypeEnum" use="optional"/> <xs:attribute name="NativeAccount" type="BooleanTypeEnum" use="optional"/>
<xs:attribute name="Server" type="xs:string" use="required"/> <xs:attribute name="Server" type="xs:string" use="required"/>
<xs:attribute name="Instance" type="xs:string" use="optional"/> <xs:attribute name="Instance" type="xs:string" use="optional"/>
<xs:attribute name="Database" type="xs:string" use="required"/> <xs:attribute name="Database" type="xs:string" use="required"/>
<xs:attribute name="Timeout" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="Timeout" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="SqlConnectionCredentialRef" refer="CredentialId"> <xs:keyref name="SqlConnectionCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="F4SDAnalytics-DB"> <xs:element name="F4SDAnalytics-DB">
<xs:complexType> <xs:complexType>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="EnableUserId" type="xs:boolean" use="optional"/> <xs:attribute name="EnableUserId" type="xs:boolean" use="optional"/>
<xs:attribute name="SessionTimeout" type="xs:positiveInteger" use="optional" default="60"/> <xs:attribute name="SessionTimeout" type="xs:positiveInteger" use="optional" default="60"/>
<xs:attribute name="CaseTimeout" type="xs:positiveInteger" use="optional" default="5"/> <xs:attribute name="CaseTimeout" type="xs:positiveInteger" use="optional" default="5"/>
<xs:attribute name="SessionCheckInterval" type="xs:positiveInteger" use="optional" default="20"/> <xs:attribute name="SessionCheckInterval" type="xs:positiveInteger" use="optional" default="20"/>
<xs:attribute name="CaseCheckInterval" type="xs:positiveInteger" use="optional" default="2"/> <xs:attribute name="CaseCheckInterval" type="xs:positiveInteger" use="optional" default="2"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="F4SDAnalyticsDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="F4SDAnalyticsDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="DataHistory-DB"> <xs:element name="DataHistory-DB">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Cleanup-Timeframe" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Cleanup-Timeframe" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="SearchForPhoneNumbers" type="xs:boolean" use="optional"/> <xs:attribute name="SearchForPhoneNumbers" type="xs:boolean" use="optional"/>
<xs:attribute name="SearchWithLike" type="xs:boolean" use="optional"/> <xs:attribute name="SearchWithLike" type="xs:boolean" use="optional"/>
<xs:attribute name="DaysToCache" type="xs:positiveInteger" use="optional"/> <xs:attribute name="DaysToCache" type="xs:positiveInteger" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="DataHistoryDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="DataHistoryDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="ClientAgent"> <xs:element name="ClientAgent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Local-Account-Assignment" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Local-Account-Assignment" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="Server-Url" type="xs:anyURI" use="required"/> <xs:attribute name="Server-Url" type="xs:anyURI" use="required"/>
<xs:attribute name="MaxDeviceAge" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="MaxDeviceAge" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="Organization" type="xs:string" use="required"/> <xs:attribute name="Organization" type="xs:string" use="required"/>
<xs:attribute name="Api-Credential" type="xs:NCName" use="required"/> <xs:attribute name="Api-Credential" type="xs:NCName" use="required"/>
<xs:attribute name="Api-Path" type="xs:anyURI" use="optional"/> <xs:attribute name="Api-Path" type="xs:anyURI" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="ClientAgentDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="ClientAgentDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
<xs:keyref name="ApiCredentialRef" refer="CredentialId"> <xs:keyref name="ApiCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Local-Account-Assignment"> <xs:element name="Local-Account-Assignment">
@@ -352,203 +352,211 @@
</xs:element> </xs:element>
<xs:element name="Azure-AD"> <xs:element name="Azure-AD">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Azure-Tenant" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Azure-Tenant" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:unique name="UniqueTenants">
<xs:selector xpath="./*"/>
<xs:field xpath="@Domain"/>
</xs:unique>
</xs:element>
<xs:element name="Azure-Tenant">
<xs:complexType>
<xs:sequence>
<xs:element ref="Azure-Scan-Filter" maxOccurs="1" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/> </xs:complexType>
<xs:attribute name="TenantID" type="guid" use="required"/> <xs:unique name="UniqueTenants">
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:selector xpath="./*"/>
<xs:attribute name="ScanIntuneDevices" type="xs:boolean" use="optional"/> <xs:field xpath="@Domain"/>
<xs:attribute name="WithMobileDevices" type="xs:boolean" use="optional"/> </xs:unique>
</xs:complexType> </xs:element>
<xs:keyref name="AzureTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/>
<xs:field xpath="@Credential"/>
</xs:keyref>
</xs:element>
<xs:element name="Azure-Scan-Filter"> <xs:element name="Azure-Tenant">
<xs:complexType>
<xs:sequence>
<xs:element ref="Azure-Filter-User" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/>
<xs:attribute name="TenantID" type="guid" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="ScanIntuneDevices" type="xs:boolean" use="optional"/>
<xs:attribute name="WithMobileDevices" type="xs:boolean" use="optional"/>
</xs:complexType>
<xs:keyref name="AzureTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/>
<xs:field xpath="@Credential"/>
</xs:keyref>
</xs:element>
<xs:element name="Azure-Filter-User">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="UseBetaEnpoint" type="xs:boolean" use="optional"/>
<xs:attribute name="UseConsistencyLevelEventual" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element> </xs:element>
<xs:element name="Citrix"> <xs:element name="Citrix">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Citrix-Tenant" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Citrix-Tenant" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueCitrixTenants"> <xs:unique name="UniqueCitrixTenants">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Domain"/> <xs:field xpath="@Domain"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="Citrix-Tenant"> <xs:element name="Citrix-Tenant">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
</xs:sequence> </xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/> <xs:attribute name="Domain" type="xs:string" use="required"/>
<xs:attribute name="TenantID" type="xs:string" use="required"/> <xs:attribute name="TenantID" type="xs:string" use="required"/>
<xs:attribute name="InstanceID" type="guid" use="required"/> <xs:attribute name="InstanceID" type="guid" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="CitrixTenantCredentialRef" refer="CredentialId"> <xs:keyref name="CitrixTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Active-Directory"> <xs:element name="Active-Directory">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="AD-Domains" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="AD-Domains" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="AD-Scans" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="AD-Scans" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="ScanPhoneNumbers" type="xs:boolean" use="optional"/> <xs:attribute name="ScanPhoneNumbers" type="xs:boolean" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:key name="AdDomainId"> <xs:key name="AdDomainId">
<xs:selector xpath="./AD-Domains/*"/> <xs:selector xpath="./AD-Domains/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
</xs:element> </xs:element>
<xs:element name="Scan-Timing"> <xs:element name="Scan-Timing">
<xs:complexType> <xs:complexType>
<xs:attribute name="ScanInterval" type="HourMinuteType" use="required"/> <xs:attribute name="ScanInterval" type="HourMinuteType" use="required"/>
<xs:attribute name="ScanOffset" type="HourMinuteType" use="optional"/> <xs:attribute name="ScanOffset" type="HourMinuteType" use="optional"/>
<xs:attribute name="Timezone" type="TimezoneType" use="optional"/> <xs:attribute name="Timezone" type="TimezoneType" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Cleanup-Timeframe"> <xs:element name="Cleanup-Timeframe">
<xs:complexType> <xs:complexType>
<xs:attribute name="StartDay" type="DayTypeEnum" use="required"/> <xs:attribute name="StartDay" type="DayTypeEnum" use="required"/>
<xs:attribute name="StartTime" type="HourMinuteType" use="required"/> <xs:attribute name="StartTime" type="HourMinuteType" use="required"/>
<xs:attribute name="StopDay" type="DayTypeEnum" use="optional"/> <xs:attribute name="StopDay" type="DayTypeEnum" use="optional"/>
<xs:attribute name="StopTime" type="HourMinuteType" use="required"/> <xs:attribute name="StopTime" type="HourMinuteType" use="required"/>
<xs:attribute name="Timezone" type="TimezoneType" use="optional"/> <xs:attribute name="Timezone" type="TimezoneType" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Domains"> <xs:element name="AD-Domains">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Domain" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Domain" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdDomains"> <xs:unique name="UniqueAdDomains">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="AD-Domain"> <xs:element name="AD-Domain">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Server" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Server" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="FQDN" type="xs:string" use="required"/> <xs:attribute name="FQDN" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdServers"> <xs:unique name="UniqueAdServers">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@FQDN"/> <xs:field xpath="@FQDN"/>
</xs:unique> </xs:unique>
<xs:keyref name="AdDomainCredentialRef" refer="CredentialId"> <xs:keyref name="AdDomainCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="AD-Server"> <xs:element name="AD-Server">
<xs:complexType> <xs:complexType>
<xs:attribute name="FQDN" type="xs:string" use="required"/> <xs:attribute name="FQDN" type="xs:string" use="required"/>
<xs:attribute name="UseSSL" type="BooleanTypeEnum" use="required"/> <xs:attribute name="UseSSL" type="BooleanTypeEnum" use="required"/>
<xs:attribute name="Port" type="xs:integer" use="optional"/> <xs:attribute name="Port" type="xs:integer" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Scans"> <xs:element name="AD-Scans">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Scan" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Scan" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdScans"> <xs:unique name="UniqueAdScans">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="AD-Scan"> <xs:element name="AD-Scan">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Scan-Node" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Scan-Node" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="optional"/> <xs:attribute name="Name" type="xs:NCName" use="optional"/>
<xs:attribute name="Type" type="AdScanTypeEnum" use="optional"/> <xs:attribute name="Type" type="AdScanTypeEnum" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Scan-Node"> <xs:element name="AD-Scan-Node">
<xs:complexType> <xs:complexType>
<xs:attribute name="AD-Domain" type="xs:NCName" use="required"/> <xs:attribute name="AD-Domain" type="xs:NCName" use="required"/>
<xs:attribute name="Path" type="xs:string" use="required"/> <xs:attribute name="Path" type="xs:string" use="required"/>
<xs:attribute name="LDAP-Filter" type="xs:string" use="optional"/> <xs:attribute name="LDAP-Filter" type="xs:string" use="optional"/>
<xs:attribute name="Filter-Property" type="LdapFilterProperyEnum" use="optional"/> <xs:attribute name="Filter-Property" type="LdapFilterProperyEnum" use="optional"/>
<xs:attribute name="Wildcard-Filter" type="xs:string" use="optional"/> <xs:attribute name="Wildcard-Filter" type="xs:string" use="optional"/>
<xs:attribute name="RegEx-Filter" type="xs:string" use="optional"/> <xs:attribute name="RegEx-Filter" type="xs:string" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="AdScanNodeDomainRef" refer="AdDomainId"> <xs:keyref name="AdScanNodeDomainRef" refer="AdDomainId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@AD-Domain"/> <xs:field xpath="@AD-Domain"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Nexthink"> <xs:element name="Nexthink">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Nxt-Portal" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Nxt-Portal" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Nxt-Portal"> <xs:element name="Nxt-Portal">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Nxt-Engine" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Nxt-Engine" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Address" type="xs:string" use="required"/> <xs:attribute name="Address" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="IsCloud" type="BooleanTypeEnum" use="optional"/> <xs:attribute name="IsCloud" type="BooleanTypeEnum" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Nxt-Engine"> <xs:element name="Nxt-Engine">
<xs:complexType> <xs:complexType>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Address" type="xs:string" use="required"/> <xs:attribute name="Address" type="xs:string" use="required"/>
<xs:attribute name="Port" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="Port" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:simpleType name="ShowDocumentCaseDialogOptions"> <xs:simpleType name="ShowDocumentCaseDialogOptions">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
@@ -569,7 +577,7 @@
</xs:enumeration> </xs:enumeration>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="ActivityQueueFilterOptions"> <xs:simpleType name="ActivityQueueFilterOptions">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="showAll"> <xs:enumeration value="showAll">
@@ -616,25 +624,25 @@
</xs:element> </xs:element>
<xs:element name="Matrix42-WPM"> <xs:element name="Matrix42-WPM">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Matrix42-Ticket" minOccurs="0" maxOccurs="1" /> <xs:element ref="Matrix42-Ticket" minOccurs="0" maxOccurs="1" />
<xs:element ref="DisplayName" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="DisplayName" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="Queues" maxOccurs="1" minOccurs="0"/> <xs:element ref="Queues" maxOccurs="1" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Server" type="xs:string" use="required"/> <xs:attribute name="Server" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="ClosedTicketHistory" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="ClosedTicketHistory" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="DisplayName" type="xs:string" use="optional"/> <xs:attribute name="DisplayName" type="xs:string" use="optional"/>
<xs:attribute name="ApiTokenLifetime" type="M42ApiTokenLifetime" use="optional"/> <xs:attribute name="ApiTokenLifetime" type="M42ApiTokenLifetime" use="optional"/>
<xs:attribute name="ActivityQueueFilter" type="ActivityQueueFilterOptions" use="optional" default="showAll"/> <xs:attribute name="ActivityQueueFilter" type="ActivityQueueFilterOptions" use="optional" default="showAll"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="M42WpmCredentialRef" refer="CredentialId"> <xs:keyref name="M42WpmCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Authorization"> <xs:element name="Authorization">
<xs:complexType> <xs:complexType>

View File

@@ -520,8 +520,12 @@ namespace C4IT.DataHistoryProvider
if(HasIntuneConfig) if(HasIntuneConfig)
{ {
Connectors.Add(enumDataHistoryOrigin.Intune, ActiveDirectory); Connectors.Add(enumDataHistoryOrigin.Intune, ActiveDirectory);
RegisterSearchRelationProvider(ActiveDirectory);
} }
//if (HasIntuneConfig && HasMobileDeviceConfig)
//{
// RegisterSearchRelationProvider(ActiveDirectory);
//}
// do the post configuration tasks afer the infrastructure was loaded // do the post configuration tasks afer the infrastructure was loaded
DoProcessUiMessage(1, "processing post configuration tasks"); DoProcessUiMessage(1, "processing post configuration tasks");
@@ -6491,6 +6495,34 @@ namespace C4IT.DataHistoryProvider
return null; return null;
} }
public cCollectorStatusInfo GetCollectorStatus(cF4sdWebRequestInfo requestInfo)
{
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
try
{
var _cfgInfrastructure = new cDataHistoryConfigInfrastructure();
_cfgInfrastructure.LoadFromFile(out var PMs);
var retVal = new cCollectorStatusInfo();
retVal.HasM42Config = _cfgInfrastructure.M42Wpm != null;
retVal.HasIntuneConfig = (_cfgInfrastructure.AzureTenants?.Values.Any(t => t.ScanIntuneDevices) == true);
retVal.HasMobileDeviceConfig = (_cfgInfrastructure.AzureTenants?.Values.Any(t => t.WithMobileDevices) == true);
retVal.HasCitrixConfig = (InfrastructureConfig.Citrix != null);
return retVal;
}
catch (Exception E)
{
LogException(E);
}
finally
{
if (CM != null) LogMethodEnd(CM);
}
return null;
}
public override async Task<cF4SdUserInfoChange> ValidateTokenAsync(cF4SDTokenRegistration TokenRegistration, cF4sdWebRequestInfo requestInfo, int LogDeep, CancellationToken Token) public override async Task<cF4SdUserInfoChange> ValidateTokenAsync(cF4SDTokenRegistration TokenRegistration, cF4sdWebRequestInfo requestInfo, int LogDeep, CancellationToken Token)
{ {
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
@@ -6723,6 +6755,14 @@ namespace C4IT.DataHistoryProvider
} }
} }
public class cCollectorStatusInfo
{
public bool HasM42Config;
public bool HasIntuneConfig;
public bool HasMobileDeviceConfig;
public bool HasCitrixConfig;
}
public class cDataHistorySHistoryScanInfo public class cDataHistorySHistoryScanInfo
{ {
public Guid ID; public Guid ID;

View File

@@ -1545,10 +1545,10 @@ namespace C4IT.DataHistoryProvider
var strUrl = string.Format(constMsGraphUserList, constMsGraphUserPaging); var strUrl = string.Format(constMsGraphUserList, constMsGraphUserPaging);
if (!string.IsNullOrEmpty(Tenant.ScanFilter)) if (!string.IsNullOrEmpty(Tenant.ScanFilterUser))
strUrl += " and (" + Tenant.ScanFilter + ")"; strUrl += " and (" + Tenant.ScanFilterUser + ")";
var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: false, retryForbidden: false, loadPaged: true, ConsistencyLevelEventual: Tenant.UseConsistencyLevelEventual); var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: Tenant.UseBetaUserFilter, retryForbidden: false, loadPaged: true, ConsistencyLevelEventual: Tenant.ConsistencyLevelEventualUserFilter);
var Count = 0; var Count = 0;
var Updated = 0; var Updated = 0;
@@ -2058,7 +2058,7 @@ namespace C4IT.DataHistoryProvider
try try
{ {
List<cF4sdConnectorIds> Ids = await _collector.getConnectorIdList(ids.ToList(), token, null, 0); List<cF4sdConnectorIds> Ids = await _collector.getConnectorIdList(ids.ToList(), token, null, 0);
List<cF4sdApiSearchResultRelation> relations = await GetMobileDeviceAsync(Ids, token, null); List<cF4sdApiSearchResultRelation> relations = await GetUserMobileDevicesAsync(Ids, token, null);
return new cF4sdStagedSearchResultRelations() { Relations = relations }; return new cF4sdStagedSearchResultRelations() { Relations = relations };
} }
catch (Exception ex) catch (Exception ex)
@@ -2505,7 +2505,7 @@ namespace C4IT.DataHistoryProvider
return null; return null;
} }
public async Task<List<cF4sdApiSearchResultRelation>> GetMobileDeviceAsync(List<cF4sdConnectorIds> UserId, CancellationToken Token, cF4sdWebRequestInfo requestInfo) public async Task<List<cF4sdApiSearchResultRelation>> GetUserMobileDevicesAsync(List<cF4sdConnectorIds> UserId, CancellationToken Token, cF4sdWebRequestInfo requestInfo)
{ {
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
try try
@@ -2513,34 +2513,23 @@ namespace C4IT.DataHistoryProvider
string userIds = string.Join(",", UserId.Where(u => !string.IsNullOrWhiteSpace(u?.intuneId.ToString())).Select(u => u.intuneId)); string userIds = string.Join(",", UserId.Where(u => !string.IsNullOrWhiteSpace(u?.intuneId.ToString())).Select(u => u.intuneId));
var tenantId = UserId?.FirstOrDefault(u => u?.tenantId != Guid.Empty)?.tenantId ?? Guid.Empty; var tenantId = UserId?.FirstOrDefault(u => u?.tenantId != Guid.Empty)?.tenantId ?? Guid.Empty;
var userId_str = "ef333f80-0ae1-40b3-826f-2dc69c80c1f0"; var strUrl = string.Format(constMsGraphManagedMobileDeviceList, userIds);
var intuneId = new Guid(userId_str);
var strUrl = string.Format(constMsGraphManagedMobileDeviceList, intuneId);
var MsGraph = await GetGraphForTenantAsync(tenantId, true); var MsGraph = await GetGraphForTenantAsync(tenantId, true);
if (MsGraph == null) if (MsGraph == null)
return null; return null;
// Schritt 1: Abrufen der Recovery-Key IDs
var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: false, retryForbidden: false); var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: false, retryForbidden: false);
if (Result != null == Result.Count > 0) if (Result != null == Result.Count > 0)
{ {
var searchResult = new List<cF4sdApiSearchResultRelation>(Result.Count); var searchResult = new List<cF4sdApiSearchResultRelation>(Result.Count);
//double _sumDuration = 0;
foreach (var Entry in Result) foreach (var Entry in Result)
{ {
var endDate = DateTime.MinValue; var endDate = DateTime.MinValue;
if (!DateTime.TryParse(Entry.Result.lastSyncDateTime?.ToString(), out endDate)) if (!DateTime.TryParse(Entry.Result.lastSyncDateTime?.ToString(), out endDate))
endDate = DateTime.UtcNow; endDate = DateTime.UtcNow;
//var startDate = DateTime.MinValue;
//if (!DateTime.TryParse(Entry.Result.StartDate?.ToString(), out startDate))
// startDate = DateTime.UtcNow;
//TimeSpan _duration = endDate - startDate;
//_sumDuration += _duration.TotalSeconds;
var searchInfo = new cF4sdApiSearchResultRelation() var searchInfo = new cF4sdApiSearchResultRelation()
{ {

View File

@@ -45,6 +45,8 @@ namespace C4IT.DataHistoryProvider
public const string constCitrixSessionMachine = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Machine($expand=CurrentLoadIndex,Catalog,DesktopGroup($select=Name)),Machine"; public const string constCitrixSessionMachine = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Machine($expand=CurrentLoadIndex,Catalog,DesktopGroup($select=Name)),Machine";
public const string constCitrixSessionCurrentConnection = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=CurrentConnection,LogOnMetrics"; public const string constCitrixSessionCurrentConnection = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=CurrentConnection,LogOnMetrics";
public const string constCitrixSessionConnections = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Connection"; public const string constCitrixSessionConnections = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Connection";
public const string constCitrixSessionLogInSummaries = "monitorodata/Sessions?$filter=UserId in ({0})$select=Id,StartDate&$expand=User($select=UserName),LogOnSummaries($select=LogOnDuration,AuthenticationDuration,BrokingDuration,ProfileLoadDuration,GpoProcessingDuration,InteractiveSessionDuration)";
public const string constCitrixSessionLogInSummaries2 = "monitorodata/LogOnSummaries?$expand=Session($expand=User)&$filter=UserId eq {0}";
public const string constCitrixUserConnections = "monitorodata/Sessions?$filter=UserId in ({0})&$expand=Connection"; public const string constCitrixUserConnections = "monitorodata/Sessions?$filter=UserId in ({0})&$expand=Connection";
public const string constCitrixSessionUser = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=User"; public const string constCitrixSessionUser = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=User";
public const string constCitrixSessionLogoff = "cvad/manage/Sessions/{0}/$logoff"; public const string constCitrixSessionLogoff = "cvad/manage/Sessions/{0}/$logoff";
@@ -55,6 +57,7 @@ namespace C4IT.DataHistoryProvider
public const string constTableNameSessionConnection = "citrix-session-connection"; public const string constTableNameSessionConnection = "citrix-session-connection";
public const string constTableNameSessionCurrentConnection = "citrix-session-currentConnection"; public const string constTableNameSessionCurrentConnection = "citrix-session-currentConnection";
public const string constTableNameSessionMetrics = "citrix-session-metrics"; public const string constTableNameSessionMetrics = "citrix-session-metrics";
public const string constTableNameSessionStateMetrics = "citrix-connectionState-metrics";
public const string constTableNameSessionUser = "citrix-session-user"; public const string constTableNameSessionUser = "citrix-session-user";
public const string constTableNameSessionDetailsIcaRttMS = "citrix-session-details-icaRttMS"; public const string constTableNameSessionDetailsIcaRttMS = "citrix-session-details-icaRttMS";
public const string constTableNameSessionDetailsIcaLatency = "citrix-session-details-icaLatency"; public const string constTableNameSessionDetailsIcaLatency = "citrix-session-details-icaLatency";
@@ -327,7 +330,7 @@ namespace C4IT.DataHistoryProvider
return null; return null;
var res = await citrixCommunication.RequestListAsync(strUrl, retryForbidden: false); var res = await citrixCommunication.RequestListAsync(strUrl, retryForbidden: false);
if (res != null) if (res != null == res.Count > 0)
{ {
JObject sessionInfos = res[0].Result; JObject sessionInfos = res[0].Result;
var retVal = new cF4SDHealthCardRawData.cHealthCardTable() var retVal = new cF4SDHealthCardRawData.cHealthCardTable()
@@ -339,7 +342,13 @@ namespace C4IT.DataHistoryProvider
TableType = eDataHistoryTableType.Static TableType = eDataHistoryTableType.Static
}; };
var dicVals = new List<Dictionary<string, object>>(); foreach (var Entry in res) {
}
var dicVals = new List<Dictionary<string, object>>();
var vals = sessionInfos.Children(); var vals = sessionInfos.Children();
var metricsObj = sessionInfos["SessionMetrics"] as JArray; var metricsObj = sessionInfos["SessionMetrics"] as JArray;
@@ -408,8 +417,6 @@ namespace C4IT.DataHistoryProvider
var aggregatedValue = GetAggregationValue(valuesOfColumn, configColumn.AggregationType, colInfo.ValueType); var aggregatedValue = GetAggregationValue(valuesOfColumn, configColumn.AggregationType, colInfo.ValueType);
AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(aggregatedValue, colInfo.ValueType)); AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(aggregatedValue, colInfo.ValueType));
} }
} }
catch (Exception E) catch (Exception E)
{ {
@@ -446,6 +453,179 @@ namespace C4IT.DataHistoryProvider
} }
} }
private async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetSessionStateMetricsAsync(cF4sdConnectorIds UserIds, string TenantId, cF4sdWebRequestInfo RequestInfo, int MaxAge, int LogDeep, CancellationToken Token)
{
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
if (cPerformanceLogger.IsActive && RequestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, RequestInfo.id, RequestInfo.created); }
var _startTime = DateTime.UtcNow;
try
{
var strUrl = string.Format(constCitrixSessions, UserIds.citrixUserId.ToString());
if (!Collector.ClusterConfig.Tables.TryGetValue(constTableNameSessionStateMetrics, out var SessionTableDetails))
return null;
var citrixCommunication = await GetCitrixCommunicationForTenantAsync(TenantId, true);
if (citrixCommunication == null)
return null;
var res = await citrixCommunication.RequestAsync(strUrl, retryForbidden: false);
if (res != null)
{
JObject sessionInfos = res.Result;
var retVal = new cF4SDHealthCardRawData.cHealthCardTable()
{
Name = constTableNameSessionStateMetrics,
InformationClass = enumFasdInformationClass.VirtualSession,
IsStatic = true,
TableType = eDataHistoryTableType.Static
};
var dicVals = new List<Dictionary<string, object>>();
var vals = sessionInfos.Children();
var metricsObj = sessionInfos["value"] as JArray;
if (metricsObj != null)
{
dicVals = metricsObj
.OfType<JObject>()
.Where(o =>
o["StartDate"] != null &&
o["ConnectionState"] != null &&
DateTime.TryParse(o["StartDate"].ToString(), out _)
)
.GroupBy(o => new
{
Date = DateTime.Parse(o["StartDate"].ToString()).Date,
ConnectionState = (int)o["ConnectionState"]
})
.OrderBy(g => g.Key.Date)
.Select(g => new Dictionary<string, object>
{
{ "StartDate", g.Key.Date }, // ✅ DateTime
{ "ConnectionState", g.Key.ConnectionState },
{ "ConnectionCount", g.Count() }
})
.ToList();
const string startDateColumnName = "StartDate";
const string connectionStatusColumnName = "ConnectionState";
var groupedValues = dicVals
.Where(v =>
v.TryGetValue(startDateColumnName, out var collectDate) &&
collectDate is DateTime &&
v.TryGetValue(connectionStatusColumnName, out _))
.GroupBy(v => new
{
StartDate = ((DateTime)v[startDateColumnName]).Date,
ConnectionStatus = v[connectionStatusColumnName]
})
.Select(g => new Dictionary<string, object>
{
{ startDateColumnName, g.Key.StartDate },
{ connectionStatusColumnName, g.Key.ConnectionStatus },
{ "ConnectionCount", g.Count() }
})
.ToLookup(d => new
{
StartDate = (DateTime)d[startDateColumnName],
ConnectionStatus = d[connectionStatusColumnName],
ConnectionCount = d["ConnectionCount"]
});
for (int i = 0; i < MaxAge; i++)
{
DateTime referenceDate = DateTime.Now.AddDays(-i).Date;
//var valuesOfDay = groupedValues.FirstOrDefault(v => v.Key.Date == referenceDate);
var valuesOfDay = groupedValues.Where(g => g.Key.StartDate == referenceDate).SelectMany(g => g).ToList();
foreach (var colInfo in SessionTableDetails.Columns.Values)
{
try
{
if (valuesOfDay is null)
{
AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(null, colInfo.ValueType));
continue;
}
var valuesOfColumn = valuesOfDay
.Select(v =>
{
if (v.TryGetValue(colInfo.SourceName, out var colValue))
return colValue;
else
return null;
})
.Where(v => v != null);
if (!valuesOfColumn.Any())
{
AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(null, colInfo.ValueType));
continue;
}
if (colInfo is cDataHistoryConfigColumn configColumn && configColumn.AggregationType != eDataHistoryAggregationType.Unknown)
{
var aggregatedValue = GetAggregationValue(valuesOfColumn, configColumn.AggregationType, colInfo.ValueType);
AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(aggregatedValue, colInfo.ValueType));
}
else
{
var value = valuesOfColumn.FirstOrDefault();
AddColumnData(retVal, colInfo.SourceName, ConvertToF4sdType(value, colInfo.ValueType));
}
}
catch (Exception E)
{
LogException(E);
}
}
}
return new List<cF4SDHealthCardRawData.cHealthCardTable>(1) { retVal };
}
else
{
LogEntry($"Could not get detailed sessionmetrics information from citrix with id {UserIds}. Sessionmetrics content is empty.", LogLevels.Warning);
}
}
}
catch (Exception E)
{
LogException(E);
}
finally
{
if (cPerformanceLogger.IsActive && RequestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, RequestInfo.id, RequestInfo.created, _startTime); }
if (CM != null) LogMethodEnd(CM);
}
return null;
void AddColumnData(cF4SDHealthCardRawData.cHealthCardTable table, string columnName, object value)
{
if (table.Columns.TryGetValue(columnName, out var columnValues))
columnValues.Values.Add(value);
else
table.Columns.Add(columnName, new cF4SDHealthCardRawData.cHealthCardTableColumn(table) { ColumnName = columnName, Values = new List<object>() { value } });
}
}
private async Task<List<cF4SDHealthCardRawData.cHealthCardDetailsTable>> GetSessionMetricsDetailsIcaRttMSAsync(Guid Sessionid, string TenantId, cF4sdWebRequestInfo RequestInfo,int MaxAge, DateTime RefTime, int LogDeep, CancellationToken Token) private async Task<List<cF4SDHealthCardRawData.cHealthCardDetailsTable>> GetSessionMetricsDetailsIcaRttMSAsync(Guid Sessionid, string TenantId, cF4sdWebRequestInfo RequestInfo,int MaxAge, DateTime RefTime, int LogDeep, CancellationToken Token)
{ {
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
@@ -1658,7 +1838,6 @@ namespace C4IT.DataHistoryProvider
return null; return null;
} }
private async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetSessionAsync(Guid Sessionid, string TenantId, cF4sdWebRequestInfo RequestInfo, int LogDeep, CancellationToken Token) private async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetSessionAsync(Guid Sessionid, string TenantId, cF4sdWebRequestInfo RequestInfo, int LogDeep, CancellationToken Token)
{ {
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
@@ -2205,7 +2384,7 @@ namespace C4IT.DataHistoryProvider
if (bDcLatencyDetailExists) if (bDcLatencyDetailExists)
listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardDetailsTable>>(async () => { return await GetSessionMetricsDetailsDcLatencyAsync(session.Id, userIds.citrixTenantId, requestInfo, MaxAge, RefTime, LogDeep + 1, Token); })); listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardDetailsTable>>(async () => { return await GetSessionMetricsDetailsDcLatencyAsync(session.Id, userIds.citrixTenantId, requestInfo, MaxAge, RefTime, LogDeep + 1, Token); }));
var arrRes = await Task.WhenAll(listTasks.ToArray()); var arrRes = await Task.WhenAll(listTasks.ToArray());
var retVal = new List<cF4SDHealthCardRawData.cHealthCardDetailsTable>(); var retVal = new List<cF4SDHealthCardRawData.cHealthCardDetailsTable>();
@@ -2401,8 +2580,8 @@ namespace C4IT.DataHistoryProvider
var _machineExists = Has(constTableNameSessionMachine); var _machineExists = Has(constTableNameSessionMachine);
var _connectionExists = Has(constTableNameSessionConnection); var _connectionExists = Has(constTableNameSessionConnection);
var _currentConnectionExists = Has(constTableNameSessionCurrentConnection); var _currentConnectionExists = Has(constTableNameSessionCurrentConnection);
var _sessionMetricsExists = Has(constTableNameSessionMetrics); var _sessionMetricsExists = Has(constTableNameSessionMetrics);
var retVal = new List<cF4SDHealthCardRawData.cHealthCardTable>(); var retVal = new List<cF4SDHealthCardRawData.cHealthCardTable>();
var listTasks = new List<Task<List<cF4SDHealthCardRawData.cHealthCardTable>>>(2); var listTasks = new List<Task<List<cF4SDHealthCardRawData.cHealthCardTable>>>(2);
@@ -2420,7 +2599,7 @@ namespace C4IT.DataHistoryProvider
//else //else
listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardTable>>(async () => { return await GetSessionAsync(session.Id, userIds.citrixTenantId, requestInfo, LogDeep + 1, Token); })); listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardTable>>(async () => { return await GetSessionAsync(session.Id, userIds.citrixTenantId, requestInfo, LogDeep + 1, Token); }));
if (_sessionMetricsExists) if (_sessionMetricsExists) {
//if (CacheId == null && !instantly) //if (CacheId == null && !instantly)
//{ //{
// retVal.Add(new cF4SDHealthCardRawData.cHealthCardTable() // retVal.Add(new cF4SDHealthCardRawData.cHealthCardTable()
@@ -2433,8 +2612,9 @@ namespace C4IT.DataHistoryProvider
//} //}
//else //else
listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardTable>>(async () => { return await GetSessionMetricsAsync(session.Id, userIds.citrixTenantId, requestInfo, MaxAge, LogDeep + 1, Token); })); listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardTable>>(async () => { return await GetSessionMetricsAsync(session.Id, userIds.citrixTenantId, requestInfo, MaxAge, LogDeep + 1, Token); }));
listTasks.Add(Task.Run<List<cF4SDHealthCardRawData.cHealthCardTable>>(async () => { return await GetSessionStateMetricsAsync(userIds, userIds.citrixTenantId, requestInfo, MaxAge, LogDeep + 1, Token); }));
}
if (_machineExists) if (_machineExists)
//if (CacheId == null && !instantly) //if (CacheId == null && !instantly)

View File

@@ -709,7 +709,10 @@ namespace C4IT.DataHistoryProvider
{ {
var relations = JsonConvert.DeserializeObject<List<cF4sdApiSearchResultRelation>>(json); var relations = JsonConvert.DeserializeObject<List<cF4sdApiSearchResultRelation>>(json);
if (relations != null) if (relations != null)
{
await EnsureTicketOverviewRelationIdentitiesAsync(relations, requestInfo, LogDeep + 1, Token);
return relations; return relations;
}
} }
} }
@@ -727,6 +730,94 @@ namespace C4IT.DataHistoryProvider
return new List<cF4sdApiSearchResultRelation>(); return new List<cF4sdApiSearchResultRelation>();
} }
private async Task EnsureTicketOverviewRelationIdentitiesAsync(
List<cF4sdApiSearchResultRelation> relations,
cF4sdWebRequestInfo requestInfo,
int logDeep,
CancellationToken token)
{
if (relations == null)
return;
foreach (var relation in relations)
{
if (token.IsCancellationRequested || relation == null)
return;
var identities = relation.Identities ?? new cF4sdIdentityList();
relation.Identities = identities;
if (!identities.Any(i => i.Class == enumFasdInformationClass.Ticket) && relation.id != Guid.Empty)
{
identities.Add(new cF4sdIdentityEntry
{
Class = enumFasdInformationClass.Ticket,
Id = relation.id
});
}
if (relation.Infos == null)
relation.Infos = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
if (!relation.Infos.ContainsKey("Sids") && relation.Infos.TryGetValue("UserSid", out var userSid) && !string.IsNullOrWhiteSpace(userSid))
relation.Infos["Sids"] = userSid;
Guid userId = Guid.Empty;
if (relation.Infos.Count > 0)
{
if (relation.Infos.TryGetValue("Sids", out var sidsValue))
{
var sids = sidsValue?.Split(',')
.Select(v => v.Trim())
.Where(v => !string.IsNullOrWhiteSpace(v))
.ToList();
if (sids != null && sids.Count > 0)
{
var resolved = await Collector.UserSearchBySidsAsync(sids, token, requestInfo, logDeep + 1);
var user = resolved?.Values?.FirstOrDefault()?.FirstOrDefault();
if (user?.Result != null)
userId = user.Result.id;
}
}
if (userId == Guid.Empty && relation.Infos.TryGetValue("UserAccount", out var userAccount))
{
relation.Infos.TryGetValue("UserDomain", out var userDomain);
if (!string.IsNullOrWhiteSpace(userAccount))
{
var resolved = await Collector.GetUserIdFromAccountAsync(userAccount, userDomain, requestInfo, logDeep + 1, token);
if (resolved.HasValue)
userId = resolved.Value;
}
}
if (userId == Guid.Empty)
{
if (relation.Infos.TryGetValue("UserId", out var userIdString) ||
relation.Infos.TryGetValue("UserGuid", out userIdString) ||
relation.Infos.TryGetValue("UserIdentityId", out userIdString))
{
Guid.TryParse(userIdString, out userId);
}
}
}
if (userId == Guid.Empty)
continue;
identities.RemoveAll(i => i.Class == enumFasdInformationClass.User);
identities.Add(new cF4sdIdentityEntry
{
Class = enumFasdInformationClass.User,
Id = userId
});
relation.Infos["UserId"] = userId.ToString();
relation.Infos["UserGuid"] = userId.ToString();
}
}
public override async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetTableResultsVirtualAsync(List<cDataHistoryConfigTable> Tables, Dictionary<enumFasdInformationClass, cF4sdConnectorIds> Identities, DateTime RefTime, int MaxAge, bool instantly, Guid? CacheId, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep) public override async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetTableResultsVirtualAsync(List<cDataHistoryConfigTable> Tables, Dictionary<enumFasdInformationClass, cF4sdConnectorIds> Identities, DateTime RefTime, int MaxAge, bool instantly, Guid? CacheId, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
{ {
@@ -2669,7 +2760,7 @@ namespace C4IT.DataHistoryProvider
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
//await Collector.ReportTicketAsync(ticketInfo, requestInfo, LogDeep + 1, token); await Collector.ReportTicketAsync(ticketInfo, requestInfo, LogDeep + 1, token);
return string.Empty; return string.Empty;
} }
} }
@@ -2918,7 +3009,7 @@ namespace C4IT.DataHistoryProvider
if (response.IsSuccessStatusCode) if (response.IsSuccessStatusCode)
{ {
//await Collector.ReportTicketAsync(ticketInfo, requestInfo, LogDeep + 1, token); await Collector.ReportTicketAsync(ticketInfo, requestInfo, LogDeep + 1, token);
return string.Empty; return string.Empty;
} }
} }

View File

@@ -511,8 +511,10 @@ namespace C4IT.DataHistoryProvider
public bool ScanIntuneDevices { get; private set; } = false; public bool ScanIntuneDevices { get; private set; } = false;
public bool WithMobileDevices { get; private set; } = false; public bool WithMobileDevices { get; private set; } = false;
public string ScanFilter { get; private set; } = ""; public string ScanFilterUser { get; private set; } = "";
public bool UseConsistencyLevelEventual { get; private set; } = false; public bool ConsistencyLevelEventualUserFilter { get; private set; } = false;
public bool UseBetaUserFilter { get; private set; } = false;
internal cDataHistoryAzureTenant(XmlElement XNode, Dictionary<string, cCredential> Credentials, cXmlParser Parser) internal cDataHistoryAzureTenant(XmlElement XNode, Dictionary<string, cCredential> Credentials, cXmlParser Parser)
{ {
@@ -547,18 +549,19 @@ namespace C4IT.DataHistoryProvider
ScanIntuneDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "ScanIntuneDevices"); ScanIntuneDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "ScanIntuneDevices");
WithMobileDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "WithMobileDevices"); WithMobileDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "WithMobileDevices");
var XFilterNode = XNode.SelectSingleNode("Azure-Scan-Filter"); var XFilterNode = XNode.SelectSingleNode("Azure-Filter-User");
if (XFilterNode is XmlElement XFilter) if (XFilterNode is XmlElement XFilter)
{ {
Parser.EnterElement("Azure-AD"); Parser.EnterElement("Azure-Filter-User");
try try
{ {
ScanFilter = XFilter.SelectSingleNode("text()")?.Value; ScanFilterUser = XFilter.SelectSingleNode("text()")?.Value;
UseConsistencyLevelEventual = cXmlParser.GetBoolFromXmlAttribute(XFilter, "UseConsistencyLevelEventual"); ConsistencyLevelEventualUserFilter = cXmlParser.GetBoolFromXmlAttribute(XFilter, "UseConsistencyLevelEventual");
UseBetaUserFilter = cXmlParser.GetBoolFromXmlAttribute(XFilter, "UseBetaEnpoint");
} }
finally finally
{ {
Parser.LeaveElement("Azure-AD"); Parser.LeaveElement("Azure-Filter-User");
} }
} }

View File

@@ -1,44 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd"> <F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd">
<CopyTemplates Default="Ticket-Information"> <CopyTemplates Default="Ticket-Information-Computer">
<CopyTemplate Name="Ticket-Information"> <CopyTemplate Name="Ticket-Information-Computer">
<Name Lang="DE">Ticket-Information</Name> <Name Lang="DE">Ticket-Information-Computer</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description> <Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description> <Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/> <Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value% <CopyContent Format="UNICODE">
%UserFullName.Label% %UserFullName.Value% %DeviceName.Label% %DeviceName.Value%
%UserAccount.Label% %UserAccount.Value% %UserFullName.Label% %UserFullName.Value%
%DeviceModel.Label% %DeviceModel.Value% %UserAccount.Label% %UserAccount.Value%
%OsInfo.Label% %OsInfo.Value% %DeviceModel.Label% %DeviceModel.Value%
%IpAddress.Label% %IpAddress.Value% %OsInfo.Label% %OsInfo.Value%
%LastBoot.Label% %LastBoot.Value% %IpAddress.Label% %IpAddress.Value%
%LastSeen.Label% %LastSeen.Value%</CopyContent> %LastBoot.Label% %LastBoot.Value%
<CopyContent Format="HTML">&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt; %LastSeen.Label% %LastSeen.Value%
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt; </CopyContent>
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt; <CopyContent Format="HTML">
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt; &lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</CopyContent> &lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate>
<CopyTemplate Name="Ticket Information-VM">
<Name Lang="DE">Ticket Information VM</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">
%VirtualSessionName.Label% %VirtualSessionName.Value%
%VirtualSessionStatus.Label% %VirtualSessionStatus.Value%
%HostedMachine.Label% %HostedMachine.Value%
%DeviceName.Label% %DeviceName.Value%
</CopyContent>
<CopyContent Format="HTML">
&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%VirtualSessionName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionStatus.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%VirtualSessionStatus.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%HostedMachine.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%HostedMachine.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="Computer name"> <CopyTemplate Name="Computer name">
<Name Lang="DE">Computer Name</Name> <Name Lang="DE">Computer Name</Name>
<Section>DemoActions</Section> <Section>DemoActions</Section>
<Icon Name="misc_computer" IconType="intern"/> <Icon Name="misc_computer" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Value%</CopyContent> <CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User name"> <CopyTemplate Name="User name">
<Name Lang="DE">Anwendername</Name> <Name Lang="DE">Anwendername</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserFullName.Value%</CopyContent> <CopyContent Format="UNICODE">%UserFullName.Label% %UserFullName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User account"> <CopyTemplate Name="User account">
<Name Lang="DE">Anwender Account</Name> <Name Lang="DE">Anwender Account</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserAccount.Value%</CopyContent> <CopyContent Format="UNICODE">%UserAccount.Label% %UserAccount.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
</CopyTemplates> </CopyTemplates>
</F4SD-CopyTemplate-Configuration> </F4SD-CopyTemplate-Configuration>

View File

@@ -1378,6 +1378,14 @@
<Table-Column Name="DcLatency" Type="int" Aggregation="average" /> <Table-Column Name="DcLatency" Type="int" Aggregation="average" />
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="citrix-connectionState-metrics" Type="History" Key="Id">
<Table-Columns>
<Table-Column Name="Id" Type="int" />
<Table-Column Name="StartDate" Type="datetime" />
<Table-Column Name="ConnectionState" Type="int" />
<Table-Column Name="ConnectionCount" Type="int" />
</Table-Columns>
</Table>
<Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time"> <Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time">
<Table-Columns> <Table-Columns>
<Table-Column Name="Id" Type="int" /> <Table-Column Name="Id" Type="int" />

View File

@@ -1377,10 +1377,20 @@
<NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default"> <NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default">
<Name Lang="DE">Session</Name> <Name Lang="DE">Session</Name>
</NamedParameter> </NamedParameter>
<NamedParameter ParameterName="VirtualSessionStatus" Name="Session status" Display="STRING" ValueTable="citrix-session" ValueColumn="ConnectionState"> <NamedParameter ParameterName="DNSName" Name="DNS name" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="DnsName" >
<Name Lang="DE">Session Status</Name> <Name Lang="DE">DNS Name</Name>
</NamedParameter>
<NamedParameter ParameterName="DomainName" Name="Domain name" Display="STRING" ValueTable="citrix-session-user" ValueColumn="Domain">
<Name Lang="DE">Domäne Name</Name>
</NamedParameter>
<NamedParameter ParameterName="HostedMachine" Name="HostedMachine" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hosted Machine</Name>
</NamedParameter>
<NamedParameter ParameterName="DeviceName" Name="Computername" Display="STRING" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
<Name Lang="DE">Gerätname</Name>
</NamedParameter> </NamedParameter>
</NamedParameters> </NamedParameters>
<Computations> <Computations>
<Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" /> <Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" />
<Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" /> <Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" />
@@ -1390,7 +1400,7 @@
<Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" /> <Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" />
<Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" /> <Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" />
<Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" /> <Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" />
<Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable"/> <Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable" />
</Computations> </Computations>
<Translations> <Translations>
<Translator Name="citrix_connectionState"> <Translator Name="citrix_connectionState">
@@ -1493,14 +1503,11 @@
</Translation> </Translation>
</Translator> </Translator>
</Translations> </Translations>
<Header> <Header>
<HeaderValue InformationClass="User" ParameterName="UserFullName" /> <HeaderValue InformationClass="User" ParameterName="UserFullName" />
<HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" /> <HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" />
</Header> </Header>
<CategoriesStatic> <CategoriesStatic>
<StateCategory Name="UserInformationWidget"> <StateCategory Name="UserInformationWidget">
<State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Benutzer-Informationen</Name> <Name Lang="DE">Benutzer-Informationen</Name>
@@ -1521,11 +1528,7 @@
<Name Lang="DE">Desktopgruppe</Name> <Name Lang="DE">Desktopgruppe</Name>
</State-Info> </State-Info>
</StateCategory> </StateCategory>
<StateCategory Name="SessionInformationWidget"> <StateCategory Name="SessionInformationWidget">
<State-Info Name="Session Id" ValueTable="citrix-session" ValueColumn="Id">
<Name Lang="DE">Session Id</Name>
</State-Info>
<State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Session-Informationen</Name> <Name Lang="DE">Session-Informationen</Name>
</State-Info> </State-Info>
@@ -1538,7 +1541,7 @@
<State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate"> <State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate">
<Name Lang="DE">Enddatum</Name> <Name Lang="DE">Enddatum</Name>
</State-Info> </State-Info>
<State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation ="citrix_connectionState" DefaultState="Ok" > <State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation="citrix_connectionState" DefaultState="Ok">
<Name Lang="DE">Verbindungsstatus</Name> <Name Lang="DE">Verbindungsstatus</Name>
</State-Translation> </State-Translation>
<State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName"> <State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
@@ -1551,7 +1554,6 @@
<Name Lang="DE">Anonym</Name> <Name Lang="DE">Anonym</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="SessionConnectionInformationWidget"> <StateCategory Name="SessionConnectionInformationWidget">
<State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Verbindung-Informationen</Name> <Name Lang="DE">Verbindung-Informationen</Name>
@@ -1585,12 +1587,10 @@
<Name Lang="DE">Profilladezeit</Name> <Name Lang="DE">Profilladezeit</Name>
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="MachineInformationWidget"> <StateCategory Name="MachineInformationWidget">
<State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host-Informationen</Name> <Name Lang="DE">Host-Informationen</Name>
</State-Info> </State-Info>
<State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine"> <State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hostname</Name> <Name Lang="DE">Hostname</Name>
</State-Info> </State-Info>
@@ -1613,12 +1613,28 @@
<Name Lang="DE">Wartungsmodus aktiv</Name> <Name Lang="DE">Wartungsmodus aktiv</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="MachineUsageInformationWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name>
</State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">RAM/Arbeitsspeicher Auslastung</Name>
</State-Level>
<State-Level Name="Disk Utilization" ValueTable="citrix-session-machine" ValueColumn="Disk" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">Speicher Auslastung</Name>
</State-Level>
<State-Info Name="Current Session Count" ValueTable="citrix-session-machine" ValueColumn="CurrentSessionCount">
<Name Lang="DE">Aktuelle Sitzungsanzahl</Name>
</State-Info>
</StateCategory>
<StateCategory Name="MachineMetricWidget"> <StateCategory Name="MachineMetricWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name> <Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info> </State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok" > <State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name> <Name Lang="DE">CPU Auslastung</Name>
</State-Level> </State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok"> <State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
@@ -1632,15 +1648,12 @@
</State-Info> </State-Info>
</StateCategory> </StateCategory>
</CategoriesStatic> </CategoriesStatic>
<CategoriesStatic-Slim></CategoriesStatic-Slim> <CategoriesStatic-Slim></CategoriesStatic-Slim>
<CategoriesHistory> <CategoriesHistory>
<StateCategory Name="Network Performance"> <StateCategory Name="Network Performance">
<Name Lang="DE">Netzwerk Performance</Name> <Name Lang="DE">Netzwerk Performance</Name>
<Description Lang="EN">Information about network performance</Description> <Description Lang="EN">Information about network performance</Description>
<Description Lang="DE">Informationen über die Netzwerk Performance</Description> <Description Lang="DE">Informationen über die Netzwerk Performance</Description>
<State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s"> <State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Genutzte Input Bandbreite</Name> <Name Lang="DE">Genutzte Input Bandbreite</Name>
<Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description> <Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description>
@@ -1656,7 +1669,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s"> <State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Verfügbare Output Bandbreite</Name> <Name Lang="DE">Verfügbare Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth available in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth available in this Citrix session.</Description>
@@ -1677,7 +1689,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok"> <State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok">
<Name Lang="DE">Genutzte Output Bandbreite</Name> <Name Lang="DE">Genutzte Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth used in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth used in this Citrix session.</Description>
@@ -1687,16 +1698,22 @@
<QuickAction Name="Session Hidden" /> <QuickAction Name="Session Hidden" />
<QuickAction Name="Send message to Session" /> <QuickAction Name="Send message to Session" />
</QuickActions> </QuickActions>
<!--<State-Details ValueTable="agnt-computer-event-details-outputBandwidthUsed">
<State-Details-Column Name="From" Description="Time of measure" ValueColumn="time" Display="TIME">
<Name Lang="DE">Zeitpunkt</Name>
<Description Lang="DE">Zeitpunkt des Messwerts</Description>
</State-Details-Column>
<State-Details-Column Name="Usage" ValueColumn="Value" Display="BYTES">
<Name Lang="DE">Nutzung</Name>
</State-Details-Column>
</State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="50" StepLengthLine="50" MaxValue="500" MinValue="0" />-->
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="HDX Performance"> <StateCategory Name="HDX Performance">
<Name Lang="DE">HDX Performance</Name> <Name Lang="DE">HDX Performance</Name>
<Description Lang="EN">Information about HDX Performance</Description> <Description Lang="EN">Information about HDX Performance</Description>
<Description Lang="DE">Informationen über HDX Performance</Description> <Description Lang="DE">Informationen über HDX Performance</Description>
<State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Input FPS</Name> <Name Lang="DE">Input FPS</Name>
<Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description> <Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description>
@@ -1712,7 +1729,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Output FPS</Name> <Name Lang="DE">Output FPS</Name>
<Description Lang="EN">The frame rate the client displays on the screen after processing.</Description> <Description Lang="EN">The frame rate the client displays on the screen after processing.</Description>
@@ -1728,7 +1744,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">FPS (Bilder pro Sekunde)</Name> <Name Lang="DE">FPS (Bilder pro Sekunde)</Name>
<Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description> <Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description>
@@ -1749,14 +1764,11 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="Session Latency Performance"> <StateCategory Name="Session Latency Performance">
<Name Lang="DE">Session Latenz Performance</Name> <Name Lang="DE">Session Latenz Performance</Name>
<Description Lang="EN">Information about session latencies</Description> <Description Lang="EN">Information about session latencies</Description>
<Description Lang="DE">Informationen über die Session Latenz</Description> <Description Lang="DE">Informationen über die Session Latenz</Description>
<State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA RTT</Name> <Name Lang="DE">ICA RTT</Name>
<Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description> <Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description>
@@ -1772,7 +1784,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA Latenz</Name> <Name Lang="DE">ICA Latenz</Name>
<Description Lang="EN">Measured ICA Latency in this Citrix session.</Description> <Description Lang="EN">Measured ICA Latency in this Citrix session.</Description>
@@ -1788,7 +1799,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Server Latenz</Name> <Name Lang="DE">Server Latenz</Name>
<Description Lang="EN">Measured Server Latency in this Citrix session.</Description> <Description Lang="EN">Measured Server Latency in this Citrix session.</Description>
@@ -1804,7 +1814,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Client Latenz</Name> <Name Lang="DE">Client Latenz</Name>
<Description Lang="EN">Measured Client Latency in this Citrix session.</Description> <Description Lang="EN">Measured Client Latency in this Citrix session.</Description>
@@ -1818,9 +1827,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">WAN Latenz</Name> <Name Lang="DE">WAN Latenz</Name>
<Description Lang="EN">Measured WAN Latency in this Citrix session.</Description> <Description Lang="EN">Measured WAN Latency in this Citrix session.</Description>
@@ -1834,9 +1842,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">DC (Delivery Controller) Latenz</Name> <Name Lang="DE">DC (Delivery Controller) Latenz</Name>
<Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description> <Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description>
@@ -1852,7 +1859,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
</CategoriesHistory> </CategoriesHistory>
</HealthCard> </HealthCard>

View File

@@ -77,7 +77,7 @@
</Active-Directory> </Active-Directory>
<Azure-AD> <Azure-AD>
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"> <Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Scan-Filter> <Azure-Filter-User UseBetaEnpoint="true" UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Filter-User>
</Azure-Tenant> </Azure-Tenant>
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>--> <!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
</Azure-AD> </Azure-AD>

View File

@@ -83,6 +83,38 @@ namespace FasdWebService.Controllers
return BadRequest(); return BadRequest();
} }
[Route("api/GetCollectorStatus")]
public IHttpActionResult GetCollectorStatus()
{
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
var requestInfo = new cF4sdWebRequestInfo("GetCollectorStatus", "configCockpit", cAuthentication.GetUserInfo(ActionContext));
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceStart(0, requestInfo.requestName, requestInfo.id, requestInfo.created); }
var apiError = 0;
try
{
var retVal = WebApiApplication.Collector.GetCollectorStatus(requestInfo);
if (retVal != null)
return Ok(retVal);
apiError = (int)HttpStatusCode.BadRequest;
}
catch (Exception E)
{
apiError = E.HResult;
LogException(E);
}
finally
{
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(0, requestInfo.requestName, requestInfo.id, requestInfo.created, requestInfo.created, ErrorCode: apiError); }
if (WebApiApplication.Debug_apiTiming) WebApiApplication.SaveApiTimingEntry(requestInfo.requestName, requestInfo.id, requestInfo.created, apiError);
if (CM != null) LogMethodEnd(CM);
}
return BadRequest();
}
} }
} }

View File

@@ -1,44 +1,67 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd"> <F4SD-CopyTemplate-Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F4SD-CopyTemplate-Configuration.xsd">
<CopyTemplates Default="Ticket-Information"> <CopyTemplates Default="Ticket-Information-Computer">
<CopyTemplate Name="Ticket-Information"> <CopyTemplate Name="Ticket-Information-Computer">
<Name Lang="DE">Ticket-Information</Name> <Name Lang="DE">Ticket-Information-Computer</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description> <Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description> <Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/> <Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value% <CopyContent Format="UNICODE">
%UserFullName.Label% %UserFullName.Value% %DeviceName.Label% %DeviceName.Value%
%UserAccount.Label% %UserAccount.Value% %UserFullName.Label% %UserFullName.Value%
%DeviceModel.Label% %DeviceModel.Value% %UserAccount.Label% %UserAccount.Value%
%OsInfo.Label% %OsInfo.Value% %DeviceModel.Label% %DeviceModel.Value%
%IpAddress.Label% %IpAddress.Value% %OsInfo.Label% %OsInfo.Value%
%LastBoot.Label% %LastBoot.Value% %IpAddress.Label% %IpAddress.Value%
%LastSeen.Label% %LastSeen.Value%</CopyContent> %LastBoot.Label% %LastBoot.Value%
<CopyContent Format="HTML">&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt; %LastSeen.Label% %LastSeen.Value%
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt; </CopyContent>
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt; <CopyContent Format="HTML">
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt; &lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%DeviceName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%DeviceName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserFullName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserFullName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%UserAccount.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%UserAccount.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;em&gt;%OsInfo.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%OsInfo.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</CopyContent> &lt;tr&gt;&lt;td&gt;&lt;em&gt;%IpAddress.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%IpAddress.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastBoot.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastBoot.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%LastSeen.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%LastSeen.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate>
<CopyTemplate Name="Ticket Information-VM">
<Name Lang="DE">Ticket Information VM</Name>
<Description Lang="EN">Transfers the relevant information for ticket creation to the clipboard.</Description>
<Description Lang="DE">Überträgt die relevanten Informationen für eine Ticket Erstellung in den Zwischenspeicher.</Description>
<Icon Name="misc_ticket" IconType="intern"/>
<CopyContent Format="UNICODE">
%VirtualSessionName.Label% %VirtualSessionName.Value%
%VirtualSessionStatus.Label% %VirtualSessionStatus.Value%
%HostedMachine.Label% %HostedMachine.Value%
%DeviceName.Label% %DeviceName.Value%
</CopyContent>
<CopyContent Format="HTML">
&lt;table border=&quot;1&quot; cellpadding=&quot;5,1,5,1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionName.Label%&lt;/em&gt;&lt;/td&gt;&lt;td style=&quot;color: #0000ff;&quot;&gt;%VirtualSessionName.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%VirtualSessionStatus.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%VirtualSessionStatus.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;em&gt;%HostedMachine.Label%&lt;/em&gt;&lt;/td&gt;&lt;td&gt;%HostedMachine.Value%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="Computer name"> <CopyTemplate Name="Computer name">
<Name Lang="DE">Computer Name</Name> <Name Lang="DE">Computer Name</Name>
<Section>DemoActions</Section> <Section>DemoActions</Section>
<Icon Name="misc_computer" IconType="intern"/> <Icon Name="misc_computer" IconType="intern"/>
<CopyContent Format="UNICODE">%DeviceName.Value%</CopyContent> <CopyContent Format="UNICODE">%DeviceName.Label% %DeviceName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User name"> <CopyTemplate Name="User name">
<Name Lang="DE">Anwendername</Name> <Name Lang="DE">Anwendername</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserFullName.Value%</CopyContent> <CopyContent Format="UNICODE">%UserFullName.Label% %UserFullName.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
<CopyTemplate Name="User account"> <CopyTemplate Name="User account">
<Name Lang="DE">Anwender Account</Name> <Name Lang="DE">Anwender Account</Name>
<Icon Name="misc_user" IconType="intern"/> <Icon Name="misc_user" IconType="intern"/>
<CopyContent Format="UNICODE">%UserAccount.Value%</CopyContent> <CopyContent Format="UNICODE">%UserAccount.Label% %UserAccount.Value%</CopyContent>
</CopyTemplate> </CopyTemplate>
</CopyTemplates> </CopyTemplates>
</F4SD-CopyTemplate-Configuration> </F4SD-CopyTemplate-Configuration>

View File

@@ -1378,6 +1378,14 @@
<Table-Column Name="DcLatency" Type="int" Aggregation="average" /> <Table-Column Name="DcLatency" Type="int" Aggregation="average" />
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="citrix-connectionState-metrics" Type="History" Key="Id">
<Table-Columns>
<Table-Column Name="Id" Type="int" />
<Table-Column Name="StartDate" Type="datetime" />
<Table-Column Name="ConnectionState" Type="int" />
<Table-Column Name="ConnectionCount" Type="int" />
</Table-Columns>
</Table>
<Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time"> <Table Name="citrix-session-details-icaRttMS" Type="Events" Key="Id" EventTimeCol="time">
<Table-Columns> <Table-Columns>
<Table-Column Name="Id" Type="int" /> <Table-Column Name="Id" Type="int" />

View File

@@ -1377,10 +1377,20 @@
<NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default"> <NamedParameter ParameterName="VirtualSessionName" Name="Session name" Display="STRING" ValueTable="Computation_DomainRegEx" ValueColumn="default">
<Name Lang="DE">Session</Name> <Name Lang="DE">Session</Name>
</NamedParameter> </NamedParameter>
<NamedParameter ParameterName="VirtualSessionStatus" Name="Session status" Display="STRING" ValueTable="citrix-session" ValueColumn="ConnectionState"> <NamedParameter ParameterName="DNSName" Name="DNS name" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="DnsName" >
<Name Lang="DE">Session Status</Name> <Name Lang="DE">DNS Name</Name>
</NamedParameter>
<NamedParameter ParameterName="DomainName" Name="Domain name" Display="STRING" ValueTable="citrix-session-user" ValueColumn="Domain">
<Name Lang="DE">Domäne Name</Name>
</NamedParameter>
<NamedParameter ParameterName="HostedMachine" Name="HostedMachine" Display="STRING" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hosted Machine</Name>
</NamedParameter>
<NamedParameter ParameterName="DeviceName" Name="Computername" Display="STRING" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
<Name Lang="DE">Gerätname</Name>
</NamedParameter> </NamedParameter>
</NamedParameters> </NamedParameters>
<Computations> <Computations>
<Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" /> <Computation-DiffDateTime Name="SessionDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="LogOnStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="LogOnEndDate" />
<Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" /> <Computation-DiffDateTime Name="VMSDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="VMStartStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="VMStartEndDate" />
@@ -1390,7 +1400,7 @@
<Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" /> <Computation-DiffDateTime Name="ProfileLoadDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="ProfileLoadStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="ProfileLoadEndDate" />
<Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" /> <Computation-DiffDateTime Name="InteractiveDuration" ValueTable0="citrix-session-currentConnection" ValueColumn0="InteractiveStartDate" ValueTable1="citrix-session-currentConnection" ValueColumn1="InteractiveStartDate" />
<Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" /> <Computation-RegEx Name="DomainRegEx" RegExFilter="[^\\]+$" ValueTable="citrix-session-machine" ValueColumn="Name" />
<Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable"/> <Computation-Percent Name="UsedOutputBandwidth_relative" DividendValueTable="citrix-session-metrics" DividendValueColumn="OutputBandwidthUsed" DivisorValueTable="citrix-session-metrics" DivisorValueColumn="OutputBandwidthAvailable" />
</Computations> </Computations>
<Translations> <Translations>
<Translator Name="citrix_connectionState"> <Translator Name="citrix_connectionState">
@@ -1493,14 +1503,11 @@
</Translation> </Translation>
</Translator> </Translator>
</Translations> </Translations>
<Header> <Header>
<HeaderValue InformationClass="User" ParameterName="UserFullName" /> <HeaderValue InformationClass="User" ParameterName="UserFullName" />
<HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" /> <HeaderValue InformationClass="VirtualSession" ParameterName="VirtualSessionName" />
</Header> </Header>
<CategoriesStatic> <CategoriesStatic>
<StateCategory Name="UserInformationWidget"> <StateCategory Name="UserInformationWidget">
<State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="User Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Benutzer-Informationen</Name> <Name Lang="DE">Benutzer-Informationen</Name>
@@ -1521,11 +1528,7 @@
<Name Lang="DE">Desktopgruppe</Name> <Name Lang="DE">Desktopgruppe</Name>
</State-Info> </State-Info>
</StateCategory> </StateCategory>
<StateCategory Name="SessionInformationWidget"> <StateCategory Name="SessionInformationWidget">
<State-Info Name="Session Id" ValueTable="citrix-session" ValueColumn="Id">
<Name Lang="DE">Session Id</Name>
</State-Info>
<State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Session Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Session-Informationen</Name> <Name Lang="DE">Session-Informationen</Name>
</State-Info> </State-Info>
@@ -1538,7 +1541,7 @@
<State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate"> <State-Info Name="End Date" ValueTable="citrix-session" Display="DATETIME" ValueColumn="EndDate">
<Name Lang="DE">Enddatum</Name> <Name Lang="DE">Enddatum</Name>
</State-Info> </State-Info>
<State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation ="citrix_connectionState" DefaultState="Ok" > <State-Translation Name="Connection State" ValueTable="citrix-session" ValueColumn="ConnectionState" Translation="citrix_connectionState" DefaultState="Ok">
<Name Lang="DE">Verbindungsstatus</Name> <Name Lang="DE">Verbindungsstatus</Name>
</State-Translation> </State-Translation>
<State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName"> <State-Info Name="Client Name" ValueTable="citrix-session-currentConnection" ValueColumn="ClientName">
@@ -1551,7 +1554,6 @@
<Name Lang="DE">Anonym</Name> <Name Lang="DE">Anonym</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="SessionConnectionInformationWidget"> <StateCategory Name="SessionConnectionInformationWidget">
<State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Connection Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Verbindung-Informationen</Name> <Name Lang="DE">Verbindung-Informationen</Name>
@@ -1585,12 +1587,10 @@
<Name Lang="DE">Profilladezeit</Name> <Name Lang="DE">Profilladezeit</Name>
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="MachineInformationWidget"> <StateCategory Name="MachineInformationWidget">
<State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host-Informationen</Name> <Name Lang="DE">Host-Informationen</Name>
</State-Info> </State-Info>
<State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine"> <State-Info Name="Hostname" ValueTable="citrix-session-machine" ValueColumn="HostedMachine">
<Name Lang="DE">Hostname</Name> <Name Lang="DE">Hostname</Name>
</State-Info> </State-Info>
@@ -1613,12 +1613,28 @@
<Name Lang="DE">Wartungsmodus aktiv</Name> <Name Lang="DE">Wartungsmodus aktiv</Name>
</State-Translation> </State-Translation>
</StateCategory> </StateCategory>
<StateCategory Name="MachineUsageInformationWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name>
</State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">RAM/Arbeitsspeicher Auslastung</Name>
</State-Level>
<State-Level Name="Disk Utilization" ValueTable="citrix-session-machine" ValueColumn="Disk" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">Speicher Auslastung</Name>
</State-Level>
<State-Info Name="Current Session Count" ValueTable="citrix-session-machine" ValueColumn="CurrentSessionCount">
<Name Lang="DE">Aktuelle Sitzungsanzahl</Name>
</State-Info>
</StateCategory>
<StateCategory Name="MachineMetricWidget"> <StateCategory Name="MachineMetricWidget">
<State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default"> <State-Info Name="Host Utilization Info" ValueTable="Computation_EmptyConstant" ValueColumn="default">
<Name Lang="DE">Host Nutzung-Informationen</Name> <Name Lang="DE">Host Nutzung-Informationen</Name>
</State-Info> </State-Info>
<State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok" > <State-Level Name="CPU Utilization" ValueTable="citrix-session-machine" ValueColumn="Cpu" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
<Name Lang="DE">CPU Auslastung</Name> <Name Lang="DE">CPU Auslastung</Name>
</State-Level> </State-Level>
<State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok"> <State-Level Name="RAM/Memory Utilization" ValueTable="citrix-session-machine" ValueColumn="Memory" Display="PERCENT100" Direction="up" Warning="50" Error="80" DefaultState="Ok">
@@ -1632,15 +1648,12 @@
</State-Info> </State-Info>
</StateCategory> </StateCategory>
</CategoriesStatic> </CategoriesStatic>
<CategoriesStatic-Slim></CategoriesStatic-Slim> <CategoriesStatic-Slim></CategoriesStatic-Slim>
<CategoriesHistory> <CategoriesHistory>
<StateCategory Name="Network Performance"> <StateCategory Name="Network Performance">
<Name Lang="DE">Netzwerk Performance</Name> <Name Lang="DE">Netzwerk Performance</Name>
<Description Lang="EN">Information about network performance</Description> <Description Lang="EN">Information about network performance</Description>
<Description Lang="DE">Informationen über die Netzwerk Performance</Description> <Description Lang="DE">Informationen über die Netzwerk Performance</Description>
<State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s"> <State-Level Name="Input Bandwidth Used" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="InputBandwidthUsed" Direction="up" Warning="100000000" Error="200000000" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Genutzte Input Bandbreite</Name> <Name Lang="DE">Genutzte Input Bandbreite</Name>
<Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description> <Description Lang="EN">Used Input Bandwidth in this Citrix session.</Description>
@@ -1656,7 +1669,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s"> <State-Level Name="Output Bandwidth Available" Display="BITS_PERSECOND" ValueTable="citrix-session-metrics" ValueColumn="OutputBandwidthAvailable" Direction="down" Warning="75000000" Error="5000000" DefaultState="Ok" UnitFormat="{0} Mbit/s">
<Name Lang="DE">Verfügbare Output Bandbreite</Name> <Name Lang="DE">Verfügbare Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth available in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth available in this Citrix session.</Description>
@@ -1677,7 +1689,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-BandwidthAvailableOut" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="150" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok"> <State-Level Name="Output Bandwidth Used" Display="PERCENT" ValueTable="Computation_UsedOutputBandwidth_relative" ValueColumn="default" Direction="up" Warning="0.30" Error="0.50" DefaultState="Ok">
<Name Lang="DE">Genutzte Output Bandbreite</Name> <Name Lang="DE">Genutzte Output Bandbreite</Name>
<Description Lang="EN">Output Bandwidth used in this Citrix session.</Description> <Description Lang="EN">Output Bandwidth used in this Citrix session.</Description>
@@ -1687,16 +1698,22 @@
<QuickAction Name="Session Hidden" /> <QuickAction Name="Session Hidden" />
<QuickAction Name="Send message to Session" /> <QuickAction Name="Send message to Session" />
</QuickActions> </QuickActions>
<!--<State-Details ValueTable="agnt-computer-event-details-outputBandwidthUsed">
<State-Details-Column Name="From" Description="Time of measure" ValueColumn="time" Display="TIME">
<Name Lang="DE">Zeitpunkt</Name>
<Description Lang="DE">Zeitpunkt des Messwerts</Description>
</State-Details-Column>
<State-Details-Column Name="Usage" ValueColumn="Value" Display="BYTES">
<Name Lang="DE">Nutzung</Name>
</State-Details-Column>
</State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputBandwidthUsed" TimeColumn="time" ValueColumn="Value" StepLengthScale="50" StepLengthLine="50" MaxValue="500" MinValue="0" />-->
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="HDX Performance"> <StateCategory Name="HDX Performance">
<Name Lang="DE">HDX Performance</Name> <Name Lang="DE">HDX Performance</Name>
<Description Lang="EN">Information about HDX Performance</Description> <Description Lang="EN">Information about HDX Performance</Description>
<Description Lang="DE">Informationen über HDX Performance</Description> <Description Lang="DE">Informationen über HDX Performance</Description>
<State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Input FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="InputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Input FPS</Name> <Name Lang="DE">Input FPS</Name>
<Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description> <Description Lang="EN">Frame rate per second transmitted from the server to the client.</Description>
@@ -1712,7 +1729,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-inputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="Output FPS" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="OutputFps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">Output FPS</Name> <Name Lang="DE">Output FPS</Name>
<Description Lang="EN">The frame rate the client displays on the screen after processing.</Description> <Description Lang="EN">The frame rate the client displays on the screen after processing.</Description>
@@ -1728,7 +1744,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-outputFps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS"> <State-Level Name="FPS (Frames per Second)" Display="INTEGER" ValueTable="citrix-session-metrics" ValueColumn="Fps" Direction="down" Warning="15" Error="10" DefaultState="Ok" UnitFormat="{0} PS">
<Name Lang="DE">FPS (Bilder pro Sekunde)</Name> <Name Lang="DE">FPS (Bilder pro Sekunde)</Name>
<Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description> <Description Lang="EN">Measured FPS (Frame per second) in this Citrix session.</Description>
@@ -1749,14 +1764,11 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-fps" TimeColumn="time" ValueColumn="Value" StepLengthScale="10" StepLengthLine="10" MaxValue="40" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
<StateCategory Name="Session Latency Performance"> <StateCategory Name="Session Latency Performance">
<Name Lang="DE">Session Latenz Performance</Name> <Name Lang="DE">Session Latenz Performance</Name>
<Description Lang="EN">Information about session latencies</Description> <Description Lang="EN">Information about session latencies</Description>
<Description Lang="DE">Informationen über die Session Latenz</Description> <Description Lang="DE">Informationen über die Session Latenz</Description>
<State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="IcaRttMS" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaRttMS" Direction="up" Warning="200" Error="300" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA RTT</Name> <Name Lang="DE">ICA RTT</Name>
<Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description> <Description Lang="EN">Measured response time (Round Trip Time) in this Citrix session.</Description>
@@ -1772,7 +1784,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaRttMS" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="ICA Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="IcaLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">ICA Latenz</Name> <Name Lang="DE">ICA Latenz</Name>
<Description Lang="EN">Measured ICA Latency in this Citrix session.</Description> <Description Lang="EN">Measured ICA Latency in this Citrix session.</Description>
@@ -1788,7 +1799,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-icaLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Server Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="ServerL7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Server Latenz</Name> <Name Lang="DE">Server Latenz</Name>
<Description Lang="EN">Measured Server Latency in this Citrix session.</Description> <Description Lang="EN">Measured Server Latency in this Citrix session.</Description>
@@ -1804,7 +1814,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-serverL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="Client Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="Client7Latency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">Client Latenz</Name> <Name Lang="DE">Client Latenz</Name>
<Description Lang="EN">Measured Client Latency in this Citrix session.</Description> <Description Lang="EN">Measured Client Latency in this Citrix session.</Description>
@@ -1818,9 +1827,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-clientL7Latency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="WanLatency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="WanLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">WAN Latenz</Name> <Name Lang="DE">WAN Latenz</Name>
<Description Lang="EN">Measured WAN Latency in this Citrix session.</Description> <Description Lang="EN">Measured WAN Latency in this Citrix session.</Description>
@@ -1834,9 +1842,8 @@
<Name Lang="DE">Nutzung</Name> <Name Lang="DE">Nutzung</Name>
</State-Details-Column> </State-Details-Column>
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0"/> <State-Chart ValueTable="agnt-computer-event-details-wanLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
<State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms"> <State-Level Name="DC (Delivery Controller) Latency" Display="DURATION_MILLI" ValueTable="citrix-session-metrics" ValueColumn="DcLatency" Direction="up" Warning="100" Error="150" DefaultState="Ok" UnitFormat="{0} ms">
<Name Lang="DE">DC (Delivery Controller) Latenz</Name> <Name Lang="DE">DC (Delivery Controller) Latenz</Name>
<Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description> <Description Lang="EN">Measured Delivery Controller Latency in this Citrix session.</Description>
@@ -1852,7 +1859,6 @@
</State-Details> </State-Details>
<State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" /> <State-Chart ValueTable="agnt-computer-event-details-dcLatency" TimeColumn="time" ValueColumn="Value" StepLengthScale="20" StepLengthLine="20" MaxValue="300" MinValue="0" />
</State-Level> </State-Level>
</StateCategory> </StateCategory>
</CategoriesHistory> </CategoriesHistory>
</HealthCard> </HealthCard>

View File

@@ -77,7 +77,7 @@
</Active-Directory> </Active-Directory>
<Azure-AD> <Azure-AD>
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"> <Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Scan-Filter> <Azure-Filter-User UseBetaEnpoint="true" UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in (&apos;C4IT&apos;, &apos;TS4U&apos;) and userType eq &apos;member&apos; and accountEnabled eq true</Azure-Filter-User>
</Azure-Tenant> </Azure-Tenant>
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>--> <!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
</Azure-AD> </Azure-AD>

View File

@@ -1,47 +1,47 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:simpleType name="BooleanTypeEnum"> <xs:simpleType name="BooleanTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="false"/> <xs:enumeration value="false"/>
<xs:enumeration value="true"/> <xs:enumeration value="true"/>
<xs:enumeration value="0"/> <xs:enumeration value="0"/>
<xs:enumeration value="1"/> <xs:enumeration value="1"/>
<xs:enumeration value="no"/> <xs:enumeration value="no"/>
<xs:enumeration value="yes"/> <xs:enumeration value="yes"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="AdScanTypeEnum"> <xs:simpleType name="AdScanTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="User"/> <xs:enumeration value="User"/>
<xs:enumeration value="Computer"/> <xs:enumeration value="Computer"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="HourMinuteType"> <xs:simpleType name="HourMinuteType">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="[0-9]{2}:[0-9]{2}"/> <xs:pattern value="[0-9]{2}:[0-9]{2}"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="DayTypeEnum"> <xs:simpleType name="DayTypeEnum">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="Mon"/> <xs:enumeration value="Mon"/>
<xs:enumeration value="Tue"/> <xs:enumeration value="Tue"/>
<xs:enumeration value="Wed"/> <xs:enumeration value="Wed"/>
<xs:enumeration value="Thu"/> <xs:enumeration value="Thu"/>
<xs:enumeration value="Fri"/> <xs:enumeration value="Fri"/>
<xs:enumeration value="Sat"/> <xs:enumeration value="Sat"/>
<xs:enumeration value="Sun"/> <xs:enumeration value="Sun"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="guid"> <xs:simpleType name="guid">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/> <xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="NameList"> <xs:simpleType name="NameList">
<xs:list itemType="xs:NCName"/> <xs:list itemType="xs:NCName"/>
@@ -75,117 +75,117 @@
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="TimezoneType"> <xs:simpleType name="TimezoneType">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="Dateline Standard Time"/> <xs:enumeration value="Dateline Standard Time"/>
<xs:enumeration value="UTC-11"/> <xs:enumeration value="UTC-11"/>
<xs:enumeration value="Hawaiian Standard Time"/> <xs:enumeration value="Hawaiian Standard Time"/>
<xs:enumeration value="Alaskan Standard Time"/> <xs:enumeration value="Alaskan Standard Time"/>
<xs:enumeration value="Pacific Standard Time (Mexico)"/> <xs:enumeration value="Pacific Standard Time (Mexico)"/>
<xs:enumeration value="Pacific Standard Time"/> <xs:enumeration value="Pacific Standard Time"/>
<xs:enumeration value="US Mountain Standard Time"/> <xs:enumeration value="US Mountain Standard Time"/>
<xs:enumeration value="Mountain Standard Time (Mexico)"/> <xs:enumeration value="Mountain Standard Time (Mexico)"/>
<xs:enumeration value="Mountain Standard Time"/> <xs:enumeration value="Mountain Standard Time"/>
<xs:enumeration value="Central Standard Time"/> <xs:enumeration value="Central Standard Time"/>
<xs:enumeration value="Central Standard Time (Mexico)"/> <xs:enumeration value="Central Standard Time (Mexico)"/>
<xs:enumeration value="Central America Standard Time"/> <xs:enumeration value="Central America Standard Time"/>
<xs:enumeration value="Canada Central Standard Time"/> <xs:enumeration value="Canada Central Standard Time"/>
<xs:enumeration value="SA Pacific Standard Time"/> <xs:enumeration value="SA Pacific Standard Time"/>
<xs:enumeration value="Eastern Standard Time (Mexico)"/> <xs:enumeration value="Eastern Standard Time (Mexico)"/>
<xs:enumeration value="Eastern Standard Time"/> <xs:enumeration value="Eastern Standard Time"/>
<xs:enumeration value="US Eastern Standard Time"/> <xs:enumeration value="US Eastern Standard Time"/>
<xs:enumeration value="Venezuela Standard Time"/> <xs:enumeration value="Venezuela Standard Time"/>
<xs:enumeration value="Paraguay Standard Time"/> <xs:enumeration value="Paraguay Standard Time"/>
<xs:enumeration value="Atlantic Standard Time"/> <xs:enumeration value="Atlantic Standard Time"/>
<xs:enumeration value="Central Brazilian Standard Time"/> <xs:enumeration value="Central Brazilian Standard Time"/>
<xs:enumeration value="SA Western Standard Time"/> <xs:enumeration value="SA Western Standard Time"/>
<xs:enumeration value="Newfoundland Standard Time"/> <xs:enumeration value="Newfoundland Standard Time"/>
<xs:enumeration value="E. South America Standard Time"/> <xs:enumeration value="E. South America Standard Time"/>
<xs:enumeration value="Argentina Standard Time"/> <xs:enumeration value="Argentina Standard Time"/>
<xs:enumeration value="SA Eastern Standard Time"/> <xs:enumeration value="SA Eastern Standard Time"/>
<xs:enumeration value="Greenland Standard Time"/> <xs:enumeration value="Greenland Standard Time"/>
<xs:enumeration value="Montevideo Standard Time"/> <xs:enumeration value="Montevideo Standard Time"/>
<xs:enumeration value="Bahia Standard Time"/> <xs:enumeration value="Bahia Standard Time"/>
<xs:enumeration value="Pacific SA Standard Time"/> <xs:enumeration value="Pacific SA Standard Time"/>
<xs:enumeration value="UTC-02"/> <xs:enumeration value="UTC-02"/>
<xs:enumeration value="Mid-Atlantic Standard Time"/> <xs:enumeration value="Mid-Atlantic Standard Time"/>
<xs:enumeration value="Azores Standard Time"/> <xs:enumeration value="Azores Standard Time"/>
<xs:enumeration value="Cape Verde Standard Time"/> <xs:enumeration value="Cape Verde Standard Time"/>
<xs:enumeration value="Morocco Standard Time"/> <xs:enumeration value="Morocco Standard Time"/>
<xs:enumeration value="GMT Standard Time"/> <xs:enumeration value="GMT Standard Time"/>
<xs:enumeration value="UTC"/> <xs:enumeration value="UTC"/>
<xs:enumeration value="Greenwich Standard Time"/> <xs:enumeration value="Greenwich Standard Time"/>
<xs:enumeration value="W. Europe Standard Time"/> <xs:enumeration value="W. Europe Standard Time"/>
<xs:enumeration value="Central Europe Standard Time"/> <xs:enumeration value="Central Europe Standard Time"/>
<xs:enumeration value="Romance Standard Time"/> <xs:enumeration value="Romance Standard Time"/>
<xs:enumeration value="Central European Standard Time"/> <xs:enumeration value="Central European Standard Time"/>
<xs:enumeration value="W. Central Africa Standard Time"/> <xs:enumeration value="W. Central Africa Standard Time"/>
<xs:enumeration value="Namibia Standard Time"/> <xs:enumeration value="Namibia Standard Time"/>
<xs:enumeration value="Jordan Standard Time"/> <xs:enumeration value="Jordan Standard Time"/>
<xs:enumeration value="GTB Standard Time"/> <xs:enumeration value="GTB Standard Time"/>
<xs:enumeration value="Middle East Standard Time"/> <xs:enumeration value="Middle East Standard Time"/>
<xs:enumeration value="Syria Standard Time"/> <xs:enumeration value="Syria Standard Time"/>
<xs:enumeration value="South Africa Standard Time"/> <xs:enumeration value="South Africa Standard Time"/>
<xs:enumeration value="FLE Standard Time"/> <xs:enumeration value="FLE Standard Time"/>
<xs:enumeration value="Turkey Standard Time"/> <xs:enumeration value="Turkey Standard Time"/>
<xs:enumeration value="Israel Standard Time"/> <xs:enumeration value="Israel Standard Time"/>
<xs:enumeration value="Egypt Standard Time"/> <xs:enumeration value="Egypt Standard Time"/>
<xs:enumeration value="Kaliningrad Standard Time"/> <xs:enumeration value="Kaliningrad Standard Time"/>
<xs:enumeration value="E. Europe Standard Time"/> <xs:enumeration value="E. Europe Standard Time"/>
<xs:enumeration value="Libya Standard Time"/> <xs:enumeration value="Libya Standard Time"/>
<xs:enumeration value="Arabic Standard Time"/> <xs:enumeration value="Arabic Standard Time"/>
<xs:enumeration value="Arab Standard Time"/> <xs:enumeration value="Arab Standard Time"/>
<xs:enumeration value="Belarus Standard Time"/> <xs:enumeration value="Belarus Standard Time"/>
<xs:enumeration value="Russian Standard Time"/> <xs:enumeration value="Russian Standard Time"/>
<xs:enumeration value="E. Africa Standard Time"/> <xs:enumeration value="E. Africa Standard Time"/>
<xs:enumeration value="Iran Standard Time"/> <xs:enumeration value="Iran Standard Time"/>
<xs:enumeration value="Arabian Standard Time"/> <xs:enumeration value="Arabian Standard Time"/>
<xs:enumeration value="Azerbaijan Standard Time"/> <xs:enumeration value="Azerbaijan Standard Time"/>
<xs:enumeration value="Caucasus Standard Time"/> <xs:enumeration value="Caucasus Standard Time"/>
<xs:enumeration value="Russia Time Zone 3"/> <xs:enumeration value="Russia Time Zone 3"/>
<xs:enumeration value="Mauritius Standard Time"/> <xs:enumeration value="Mauritius Standard Time"/>
<xs:enumeration value="Georgian Standard Time"/> <xs:enumeration value="Georgian Standard Time"/>
<xs:enumeration value="Afghanistan Standard Time"/> <xs:enumeration value="Afghanistan Standard Time"/>
<xs:enumeration value="West Asia Standard Time"/> <xs:enumeration value="West Asia Standard Time"/>
<xs:enumeration value="Pakistan Standard Time"/> <xs:enumeration value="Pakistan Standard Time"/>
<xs:enumeration value="Ekaterinburg Standard Time"/> <xs:enumeration value="Ekaterinburg Standard Time"/>
<xs:enumeration value="India Standard Time"/> <xs:enumeration value="India Standard Time"/>
<xs:enumeration value="Sri Lanka Standard Time"/> <xs:enumeration value="Sri Lanka Standard Time"/>
<xs:enumeration value="Nepal Standard Time"/> <xs:enumeration value="Nepal Standard Time"/>
<xs:enumeration value="Central Asia Standard Time"/> <xs:enumeration value="Central Asia Standard Time"/>
<xs:enumeration value="Bangladesh Standard Time"/> <xs:enumeration value="Bangladesh Standard Time"/>
<xs:enumeration value="N. Central Asia Standard Time"/> <xs:enumeration value="N. Central Asia Standard Time"/>
<xs:enumeration value="Myanmar Standard Time"/> <xs:enumeration value="Myanmar Standard Time"/>
<xs:enumeration value="SE Asia Standard Time"/> <xs:enumeration value="SE Asia Standard Time"/>
<xs:enumeration value="North Asia Standard Time"/> <xs:enumeration value="North Asia Standard Time"/>
<xs:enumeration value="North Asia East Standard Time"/> <xs:enumeration value="North Asia East Standard Time"/>
<xs:enumeration value="Singapore Standard Time"/> <xs:enumeration value="Singapore Standard Time"/>
<xs:enumeration value="China Standard Time"/> <xs:enumeration value="China Standard Time"/>
<xs:enumeration value="W. Australia Standard Time"/> <xs:enumeration value="W. Australia Standard Time"/>
<xs:enumeration value="Taipei Standard Time"/> <xs:enumeration value="Taipei Standard Time"/>
<xs:enumeration value="Ulaanbaatar Standard Time"/> <xs:enumeration value="Ulaanbaatar Standard Time"/>
<xs:enumeration value="Yakutsk Standard Time"/> <xs:enumeration value="Yakutsk Standard Time"/>
<xs:enumeration value="Tokyo Standard Time"/> <xs:enumeration value="Tokyo Standard Time"/>
<xs:enumeration value="Korea Standard Time"/> <xs:enumeration value="Korea Standard Time"/>
<xs:enumeration value="Cen. Australia Standard Time"/> <xs:enumeration value="Cen. Australia Standard Time"/>
<xs:enumeration value="AUS Central Standard Time"/> <xs:enumeration value="AUS Central Standard Time"/>
<xs:enumeration value="E. Australia Standard Time"/> <xs:enumeration value="E. Australia Standard Time"/>
<xs:enumeration value="AUS Eastern Standard Time"/> <xs:enumeration value="AUS Eastern Standard Time"/>
<xs:enumeration value="West Pacific Standard Time"/> <xs:enumeration value="West Pacific Standard Time"/>
<xs:enumeration value="Tasmania Standard Time"/> <xs:enumeration value="Tasmania Standard Time"/>
<xs:enumeration value="Magadan Standard Time"/> <xs:enumeration value="Magadan Standard Time"/>
<xs:enumeration value="Vladivostok Standard Time"/> <xs:enumeration value="Vladivostok Standard Time"/>
<xs:enumeration value="Central Pacific Standard Time"/> <xs:enumeration value="Central Pacific Standard Time"/>
<xs:enumeration value="Russia Time Zone 10"/> <xs:enumeration value="Russia Time Zone 10"/>
<xs:enumeration value="Russia Time Zone 11"/> <xs:enumeration value="Russia Time Zone 11"/>
<xs:enumeration value="New Zealand Standard Time"/> <xs:enumeration value="New Zealand Standard Time"/>
<xs:enumeration value="Fiji Standard Time"/> <xs:enumeration value="Fiji Standard Time"/>
<xs:enumeration value="UTC+12"/> <xs:enumeration value="UTC+12"/>
<xs:enumeration value="Kamchatka Standard Time"/> <xs:enumeration value="Kamchatka Standard Time"/>
<xs:enumeration value="Tonga Standard Time"/> <xs:enumeration value="Tonga Standard Time"/>
<xs:enumeration value="Samoa Standard Time"/> <xs:enumeration value="Samoa Standard Time"/>
<xs:enumeration value="Line Islands Standard Time"/> <xs:enumeration value="Line Islands Standard Time"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="LanguageId"> <xs:simpleType name="LanguageId">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
@@ -210,137 +210,137 @@
</xs:element> </xs:element>
<xs:element name="F4SD-Infrastructure-Configuration"> <xs:element name="F4SD-Infrastructure-Configuration">
<xs:complexType> <xs:complexType>
<xs:all> <xs:all>
<xs:element ref="Credentials" maxOccurs="1" minOccurs="1"/> <xs:element ref="Credentials" maxOccurs="1" minOccurs="1"/>
<xs:element ref="DB-Connections" maxOccurs="1" minOccurs="1"/> <xs:element ref="DB-Connections" maxOccurs="1" minOccurs="1"/>
<xs:element ref="DataHistory-DB" maxOccurs="1" minOccurs="1"/> <xs:element ref="DataHistory-DB" maxOccurs="1" minOccurs="1"/>
<xs:element ref="F4SDAnalytics-DB" maxOccurs="1" minOccurs="0"/> <xs:element ref="F4SDAnalytics-DB" maxOccurs="1" minOccurs="0"/>
<xs:element ref="ClientAgent" maxOccurs="1" minOccurs="1"/> <xs:element ref="ClientAgent" maxOccurs="1" minOccurs="1"/>
<xs:element ref="Active-Directory" maxOccurs="1" minOccurs="1"/> <xs:element ref="Active-Directory" maxOccurs="1" minOccurs="1"/>
<xs:element ref="Azure-AD" maxOccurs="1" minOccurs="0"/> <xs:element ref="Azure-AD" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Matrix42-WPM" maxOccurs="1" minOccurs="0"/> <xs:element ref="Matrix42-WPM" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Nexthink" maxOccurs="1" minOccurs="0"/> <xs:element ref="Nexthink" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Citrix" maxOccurs="1" minOccurs="0"/> <xs:element ref="Citrix" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Authorization" maxOccurs="1" minOccurs="0"/> <xs:element ref="Authorization" maxOccurs="1" minOccurs="0"/>
</xs:all> </xs:all>
</xs:complexType> </xs:complexType>
<xs:key name="CredentialId"> <xs:key name="CredentialId">
<xs:selector xpath="./Credentials/*"/> <xs:selector xpath="./Credentials/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
<xs:key name="DbConnectionId"> <xs:key name="DbConnectionId">
<xs:selector xpath="./DB-Connections/*"/> <xs:selector xpath="./DB-Connections/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
</xs:element> </xs:element>
<xs:element name="Credentials"> <xs:element name="Credentials">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Credential" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Credential" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueCredentials"> <xs:unique name="UniqueCredentials">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="Credential"> <xs:element name="Credential">
<xs:complexType> <xs:complexType>
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="User" type="xs:string" use="required"/> <xs:attribute name="User" type="xs:string" use="required"/>
<xs:attribute name="Domain" type="xs:string" use="optional"/> <xs:attribute name="Domain" type="xs:string" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/> <xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="DB-Connections"> <xs:element name="DB-Connections">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="SQL-Connection" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="SQL-Connection" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueSqlConnection"> <xs:unique name="UniqueSqlConnection">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="SQL-Connection"> <xs:element name="SQL-Connection">
<xs:complexType> <xs:complexType>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="NativeAccount" type="BooleanTypeEnum" use="optional"/> <xs:attribute name="NativeAccount" type="BooleanTypeEnum" use="optional"/>
<xs:attribute name="Server" type="xs:string" use="required"/> <xs:attribute name="Server" type="xs:string" use="required"/>
<xs:attribute name="Instance" type="xs:string" use="optional"/> <xs:attribute name="Instance" type="xs:string" use="optional"/>
<xs:attribute name="Database" type="xs:string" use="required"/> <xs:attribute name="Database" type="xs:string" use="required"/>
<xs:attribute name="Timeout" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="Timeout" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="SqlConnectionCredentialRef" refer="CredentialId"> <xs:keyref name="SqlConnectionCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="F4SDAnalytics-DB"> <xs:element name="F4SDAnalytics-DB">
<xs:complexType> <xs:complexType>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="EnableUserId" type="xs:boolean" use="optional"/> <xs:attribute name="EnableUserId" type="xs:boolean" use="optional"/>
<xs:attribute name="SessionTimeout" type="xs:positiveInteger" use="optional" default="60"/> <xs:attribute name="SessionTimeout" type="xs:positiveInteger" use="optional" default="60"/>
<xs:attribute name="CaseTimeout" type="xs:positiveInteger" use="optional" default="5"/> <xs:attribute name="CaseTimeout" type="xs:positiveInteger" use="optional" default="5"/>
<xs:attribute name="SessionCheckInterval" type="xs:positiveInteger" use="optional" default="20"/> <xs:attribute name="SessionCheckInterval" type="xs:positiveInteger" use="optional" default="20"/>
<xs:attribute name="CaseCheckInterval" type="xs:positiveInteger" use="optional" default="2"/> <xs:attribute name="CaseCheckInterval" type="xs:positiveInteger" use="optional" default="2"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="F4SDAnalyticsDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="F4SDAnalyticsDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="DataHistory-DB"> <xs:element name="DataHistory-DB">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Cleanup-Timeframe" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Cleanup-Timeframe" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="SearchForPhoneNumbers" type="xs:boolean" use="optional"/> <xs:attribute name="SearchForPhoneNumbers" type="xs:boolean" use="optional"/>
<xs:attribute name="SearchWithLike" type="xs:boolean" use="optional"/> <xs:attribute name="SearchWithLike" type="xs:boolean" use="optional"/>
<xs:attribute name="DaysToCache" type="xs:positiveInteger" use="optional"/> <xs:attribute name="DaysToCache" type="xs:positiveInteger" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="DataHistoryDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="DataHistoryDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="ClientAgent"> <xs:element name="ClientAgent">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Local-Account-Assignment" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Local-Account-Assignment" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="DB-Connection" type="xs:NCName" use="required"/> <xs:attribute name="DB-Connection" type="xs:NCName" use="required"/>
<xs:attribute name="Server-Url" type="xs:anyURI" use="required"/> <xs:attribute name="Server-Url" type="xs:anyURI" use="required"/>
<xs:attribute name="MaxDeviceAge" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="MaxDeviceAge" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="Organization" type="xs:string" use="required"/> <xs:attribute name="Organization" type="xs:string" use="required"/>
<xs:attribute name="Api-Credential" type="xs:NCName" use="required"/> <xs:attribute name="Api-Credential" type="xs:NCName" use="required"/>
<xs:attribute name="Api-Path" type="xs:anyURI" use="optional"/> <xs:attribute name="Api-Path" type="xs:anyURI" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="ClientAgentDbSqlConnectionRef" refer="DbConnectionId"> <xs:keyref name="ClientAgentDbSqlConnectionRef" refer="DbConnectionId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@DB-Connection"/> <xs:field xpath="@DB-Connection"/>
</xs:keyref> </xs:keyref>
<xs:keyref name="ApiCredentialRef" refer="CredentialId"> <xs:keyref name="ApiCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Local-Account-Assignment"> <xs:element name="Local-Account-Assignment">
@@ -352,203 +352,211 @@
</xs:element> </xs:element>
<xs:element name="Azure-AD"> <xs:element name="Azure-AD">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Azure-Tenant" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Azure-Tenant" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:unique name="UniqueTenants">
<xs:selector xpath="./*"/>
<xs:field xpath="@Domain"/>
</xs:unique>
</xs:element>
<xs:element name="Azure-Tenant">
<xs:complexType>
<xs:sequence>
<xs:element ref="Azure-Scan-Filter" maxOccurs="1" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/> </xs:complexType>
<xs:attribute name="TenantID" type="guid" use="required"/> <xs:unique name="UniqueTenants">
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:selector xpath="./*"/>
<xs:attribute name="ScanIntuneDevices" type="xs:boolean" use="optional"/> <xs:field xpath="@Domain"/>
<xs:attribute name="WithMobileDevices" type="xs:boolean" use="optional"/> </xs:unique>
</xs:complexType> </xs:element>
<xs:keyref name="AzureTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/>
<xs:field xpath="@Credential"/>
</xs:keyref>
</xs:element>
<xs:element name="Azure-Scan-Filter"> <xs:element name="Azure-Tenant">
<xs:complexType>
<xs:sequence>
<xs:element ref="Azure-Filter-User" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/>
<xs:attribute name="TenantID" type="guid" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="ScanIntuneDevices" type="xs:boolean" use="optional"/>
<xs:attribute name="WithMobileDevices" type="xs:boolean" use="optional"/>
</xs:complexType>
<xs:keyref name="AzureTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/>
<xs:field xpath="@Credential"/>
</xs:keyref>
</xs:element>
<xs:element name="Azure-Filter-User">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="UseBetaEnpoint" type="xs:boolean" use="optional"/>
<xs:attribute name="UseConsistencyLevelEventual" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element> </xs:element>
<xs:element name="Citrix"> <xs:element name="Citrix">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Citrix-Tenant" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="Citrix-Tenant" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueCitrixTenants"> <xs:unique name="UniqueCitrixTenants">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Domain"/> <xs:field xpath="@Domain"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="Citrix-Tenant"> <xs:element name="Citrix-Tenant">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
</xs:sequence> </xs:sequence>
<xs:attribute name="Domain" type="xs:string" use="required"/> <xs:attribute name="Domain" type="xs:string" use="required"/>
<xs:attribute name="TenantID" type="xs:string" use="required"/> <xs:attribute name="TenantID" type="xs:string" use="required"/>
<xs:attribute name="InstanceID" type="guid" use="required"/> <xs:attribute name="InstanceID" type="guid" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="CitrixTenantCredentialRef" refer="CredentialId"> <xs:keyref name="CitrixTenantCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Active-Directory"> <xs:element name="Active-Directory">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="AD-Domains" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="AD-Domains" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="AD-Scans" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="AD-Scans" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="ScanPhoneNumbers" type="xs:boolean" use="optional"/> <xs:attribute name="ScanPhoneNumbers" type="xs:boolean" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:key name="AdDomainId"> <xs:key name="AdDomainId">
<xs:selector xpath="./AD-Domains/*"/> <xs:selector xpath="./AD-Domains/*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:key> </xs:key>
</xs:element> </xs:element>
<xs:element name="Scan-Timing"> <xs:element name="Scan-Timing">
<xs:complexType> <xs:complexType>
<xs:attribute name="ScanInterval" type="HourMinuteType" use="required"/> <xs:attribute name="ScanInterval" type="HourMinuteType" use="required"/>
<xs:attribute name="ScanOffset" type="HourMinuteType" use="optional"/> <xs:attribute name="ScanOffset" type="HourMinuteType" use="optional"/>
<xs:attribute name="Timezone" type="TimezoneType" use="optional"/> <xs:attribute name="Timezone" type="TimezoneType" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Cleanup-Timeframe"> <xs:element name="Cleanup-Timeframe">
<xs:complexType> <xs:complexType>
<xs:attribute name="StartDay" type="DayTypeEnum" use="required"/> <xs:attribute name="StartDay" type="DayTypeEnum" use="required"/>
<xs:attribute name="StartTime" type="HourMinuteType" use="required"/> <xs:attribute name="StartTime" type="HourMinuteType" use="required"/>
<xs:attribute name="StopDay" type="DayTypeEnum" use="optional"/> <xs:attribute name="StopDay" type="DayTypeEnum" use="optional"/>
<xs:attribute name="StopTime" type="HourMinuteType" use="required"/> <xs:attribute name="StopTime" type="HourMinuteType" use="required"/>
<xs:attribute name="Timezone" type="TimezoneType" use="optional"/> <xs:attribute name="Timezone" type="TimezoneType" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Domains"> <xs:element name="AD-Domains">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Domain" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Domain" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdDomains"> <xs:unique name="UniqueAdDomains">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="AD-Domain"> <xs:element name="AD-Domain">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Server" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Server" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="FQDN" type="xs:string" use="required"/> <xs:attribute name="FQDN" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdServers"> <xs:unique name="UniqueAdServers">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@FQDN"/> <xs:field xpath="@FQDN"/>
</xs:unique> </xs:unique>
<xs:keyref name="AdDomainCredentialRef" refer="CredentialId"> <xs:keyref name="AdDomainCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="AD-Server"> <xs:element name="AD-Server">
<xs:complexType> <xs:complexType>
<xs:attribute name="FQDN" type="xs:string" use="required"/> <xs:attribute name="FQDN" type="xs:string" use="required"/>
<xs:attribute name="UseSSL" type="BooleanTypeEnum" use="required"/> <xs:attribute name="UseSSL" type="BooleanTypeEnum" use="required"/>
<xs:attribute name="Port" type="xs:integer" use="optional"/> <xs:attribute name="Port" type="xs:integer" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Scans"> <xs:element name="AD-Scans">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Scan" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Scan" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:unique name="UniqueAdScans"> <xs:unique name="UniqueAdScans">
<xs:selector xpath="./*"/> <xs:selector xpath="./*"/>
<xs:field xpath="@Name"/> <xs:field xpath="@Name"/>
</xs:unique> </xs:unique>
</xs:element> </xs:element>
<xs:element name="AD-Scan"> <xs:element name="AD-Scan">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AD-Scan-Node" maxOccurs="unbounded" minOccurs="1"/> <xs:element ref="AD-Scan-Node" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="optional"/> <xs:attribute name="Name" type="xs:NCName" use="optional"/>
<xs:attribute name="Type" type="AdScanTypeEnum" use="optional"/> <xs:attribute name="Type" type="AdScanTypeEnum" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AD-Scan-Node"> <xs:element name="AD-Scan-Node">
<xs:complexType> <xs:complexType>
<xs:attribute name="AD-Domain" type="xs:NCName" use="required"/> <xs:attribute name="AD-Domain" type="xs:NCName" use="required"/>
<xs:attribute name="Path" type="xs:string" use="required"/> <xs:attribute name="Path" type="xs:string" use="required"/>
<xs:attribute name="LDAP-Filter" type="xs:string" use="optional"/> <xs:attribute name="LDAP-Filter" type="xs:string" use="optional"/>
<xs:attribute name="Filter-Property" type="LdapFilterProperyEnum" use="optional"/> <xs:attribute name="Filter-Property" type="LdapFilterProperyEnum" use="optional"/>
<xs:attribute name="Wildcard-Filter" type="xs:string" use="optional"/> <xs:attribute name="Wildcard-Filter" type="xs:string" use="optional"/>
<xs:attribute name="RegEx-Filter" type="xs:string" use="optional"/> <xs:attribute name="RegEx-Filter" type="xs:string" use="optional"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="AdScanNodeDomainRef" refer="AdDomainId"> <xs:keyref name="AdScanNodeDomainRef" refer="AdDomainId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@AD-Domain"/> <xs:field xpath="@AD-Domain"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Nexthink"> <xs:element name="Nexthink">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/> <xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
<xs:element ref="Nxt-Portal" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Nxt-Portal" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Nxt-Portal"> <xs:element name="Nxt-Portal">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Nxt-Engine" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="Nxt-Engine" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Address" type="xs:string" use="required"/> <xs:attribute name="Address" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="IsCloud" type="BooleanTypeEnum" use="optional"/> <xs:attribute name="IsCloud" type="BooleanTypeEnum" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Nxt-Engine"> <xs:element name="Nxt-Engine">
<xs:complexType> <xs:complexType>
<xs:attribute name="Name" type="xs:NCName" use="required"/> <xs:attribute name="Name" type="xs:NCName" use="required"/>
<xs:attribute name="Address" type="xs:string" use="required"/> <xs:attribute name="Address" type="xs:string" use="required"/>
<xs:attribute name="Port" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="Port" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:simpleType name="ShowDocumentCaseDialogOptions"> <xs:simpleType name="ShowDocumentCaseDialogOptions">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
@@ -569,7 +577,7 @@
</xs:enumeration> </xs:enumeration>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="ActivityQueueFilterOptions"> <xs:simpleType name="ActivityQueueFilterOptions">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="showAll"> <xs:enumeration value="showAll">
@@ -616,25 +624,25 @@
</xs:element> </xs:element>
<xs:element name="Matrix42-WPM"> <xs:element name="Matrix42-WPM">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="Matrix42-Ticket" minOccurs="0" maxOccurs="1" /> <xs:element ref="Matrix42-Ticket" minOccurs="0" maxOccurs="1" />
<xs:element ref="DisplayName" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="DisplayName" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="Queues" maxOccurs="1" minOccurs="0"/> <xs:element ref="Queues" maxOccurs="1" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Server" type="xs:string" use="required"/> <xs:attribute name="Server" type="xs:string" use="required"/>
<xs:attribute name="Credential" type="xs:NCName" use="required"/> <xs:attribute name="Credential" type="xs:NCName" use="required"/>
<xs:attribute name="ClosedTicketHistory" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="ClosedTicketHistory" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="DisplayName" type="xs:string" use="optional"/> <xs:attribute name="DisplayName" type="xs:string" use="optional"/>
<xs:attribute name="ApiTokenLifetime" type="M42ApiTokenLifetime" use="optional"/> <xs:attribute name="ApiTokenLifetime" type="M42ApiTokenLifetime" use="optional"/>
<xs:attribute name="ActivityQueueFilter" type="ActivityQueueFilterOptions" use="optional" default="showAll"/> <xs:attribute name="ActivityQueueFilter" type="ActivityQueueFilterOptions" use="optional" default="showAll"/>
</xs:complexType> </xs:complexType>
<xs:keyref name="M42WpmCredentialRef" refer="CredentialId"> <xs:keyref name="M42WpmCredentialRef" refer="CredentialId">
<xs:selector xpath="."/> <xs:selector xpath="."/>
<xs:field xpath="@Credential"/> <xs:field xpath="@Credential"/>
</xs:keyref> </xs:keyref>
</xs:element> </xs:element>
<xs:element name="Authorization"> <xs:element name="Authorization">
<xs:complexType> <xs:complexType>