SCCM by Davis |
- Rod Trent wrote a new post, New Functions and Features included in System Center 2012 SP1
- Pradeep Bhanot wrote a new post, Tip of the day: List of machines with Microsoft Office PowerPoint Mobile
- Rob Marshall wrote a new post, System Center 2012 Configuration Manager Cumulative Update 1–Deploy using Software Updates
- More Testers Welcome for 2012 Xbox LIVE Update Public Beta!
- Scott McKenna became a registered member
- Rob Marshall wrote a new post, System Center 2012 Configuration Manager Cumulative Update 1
- Intel, Korean Telco Partner to Raise Data Center Temperatures
- Maik Koster wrote a new post, MDT Monitoring Deep Dive IV – Sending more information
- santhosh became a registered member
- Scott Harrison became a registered member
- MDT Monitoring Deep Dive IV – Sending more information
- Rod Trent wrote a new post, System Center Monitoring pack for SQL Server updated
- Maik Koster wrote a new post, MDT Monitoring Deep Dive III – Returning settings to a Computer
- Rod Trent posted an update in the group The Word at myITforum: Joshua 1:8 This Book of the Law shall not depart from your […]
- Microsoft Security Advisory (2743314) Unencapsulated MS-CHAP v2 Authentication Could Allow Information Disclosure
- Exchange Online Protection Reporting Workbook for Office 365 Preview
- Windows Azure Training Kit - August 2012
- Wesley Gill became a registered member
- Rajesh N became a registered member
- MDT Monitoring Deep Dive III – Returning settings to a Computer
Rod Trent wrote a new post, New Functions and Features included in System Center 2012 SP1 Posted: 21 Aug 2012 01:18 PM PDT Since early in the year, even before the System Center 2012 product line was officially available, there has been talk about SP1. The System Center 2012 suite release was really just a framework and starting with […] Comments: 0 |
Posted: 21 Aug 2012 12:00 PM PDT This query lists all the machines with a copy of Microsoft Office PowerPoint Mobile by Version. Manufacturer Family Product Name Major Version <span style="color: black; font-size: 8pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: […] Comments: 0 |
Posted: 21 Aug 2012 11:03 AM PDT I wrote here about installing the first update bundle for ConfigMgr called System Center 2012 Configuration Manager Cumulative Update 1, and skipped over deploying using Software Updates, well here's how to get […] Comments: 0 |
More Testers Welcome for 2012 Xbox LIVE Update Public Beta! Posted: 21 Aug 2012 12:19 PM PDT I can tell you that we're accepting far more beta-testers this time around, but space is still limited and once the spots are filled the beta will be closed, so sign up today! If you're selected, an update will be pushed to your Xbox 360 in the next few days. The update will contain new Xbox LIVE features, including:
Note: A console in the program is expected to remain fully compatible with standard retail consoles not in the program. If you would like to participate, please register for the 2012 Xbox LIVE Update Beta here. You will be required to agree to a non-disclosure agreement (NDA) for confidentiality reasons. Update: Several users have reported an issue with accessing the registration link for this program — keep trying – there is a high demand on the site right now due to the popularity of the program. |
Scott McKenna became a registered member Posted: 21 Aug 2012 08:49 AM PDT Comments: 0 |
Rob Marshall wrote a new post, System Center 2012 Configuration Manager Cumulative Update 1 Posted: 21 Aug 2012 07:05 AM PDT Literally two days ago I wrote a quick blog post about the ConfigMgr 2012 cumulative update servicing model, but didn't have an updatecumulative bundle to install so pretty much just blogged what I took from the […] Comments: 0 |
Intel, Korean Telco Partner to Raise Data Center Temperatures Posted: 21 Aug 2012 08:38 AM PDT The two companies are developing technologies that would enable data centers to run hotter, saving millions of dollars in power and cooling costs. - Intel engineers for several years have been saying that data centers can run hotter than normal, which would save enterprises millions of dollars in cooling and power costs. Organizations traditionally run their data centers at 64 to 70 degrees Fahrenheit to keep the servers that run their business... |
Maik Koster wrote a new post, MDT Monitoring Deep Dive IV – Sending more information Posted: 21 Aug 2012 07:53 AM PDT In my post MDT Monitoring Deep Dive II – Consuming the data yourself, I showed you how you can write your own web service, that consumes the MDT monitoring information. The next thing we will cover is, how we can […] Comments: 0 |
santhosh became a registered member Posted: 21 Aug 2012 07:13 AM PDT Comments: 0 |
Scott Harrison became a registered member Posted: 21 Aug 2012 06:15 AM PDT Comments: 0 |
MDT Monitoring Deep Dive IV – Sending more information Posted: 21 Aug 2012 05:57 AM PDT In my post MDT Monitoring Deep Dive II – Consuming the data yourself, I showed you how you can write your own web service, that consumes the MDT monitoring information. The next thing we will cover is, how we can send even more information from MDT and also make use of a pretty hidden feature in this monitoring option I blogged about in the last post. Send additional informationAs we have seen in the last couple of posts, MDT will automatically send some information about the current deployment status to a web service. Which it then uses to monitor the deployment. It covers some basic information like the current step and step name, any errors or warnings, current IP address, etc. But what if we would like to receive more information like ServiceTag/AssetTag for some custom identification, the Task Sequence ID it's currently running, the deployment method or probably some custom property. Now as we have created a custom web service, it should be a piece of cake. Just add a new parameter to the "PostSettings" method in the web service, and then add this parameter to the web service call in the ZTIUtility.vbs script. Well, that works, but you would have to redo this, whenever you want to add a new parameter and also whenever you upgrade or install MDT. While it's generally a bad idea to change the original MDT files, a single change might be worth the effort, but ending up with multiple versions could create some headache. What I'm going to demonstrate now is a more generic way of adding new properties to our Monitoring. Let's start with the MDT part first. The idea here is to create a new MDT List property, that holds a list of all additional properties, that shall be included in the web service call. We can then add them on the fly, even dynamically based on other values. On each web service call, MDT just loops through this list and adds an entry for each property. For reason of simplicity, I call the list "MonitorProperties". To define them for our deployment, we just add it to our customsettings.ini: [Settings] Priority=Init,....,Default Properties=MonitorProperties(*) the "(*)" tells MDT, that this custom property shall be treated as a list. Now we can add a couple properties to this new list [Init] MonitorProperties001=ServiceTag MonitorProperties002=SerialNumber MonitorProperties003=TaskSequenceID MonitorProperties004=Model ... So far nothing really fancy. However, we need to make a small change to the ZTIUtility.vbs, otherwise no additional information will be send. In the ZTIUtility.vbs file, we search for the function called "CreateEvent". In the second part of the function, it's preparing the web service call (see This post for details). Just after MDT has prepared all its original information but right before it's sending them, we add the following lines (in MDT 2012 and MDT 2012 Update 1 insert it at line 404) ' Add additional parameters specified in MonitorProperties Dim sMonProp For Each sMonProp In oEnvironment.ListItem("MonitorProperties").Keys sLine = sLine & "&" & sMonProp & "=" & oEnvironment.Item(sMonProp) Next
It should be pretty self-explaining. It just loops through the list of additional properties and for each property, it just adds the name and the configured value to the URL, which is sent to the web service. With this approach, we can influence what is being sent even during runtime, and it doesn't have any negative side-effect. If nothing is configured, no changes will be applied.
Updating the web serviceWell, this was the MDT side of things. Now we need to consume those additional information. To keep things simple, we make use of the Request.QueryString object. It contains the query string from the requested URL and by this gives us a list of all keys and values that have been sent. Now we create two lists, one with the original MDT properties and one that holds the custom ones. In your own solution, you most probably going to have just one, but for demonstration purposes, it's a nice way of collecting them. So all I do is I define a new class that contains all the original MDT properties Public Class MDTDefaultMonitoringModel Public Property uniqueID As String Public Property computerName As String Public Property messageId As String Public Property severity As String Public Property stepName As String Public Property currentStep As Short? Public Property totalSteps As Short? Public Property id As String Public Property message As String Public Property dartIP As String Public Property dartPort As String Public Property dartTicket As String Public Property vmHost As String Public Property vmName As String End Class Then I can use this class as the parameter of my function, making use of a feature of ASP.Net MVC that maps each key from the query string to a corresponding property. Giving us a single object to work with. Function PostEvent(DefaultProps As MDTDefaultMonitoringModel) As ActionResult ... End Function If we use only the default properties, we are done now. To add our custom properties, we could either simply extend the above shown class, or we also make it a bit more generic and keep them in a list. As we need to assemble all parameters for our forwarded call to the original MDT Web service anyway, let's use it to fill a list with all default properties. Private _DefaultProperties As New Dictionary(Of String, String) ... Dim param As String = String.Empty ' Prepare parameter string For Each prop As PropertyDescriptor In TypeDescriptor.GetProperties(DefaultProps) ' Fill a dictionary with all default MDT properties for performance reasons _DefaultProperties.Add(prop.Name, prop.GetValue(DefaultProps)) param &= String.Format("&{0}={1}", prop.Name, HttpUtility.UrlEncode(_DefaultProperties(prop.Name))) Next
Then we just take the rest and add them to an additional list, that contains our custom properties. ' Get additional custom properties For Each prop In Request.QueryString.Keys If Not _DefaultProperties.ContainsKey(prop) Then _CustomProperties.Add(prop, Request.QueryString(prop)) End If Next Looks like an ugly way of doing this, but as mentioned before, this is only for demonstration purposes. So the main target is, to just get it working. Now we would need to store or use this information somehow. In the next post, we will create a small database, that stores this information for further usage and also gives us the same information like the workbench in a web page.
Returning Settings back to the ClientTo finalize this post, we want to add the "GetSettings" function to our demo web service. As mentioned in my last post, it's being queried by the gather process as soon as you switch on the monitoring feature. So without this function, you will regularly see some errors in your logs. As we did with the the former function, we could also just pass this information to the original MDT web service and send the result back to the client. But as I found this feature pretty hard to use and configure with the default MDT implementation, let's preserve this for future usage and just return a sample string for now, to prove that it's working. For demonstration purposes I return a "HelloWorld" for a custom property called "MonitorResult" Function GetSettings(uniqueID As String) As ActionResult Return New XmlResult(New GetSettingsResultModel With {.MonitorResult = "HelloWorld"}) End Function Looking at the log you can see, the gather process is now querying our custom Monitoring web service (which runs here on a different port than the MDT web service) and stores the result in the custom "MonitorResult" property.
Find the download with the compiled web service and the updated ZTIUtility.vbs file on CodePlex. The source files can also be found on CodePlex in the "Source Code" section. You might want to use a source control client like TortoiseSVN and point it to https://mdtcustomizations.svn.codeplex.com/svn/Demo/MDT_MonitoringService/Current. In the next post, we will build upon what we have covered so far and move towards a more useful web service that stores and displays the information. |
Rod Trent wrote a new post, System Center Monitoring pack for SQL Server updated Posted: 21 Aug 2012 05:41 AM PDT The Monitoring pack for SQL Server provides the capabilities for Operations Manager 2007 R2 and Operations Manager 2012 to discover SQL Server 2005, 2008, 2008 R2, and SQL Server 2012. It monitors SQL Server […] Comments: 0 |
Maik Koster wrote a new post, MDT Monitoring Deep Dive III – Returning settings to a Computer Posted: 21 Aug 2012 05:33 AM PDT |
Posted: 21 Aug 2012 05:04 AM PDT Joshua 1:8 This Book of the Law shall not depart from your mouth, but you shall meditate on it day and night, so that you may be careful to do according to all that is written in it. For then you will make your way prosperous, and then you will have good success. Comments: 0 |
Posted: 21 Aug 2012 03:36 AM PDT Microsoft is aware that detailed exploit code has been published for known weaknesses in the Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAP v2). The MS-CHAP v2 protocol is widely used as an authentication method in Point-to-Point Tunneling Protocol (PPTP)-based VPNs. Microsoft is not currently aware of active attacks that use this exploit code or of customer impact at this time. Microsoft is actively monitoring this situation to keep customers informed and to provide customer guidance as necessary.
Suggested ActionsSecure your MS-CHAP v2/PPTP based tunnel with PEAP For information on how to secure your MS-CHAP v2/PPTP based tunnel with PEAP, see Microsoft Knowledge Base Article 2744850. Or, as an alternative to implementing PEAP-MS-CHAP v2 Authentication for Microsoft VPNs, use a more secure VPN tunnel If the tunnel technology used is flexible, and a password-based authentication method is still required, then Microsoft recommends using L2TP, IKEv2, or SSTP VPN tunnels in conjunction with MS-CHAP v2 or EAP-MS-CHAP v2 for authentication. For more information, see the following links:
Note Microsoft recommends that customers assess the impact of making configuration changes to their environment. Implementing PEAP-MS-CHAP v2 Authentication for Microsoft VPNs may require less change to configuration and have a lesser impact to systems than implementing a more secure VPN tunnel, such as using L2TP, IKEv2, or SSTP VPN tunnels in conjunction with MS-CHAP v2 or EAP-MS-CHAP v2 for authentication.
Microsoft Security Advisory (2743314) Unencapsulated MS-CHAP v2 Authentication Could Allow I |
Exchange Online Protection Reporting Workbook for Office 365 Preview Posted: 21 Aug 2012 03:43 AM PDT The Exchange Online Protection Reporting Workbook provides a way to view messaging traffic data and message detail information using the reporting web service. Download Exchange Online Protection Reporting Workbook for Office 365 Preview - Microsoft Do |
Windows Azure Training Kit - August 2012 Posted: 21 Aug 2012 03:38 AM PDT The Windows Azure Training Kit includes a comprehensive set of technical content including hands-on labs and presentations that are designed to help you learn how to use the latest Windows Azure features and services.
Download Windows Azure Training Kit - Microsoft Download Center - Download Details |
Wesley Gill became a registered member Posted: 21 Aug 2012 03:15 AM PDT Comments: 0 |
Rajesh N became a registered member Posted: 21 Aug 2012 02:50 AM PDT Comments: 0 |
MDT Monitoring Deep Dive III – Returning settings to a Computer Posted: 21 Aug 2012 02:13 AM PDT If you enable the MDT Monitoring, you also enable kind of a "hidden" feature, that will give you just another way of setting properties on computers that are being deployed. One of the most important tasks in MDT is the gather process. It collects information locally on the client computer like hardware info etc. It evaluates the rules configured in the customsettings.ini and can also query databases and web services or run additional scripts for this evaluation. Now, since MDT 2012, if you enabled the monitoring, it will also query the MDT Monitoring web service, if it has some additional settings for the client. It calls a function called "GetSettings" on the same web service path as it sends the monitoring data to. As a side note, if you create your own web service, as demoed in the previous post, make sure you also implement this function, otherwise you will see some errors in the Gather log. For the demo monitoring web service, we will fix this in the next post. Let's have a quick look in the logs from a very simple gather with debugging enabled (otherwise those web service calls will be "silent") As we can see, it's calling the "PostEvent" function first to get the unique ID for this deployment. This normally happens before the gather steps runs the first time and is just due to the fact that I started only gather. Then it's calling the "GetSettings" function with this unique ID, but we don't get any information back as we haven't stored any yet. One important thing to note here is, that the web service call happens after(!) the gather process has finished processing the customsettings.ini file. This is important to know due to the "First value wins" behavior of most MDT properties. Now, how can we store a setting, so that it can be retrieved from the computer? Well, there is a PowerShell cmdlet called "Set-MDTMonitorData", that we can use for this. And this cmdlet has a parameter called "Setting" that takes a hashtable. Please see the first post of this series for some general information on how to use PowerShell cmdlets to handle monitoring data. Now for demonstration purposes, I want to set the OSDComputerName to "HelloWorld" and the SkipWizard to "YES". For this I use the following PowerShell command: Set-MDTMonitorData -path MDT: -MacAddress "00:11:22:33:44:55" -Setting @{"OSDComputerName"="HelloWorld";"SkipWizard"="YES"} where MacAddress is the MacAddress of the Client computer. Now, if we run gather again, we will see, it is now obtaining those values from the web service, giving us just another way to influence our deployments. In the next post, we will implement this function in our custom web service. |
You are subscribed to email updates from SCCM by Davis To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
No hay comentarios:
Publicar un comentario