Archive for the ‘Infrastructure’ Category
Unable to contact DPM protection agent Warnings in System Data Protection Manager
I was getting the following warning quite often from DPM (both 2007 and 2010 versions).
Status: Active
Computer: <computer>
Description: Unable to contact DPM protection agent.
The protection agent operation on <computer> failed because the service did not respond.
This was driving me crazy because everything looked to be running OK on both ends and it would eventually go away on its own. However one day right after receiving one of these warnings, I decided to log into the DPM server and see if it could see the problem computer. Sure enough, a ping failed. I also noticed that the ping command didn’t even return an IP address. Next I did a nslookup, which of course worked. So how can ping not find an IP address but nslookup can? I wish someone would enlighten me. However I know it has something to do with the DNS cache, and specifically the DNS Client service.
Restarting the DNS Client service made the ping work, and it also fixed the DPM warning. I got so annoyed by the warnings that I decided to disable the DNS Client service and I haven’t had any issues since…
Note I don’t believe this is a bug in DPM. In fact, since finding this I have also come across the same issue with Windows 7 and Windows Server 2008 (the DPM server is 2008 R2 btw). I have not been able to track down the source of the issue, but is seems like the DNS cache gets corrupted or something. I have even debated disabling this service on our SMB network, but I am afraid of the impact to our DNS server.
Create Computer Groups Based on 32-bit vs. 64-bit in System Center Essentials
Unfortunately System Center Essentials doesn’t come with computer groups that are based on whether or not Windows is installed as 32-bit or 64-bit. This would be extremely helpful in pushing software that is targeted for those specific platforms. Below is the management pack xml I came up with. You can save this XML as “Platform.Based.Computer.Groups.xml” and import via the console. It uses the PROCESSOR_ARCHITECTURE registry key to make the determination of a 32-bit vs. 64-bit OS. This creates 6 groups, 3 sets each split into x86 and x64: Windows <platform> Computer Group, Windows Client <platform> Computer Group, Windows Server <platform> Computer Group. To create the management pack by scratch, you can follow this outline:
- Create a new attribute for the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE registry key value, targeting Windows Computer, Windows Client, and Windows Server. Yes this means you create 3 attributes.
- Create new groups for each platform. The rule for the x64 groups is the value of this key must equal “amd64”. The rule for the x86 groups is this key doesn’t equal “amd64”. More explanation can be found here (note the management agent/service runs native to the platform). For the Windows <platform> Group, make sure you use the Windows Computer_Extended class. For the Windows Client <platform> Computer Group, make sure you use the Windows Client_Extended class. For the Windows Server <platform> Computer Group, make sure you use the Windows Server_Extended class.
- Wait for the agents to set the new attribute.
Here is the Exported Management Pack. Note this was created using System Center Essentials 2010. I believe this would work under 2007, but different version numbers would need to be used.
<?xml version="1.0" encoding="utf-8"?><ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<Manifest>
<Identity>
<ID>Platform.Based.Computer.Groups</ID>
<Version>1.0.0.0</Version>
</Identity>
<Name>Platform Based Computer Groups</Name>
<References>
<Reference Alias="MicrosoftWindowsLibrary6172210">
<ID>Microsoft.Windows.Library</ID>
<Version>6.1.7221.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="MicrosoftSystemCenterInstanceGroupLibrary6172210">
<ID>Microsoft.SystemCenter.InstanceGroup.Library</ID>
<Version>6.1.7221.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SystemCenter">
<ID>Microsoft.SystemCenter.Library</ID>
<Version>6.1.7221.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="Type79bcd4b047114bf38057cccfefc23b3f" Accessibility="Public" Abstract="false" Base="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Client.Computer" Hosted="false" Singleton="false">
<Property ID="AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
</ClassType>
<ClassType ID="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
<ClassType ID="UINameSpace9c461cdabc464754901456d880b76d42.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
<ClassType ID="Typec1ddf4898a8c45759b68eb55084f063d" Accessibility="Public" Abstract="false" Base="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Server.Computer" Hosted="false" Singleton="false">
<Property ID="AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
</ClassType>
<ClassType ID="Type2259d37e77334b7394a4bdb268a58764" Accessibility="Public" Abstract="false" Base="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer" Hosted="false" Singleton="false">
<Property ID="AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
</ClassType>
<ClassType ID="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
<ClassType ID="UINameSpacece010ba3a104449096bd2cbbd8257088.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
<ClassType ID="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
<ClassType ID="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" />
</ClassTypes>
</EntityTypes>
</TypeDefinitions>
<Monitoring>
<Discoveries>
<Discovery ID="AttributeDiscoveryGeneratedByUIcf48023b73e54e8dae3405dd1ff63ae4" Enabled="true" Target="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Client.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>PerformanceCollection</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Type79bcd4b047114bf38057cccfefc23b3f">
<Property TypeID="Type79bcd4b047114bf38057cccfefc23b3f" PropertyID="AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db" />
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="AttributeDiscoveryGeneratedByUI538c41746aa249058ff191fc55335053" TypeID="MicrosoftWindowsLibrary6172210!Microsoft.Windows.RegistryDiscoverySingleProvider">
<ComputerName>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<AttributeName>AttributeDiscoveryRule7a8459cae84842f082b2f7da5b2fa27a</AttributeName>
<Path>SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
<Frequency>3600</Frequency>
<ClassId>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]/AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db$</Name>
<Value>$Data/Values/AttributeDiscoveryRule7a8459cae84842f082b2f7da5b2fa27a$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
<Discovery ID="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group.DiscoveryRule" Enabled="true" Target="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]/AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db$</Property>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="UINameSpace9c461cdabc464754901456d880b76d42.Group.DiscoveryRule" Enabled="true" Target="UINameSpace9c461cdabc464754901456d880b76d42.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpace9c461cdabc464754901456d880b76d42.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Type79bcd4b047114bf38057cccfefc23b3f"]/AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db$</Property>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="AttributeDiscoveryGeneratedByUIc35946fd1e9246bb91ff701b971134c9" Enabled="true" Target="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Server.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>PerformanceCollection</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Typec1ddf4898a8c45759b68eb55084f063d">
<Property TypeID="Typec1ddf4898a8c45759b68eb55084f063d" PropertyID="AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4" />
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="AttributeDiscoveryGeneratedByUI553f00ed2fbd4b4d8bf516bad763fa75" TypeID="MicrosoftWindowsLibrary6172210!Microsoft.Windows.RegistryDiscoverySingleProvider">
<ComputerName>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<AttributeName>AttributeDiscoveryRulec017456d384b4bb9860dac5b91dcf8c2</AttributeName>
<Path>SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
<Frequency>3600</Frequency>
<ClassId>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]/AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4$</Name>
<Value>$Data/Values/AttributeDiscoveryRulec017456d384b4bb9860dac5b91dcf8c2$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
<Discovery ID="AttributeDiscoveryGeneratedByUI4fcdb3368e174252a02253a63dc5373b" Enabled="true" Target="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>PerformanceCollection</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Type2259d37e77334b7394a4bdb268a58764">
<Property TypeID="Type2259d37e77334b7394a4bdb268a58764" PropertyID="AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5" />
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="AttributeDiscoveryGeneratedByUI2cc5aaef5b8c4e849fe5af1833a0115f" TypeID="MicrosoftWindowsLibrary6172210!Microsoft.Windows.RegistryDiscoverySingleProvider">
<ComputerName>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<AttributeName>AttributeDiscoveryRule95424e49ca10467eb12d4611633759c5</AttributeName>
<Path>SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
<Frequency>3600</Frequency>
<ClassId>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]/AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5$</Name>
<Value>$Data/Values/AttributeDiscoveryRule95424e49ca10467eb12d4611633759c5$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
<Discovery ID="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group.DiscoveryRule" Enabled="true" Target="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]/AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4$</Property>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="UINameSpacece010ba3a104449096bd2cbbd8257088.Group.DiscoveryRule" Enabled="true" Target="UINameSpacece010ba3a104449096bd2cbbd8257088.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpacece010ba3a104449096bd2cbbd8257088.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Typec1ddf4898a8c45759b68eb55084f063d"]/AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4$</Property>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group.DiscoveryRule" Enabled="true" Target="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]/AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5$</Property>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group.DiscoveryRule" Enabled="true" Target="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities" />
</DiscoveryTypes>
<DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$MPElement[Name="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group"]$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>
<Expression>
<SimpleExpression>
<ValueExpression>
<Property>$MPElement[Name="Type2259d37e77334b7394a4bdb268a58764"]/AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5$</Property>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>amd64</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
</Discoveries>
</Monitoring>
<Presentation>
<Folders>
<Folder ID="Folder_3a3150e06af04efc93e10ce2cbdb67a5" Accessibility="Public" ParentFolder="SystemCenter!Microsoft.SystemCenter.Monitoring.ViewFolder.Root" />
</Folders>
</Presentation>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="false">
<DisplayStrings>
<DisplayString ElementID="Platform.Based.Computer.Groups">
<Name>Platform Based Computer Groups</Name>
</DisplayString>
<DisplayString ElementID="Folder_3a3150e06af04efc93e10ce2cbdb67a5">
<Name>Platform Based Computer Groups</Name>
</DisplayString>
<DisplayString ElementID="AttributeDiscoveryGeneratedByUIcf48023b73e54e8dae3405dd1ff63ae4">
<Name>Process ArchitectureDiscovery</Name>
</DisplayString>
<DisplayString ElementID="Type79bcd4b047114bf38057cccfefc23b3f">
<Name>Windows Client_Extended</Name>
</DisplayString>
<DisplayString ElementID="Type79bcd4b047114bf38057cccfefc23b3f" SubElementID="AttributeDiscoveryGeneratedByUI8a18081aa8fd43f5b3b793fe2fd7d6db">
<Name>Process Architecture</Name>
<Description>Determines 32-bit or 64-bit version of windows based on the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Description>
</DisplayString>
<DisplayString ElementID="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group">
<Name>Windows Client x86 Computer Group</Name>
</DisplayString>
<DisplayString ElementID="UINameSpacecb1cfa7fb7b44d699bba170cc1d1e5a8.Group.DiscoveryRule">
<Name>Populate Windows Client x86 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows Client x86 Computer Group’</Description>
</DisplayString>
<DisplayString ElementID="UINameSpace9c461cdabc464754901456d880b76d42.Group">
<Name>Windows Client x64 Computer Group</Name>
</DisplayString>
<DisplayString ElementID="UINameSpace9c461cdabc464754901456d880b76d42.Group.DiscoveryRule">
<Name>Populate Windows Client x64 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows Client x64 Computer Group’</Description>
</DisplayString>
<DisplayString ElementID="AttributeDiscoveryGeneratedByUIc35946fd1e9246bb91ff701b971134c9">
<Name>Process ArchitectureDiscovery</Name>
</DisplayString>
<DisplayString ElementID="Typec1ddf4898a8c45759b68eb55084f063d">
<Name>Windows Server_Extended</Name>
</DisplayString>
<DisplayString ElementID="Typec1ddf4898a8c45759b68eb55084f063d" SubElementID="AttributeDiscoveryGeneratedByUI770ab3335bf348469cad1fc8ffa25ba4">
<Name>Process Architecture</Name>
<Description>Determines 32-bit or 64-bit version of windows based on the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Description>
</DisplayString>
<DisplayString ElementID="AttributeDiscoveryGeneratedByUI4fcdb3368e174252a02253a63dc5373b">
<Name>Process ArchitectureDiscovery</Name>
</DisplayString>
<DisplayString ElementID="Type2259d37e77334b7394a4bdb268a58764">
<Name>Windows Computer_Extended</Name>
</DisplayString>
<DisplayString ElementID="Type2259d37e77334b7394a4bdb268a58764" SubElementID="AttributeDiscoveryGeneratedByUI55895447f20b4390bc2657c1f92bd2b5">
<Name>Process Architecture</Name>
<Description>Determines 32-bit or 64-bit version of windows based on the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE</Description>
</DisplayString>
<DisplayString ElementID="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group">
<Name>Windows Server x86 Computer Group</Name>
<Description />
</DisplayString>
<DisplayString ElementID="UINameSpaced65a8b5eba8a497a817d94b078aa4764.Group.DiscoveryRule">
<Name>Populate Windows Server x86 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows Server x86 Computer Group’</Description>
</DisplayString>
<DisplayString ElementID="UINameSpacece010ba3a104449096bd2cbbd8257088.Group">
<Name>Windows Server x64 Computer Group</Name>
</DisplayString>
<DisplayString ElementID="UINameSpacece010ba3a104449096bd2cbbd8257088.Group.DiscoveryRule">
<Name>Populate Windows Server x64 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows Server x64 Computer Group’</Description>
</DisplayString>
<DisplayString ElementID="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group">
<Name>Windows x86 Computer Group</Name>
</DisplayString>
<DisplayString ElementID="UINameSpacef41b5a7897114ccbac3203997fd5f064.Group.DiscoveryRule">
<Name>Populate Windows x86 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows x86 Computer Group’</Description>
</DisplayString>
<DisplayString ElementID="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group">
<Name>Windows x64 Computer Group</Name>
</DisplayString>
<DisplayString ElementID="UINameSpaceb86ace359759416ca46f5aaa1ba33949.Group.DiscoveryRule">
<Name>Populate Windows x64 Computer Group</Name>
<Description>This discovery rule populates the group ‘Windows x64 Computer Group’</Description>
</DisplayString>
</DisplayStrings>
</LanguagePack>
</LanguagePacks>
</ManagementPack>
Article Series and Planned Topics
by Allan Sieker
When it comes time to write an interesting article about a technical topic my mind goes into a deadlock in trying to find the balance between space/time constraints and keeping the content interesting. Too short of an article and it seems trivial because the technical stuff doesn’t get covered enough. Too technical, and the article becomes long and boring. All the while, wanting to keep things original, informative, and light. So did I end up with? How about a series of related articles that covers something that is near and dear to all of us?
I bought my first computer in 1978 (yes, I still have it) and as my home network expanded to what it is now – several servers, workstations, and laptops, the need for keeping a file inventory goes with the territory. Sure, over the years I created my own file databases written in several languages (BASIC, Pascal, dBASE, Clipper, VB, C#) and they all served their purpose, but technology keeps improving and I always want more.
What if data warehousing concepts were applied to capture the “slowly changing dimension” of file updates? What if file collections were recognized and managed as applications and other entities? What if all of the computer file inventories were gathered locally then stored centrally for searches via a web interface? What if backup history were also available?
This article series will cover a broad range of technical topics with the end goal being a respectable system for home or business usage. Concepts will be discussed and code will be available for download. References to other articles and postings will also be made.
Here is a brief list of planned topics:
- Using recursive methods to collect file information from all of the folders on a drive.
- Creating console and Windows “file agent” applications to collect file data and write to an XML file.
- Creating a SQL Server file inventory database.
- Balancing cost and architecture to avoid over-costing and over-engineering.
- Importing “file agent” XML into the database.
- Creating an ASP.NET web application for searching and retrieving application & file information.
- Making “file agent” applications downloadable from the web site using ClickOnce.
- Using the Visual Studio Report Designer and the ReportViewer control to create web reports.
- Creating a “wrapper” application for Microsoft’s Backup to manage and track backups.
- Detecting media and image file duplicates based on file content instead of file name.
Feedback is always welcome.
Website Connectivity Woes and Woe-Nots
by Allan Sieker
The story you are about to hear is true and should be of interest to all web developers – be you .NET or not.
A few businesses I know had issues with web site connectivity a few weeks ago. Some computers could connect while others could not. IE 8 seemed to have more of a problem than IE 7. The client could access other web sites ok. Client locations were across the US and not all local (the St. Louis area).
Read the rest of this entry »
An Approach to Session Usage
by Allan Sieker
The Overview
“We do not pretend to have achieved perfection — but we do have a system — and it works.” – Klaatu
When developing ASP.NET web applications a very common approach to maintaining state is to store variables into the Session.
Session is just one way to store data. Here are some other ones that I know of. Can you think of any others?
• Application (global) – uses server memory.
• Session (user) – can use user memory and/or database storage.
• Data cache (global, but can be user specific with proper handling) – uses server memory.
• Viewstate (web page) – rides along with the page. No server memory.
• Database (global and user) – includes SQL, XML, local files, etc.
• Cookie (user) – stored on the client’s computer and accessed via the browser.
• Query String (user) – doesn’t use server memory – just a lot of developer patience.
• Form fields (web page) – popular in HTML and classic ASP development.
Read the rest of this entry »
WebApp Vs. Website
The bottom line much of the time, is that developers are creatures of habit… much of what we do, we do because that is what we do, and we have no better reason than that. Perhaps the first time we do something we thought it through, but rarely do we go back and revise those thoughts, and conciously choose a different direction, ideology or methodology… for me this is the case with my choice of choosing Website over WebApp for my development.
Recently I began a new project with a co-worker, and although we discussed every aspect of the project, the coding, the tools, the flow, basically every detail as to what was ahead of us, we never addressed whether this would be a WebApp or a Website project. As I began coding my first page of this project, the dev environment was different, my options had changed, and I knew we had not addressed a fundamental decision that we should have addressed.
Read the rest of this entry »
VisualSVN and our .NET Development Environment
Recently our organization (The Net Impact) made the decision to rebuild our entire development environment. As most know this can be both a daunting and yet exciting venture. During the planning phase we had numerous discussions concerning which source control utility to implement and we finally decided to test Subversion versus Microsoft Team Server.
One of the complaints I have had in the past with Subversion is how clunky interfacing with it has been. I feel that in this day and age any command line interface is past its prime, and having to run external third party interfaces is simply annoying. I wanted something fully integrated into our development tools mimicking the functionality of eclipse and PVCS I had used years back.
Read the rest of this entry »