sccmclictr icon indicating copy to clipboard operation
sccmclictr copied to clipboard

Application dependencies

Open newwolf opened this issue 6 years ago • 6 comments

Hey, is it also possible to see what the dependent applications are? The biggest problem is that when you have multi shared ones it's hard to see the problematic one. And also when there is a superseded one it tell you application not required but the dependent app is the problem. Should a nice to have feature.

newwolf avatar Jan 19 '19 15:01 newwolf

Yes that would be really greate. I implemented and fixes the deploymentreport. Bit this is only XML where you can see some information which things stop the deployment. But you can only see the IDs and when you have more app dependencies you can only see the next one.

Didn‘t had the time to look deeper. May be I can share my code on monday.

Xento avatar Jan 19 '19 16:01 Xento

Xento, did you found a good way for this?

newwolf avatar Feb 01 '19 08:02 newwolf

No I didn't had the time to dig in deeper but here is how a deployment report looks like when a dependency is missing. I marked the interesting part. Now we have to find out rest.

The deploymenttype belongs to the next app on the left side of the graph. But this application has many other apps where it depends on and only the first one (Citrix) is missing. Would be greate to be able to view this.

Until now I don't know how to get the DeplomentReport or someting else for the next failing application.

2019-02-01 12_15_10-start

<ConfigurationItemReport AuthoringScope="ScopeId_E35569AA-7FB2-4093-85F3-F379A1AA528F" LogicalName="RequiredApplication_9b54d2c0-5d7f-449a-8c1d-25b7cd39d012" Version="16" Type="Install Policy Type" ComputerName="SMSPACK15" CIComplianceState="NonCompliant" CIDesiredState="None" CIApplicablityState="NotApplicable" CISeverity="None" CIConfigureState="NotNeeded" TotalConstraintViolations="0" TotalDiscoveryViolations="0" TotalModelViolations="0" TotalSuppressionCount="0" TotalEnforcements="0" MaxOverallSeverity="None" TotalConflicts="0" TotalCompliantCount="1">
  <CIProperties>
    <Name>ApplicationIntentPolicy</Name>
    <Description>ApplicationIntentPolicy</Description>
  </CIProperties>
  <RequirementViolations Count="0" />
  <ConflictViolations Count="0" />
  <CompliantRules Count="1">
    <CompliantRule>
      <RuleLogicalName>ID-20C0E9EE-1F29-4A77-A774-BF91E15CA257</RuleLogicalName>
      <RuleName>ID-20C0E9EE-1F29-4A77-A774-BF91E15CA257</RuleName>
      <RuleDescription />
    </CompliantRule>
  </CompliantRules>
  <ModelViolations Count="0" SuppressedCount="0" MaxSeverity="None" />
  <DiscoveryViolations Count="0" SuppressedCount="0" MaxSeverity="None" />
  <ReferencedConfigurationItems MaxOverallSeverity="None" TotalConflicts="0" TotalConstraintViolations="0" TotalDiscoveryViolations="0" TotalModelViolations="0" TotalEnforcements="0" TotalSuppressionCount="0">
    <ConfigurationItemReport AuthoringScope="ScopeId_E35569AA-7FB2-4093-85F3-F379A1AA528F" LogicalName="Application_9b54d2c0-5d7f-449a-8c1d-25b7cd39d012" Version="16" Type="AppModel" ComputerName="SMSPACK15" CIComplianceState="NotInstalled" CIDesiredState="None" CIApplicablityState="NotApplicable" CISeverity="None" CIConfigureState="NotNeeded" TotalConstraintViolations="0" TotalDiscoveryViolations="0" TotalModelViolations="0" TotalSuppressionCount="0" TotalEnforcements="0" TotalConflicts="0" MaxOverallSeverity="None" SupersessionState="None" Policy="Required">
      <CIProperties>
        <Name>OK.EWO Zubehör</Name>
        <Description />
      </CIProperties>
      <RequirementViolations Count="0" />
      <ConflictViolations Count="0" />
      <CompliantRules Count="0" />
      <ModelViolations Count="0" SuppressedCount="0" MaxSeverity="None" />
      <DiscoveryViolations Count="0" SuppressedCount="0" MaxSeverity="None" />
      <ReferencedConfigurationItems MaxOverallSeverity="None" TotalConflicts="0" TotalConstraintViolations="0" TotalDiscoveryViolations="0" TotalModelViolations="0" TotalEnforcements="0" TotalSuppressionCount="0" />
      <BaseConfigurationItems />
      <ReferencingConfigurationItems>
        <ReferencingConfigurationItem AuthoringScope="ScopeId_E35569AA-7FB2-4093-85F3-F379A1AA528F" LogicalName="RequiredApplication_9b54d2c0-5d7f-449a-8c1d-25b7cd39d012" Version="16" />
      </ReferencingConfigurationItems>
    </ConfigurationItemReport>
    <ConfigurationItemReport AuthoringScope="ScopeId_E35569AA-7FB2-4093-85F3-F379A1AA528F" LogicalName="DeploymentType_0e380bfc-e1b2-4e2f-971a-d4ce8b9868c8" Version="12" Type="Deployment Type" ComputerName="SMSPACK15" CIComplianceState="NotInstalled" CIDesiredState="None" CIApplicablityState="NotApplicable" CISeverity="None" CIConfigureState="NotNeeded" TotalConstraintViolations="0" TotalModelViolations="0" TotalSuppressionCount="0" TotalEnforcements="0" MaxOverallSeverity="None" TotalConflicts="0" TotalDependancyViolations="2" TotalSupersedesViolations="0" TotalNonSupersedenceViolations="0" TotalCompliantCount="1" SupersessionState="None" TotalRequirementsCount="0" TotalDiscoveryViolations="0" Policy="Required">
      <CIProperties>
        <Name>32Bit und 64Bit</Name>
        <Description />
      </CIProperties>
      <NonSupersedenceViolations Count="0" />
      <SupersedesViolations Count="0" />
/* -----------------------------------------------------
      <DependancyViolations Count="1">
        <DependencyViolation>
          <RuleLogicalName>DTRule_dcdfca4a-de52-4fad-ba75-d022cbadd1b3</RuleLogicalName>
          <RuleName>DTRule_dcdfca4a-de52-4fad-ba75-d022cbadd1b3</RuleName>
          <RuleDescription />
          <ReferencedCI AuthoringScope="ScopeId_E35569AA-7FB2-4093-85F3-F379A1AA528F" LogicalName="DeploymentType_6a3eb860-17c7-449a-aacd-5e976d2e3f24" Version="14" />
        </DependencyViolation>
      </DependancyViolations>
/* -----------------------------------------------------
      <RequirementViolations Count="0" />
      <ConflictViolations Count="0" />
      <CompliantRules Count="1">
        <CompliantRule>
          <RuleLogicalName>NonSupersedence</RuleLogicalName>
          <RuleName>NonSupersedence</RuleName>
          <RuleDescription />
        </CompliantRule>
      </CompliantRules>
      <ModelViolations Count="0" SuppressedCount="0" MaxSeverity="None" />
      <DiscoveryViolations SuppressedCount="0" MaxSeverity="None" Count="0" />
      <ReferencedConfigurationItems MaxOverallSeverity="None" TotalConflicts="0" TotalConstraintViolations="0" TotalDiscoveryViolations="0" TotalModelViolations="0" TotalEnforcements="0" TotalSuppressionCount="0" />
      <BaseConfigurationItems />
    </ConfigurationItemReport>
  </ReferencedConfigurationItems>
  <BaseConfigurationItems />
</ConfigurationItemReport>

Xento avatar Feb 01 '19 11:02 Xento

The ConfigurationItemsReports are stored in the SQLCompact file CcmStore.sdf in the table ConfigurationItemState. Don't know if this is accessible via WMI but you can open it with a viewer. Maybe this would be one possibility.

Xento avatar Feb 01 '19 13:02 Xento

A short update on this. Getting the data already works and I think I figured out what the most information mean. The only thing I can't "decrypt" are dependency groups. At the moment I can't figure out which deploymenttypes belong to one group. Maybe we could the missing data from some other source in the clients wmi or from the server.

Xento avatar Feb 07 '19 19:02 Xento

Any progress in this feature?

newwolf avatar Dec 12 '19 10:12 newwolf