21 ago 2012

SCCM by Davis

SCCM by Davis


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

Pradeep Bhanot wrote a new post, Tip of the day: List of machines with Microsoft Office PowerPoint Mobile

Posted: 21 Aug 2012 12:00 PM PDT

This query lists all the machines with a copy of Microsoft Office PowerPoint Mobile by Version.
*Requires Normalize CM

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

Rob Marshall wrote a new post, System Center 2012 Configuration Manager Cumulative Update 1–Deploy using Software Updates

Posted: 21 Aug 2012 11:03 AM PDT

ThumbnailI 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:

  • Internet Explorer for Xbox
  • Recommendations and ratings
  • Pinning and favorites
  • Enhanced category search and discovery features
  • Voice search (in specified markets)

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

ThumbnailLiterally 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

ThumbnailIn 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 information

As 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 service

Well, 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. Winking smile

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 Client

To 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.

image

 

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

ThumbnailIf 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 […]

Comments: 0

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 […]

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

Microsoft Security Advisory (2743314) Unencapsulated MS-CHAP v2 Authentication Could Allow Information Disclosure

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.

  • Only VPN solutions that rely on PPTP in combination with MS-CHAP v2 as the sole authentication method are vulnerable to this issue.
Suggested Actions

Secure 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.
The application is built as a customized Microsoft Excel workbook and uses Microsoft SQL Server PowerPivot for Excel. In the workbook, users fetch the data from the reporting web service, use it to populate a PowerPivot model, use the PowerPivot model data to render charts in Excel, and to provide PivotTable and slicer capabilities.
The PivotTable also supports drill through. This allows you to double-click on a cell in the PivotTable and drill through to the underlying message-level metadata. This message-level data is loaded into a simple table for list, sort, and filter capabilities.
The application is packaged as a compressed file that contains the Excel workbook along with the required manifest files and binaries that define and implement the customization.

 

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.
August 2012 Update
The August 2012 update of the Windows Azure Training Kit includes 41 hands-on labs and 35 presentations. Some of the updates in this version include:

  • Added 7 presentations specifically designed for the Windows Azure DevCamps
  • Added 4 presentations for Windows Azure SQL Database, SQL Federation, Reporting, and Data Sync
  • Added presentation on Security & Identity
  • Added presentation on Building Scalable, Global, and Highly Available Web Apps
  • Several hands-on lab bug fixes
  • Added the Windows Azure DevCamp 1-day event agenda
  • Updated Windows Azure Foundation Training Workshop 3-day event agenda

 

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")

image

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.

image

In the next post, we will implement this function in our custom web service.

No hay comentarios:

Publicar un comentario

SCCM by Davis