A common requirement with ConfigMgr deployments is to exclude clients that are connected to the corporate network via a VPN, when the total size of the content files for the deployment are too much to be throwing down a slow network link. There is more than one way to do this, but I have seen that … Continue reading Detect an Active VPN Adapter During ConfigMgr Deployments
Category: Powershell
Finding the ‘LastLogon’ Date from all Domain Controllers with PowerShell
In an Active Directory environment, probably the most reliable way to query the last logon time of a computer is to use the Last-Logon attribute. The Last-Logon-Timestamp attribute could be used, but this will not likely be up-to-date due to the replication lag. If you are using PowerShell, the LastLogonDate attribute can also be used, however … Continue reading Finding the ‘LastLogon’ Date from all Domain Controllers with PowerShell
Creating Simple Charts in WPF with PowerShell
Windows Presentation Foundation (WPF) is great for creating GUI applications, but it does not natively contain any charting controls. There are a number of products that can be used to create charts in WPF, including the WPF toolkit and the Microsoft Chart Controls for .Net, but good-old Windows Forms does this natively. WPF has does … Continue reading Creating Simple Charts in WPF with PowerShell
New Tool: System Explorer for Windows
Today I am pleased to release a new tool for enterprises and home users alike: System Explorer for Windows. This application can be used to view detailed system and hardware data for a local or remote computer by exposing WMI Win32 classes in an easy-to-use Graphical User Interface. For enterprises that use System Center Configuration … Continue reading New Tool: System Explorer for Windows
Creating WPF GUI Applications with Pure PowerShell
When creating a GUI application in PowerShell, I usually use Visual Studio, or Blend for Visual Studio, to design a WPF application, then copy and run the XAML code in PowerShell. Designing in VS is generally easier and quicker and creates less code, but it is also perfectly possible to create a WPF GUI using … Continue reading Creating WPF GUI Applications with Pure PowerShell
Temporarily Increasing the ConfigMgr Client Cache Size for a Large Application
Recently I had to deploy an application whose content files were larger than the default SCCM client cache size (5120 MB). This will return an error in the Software Center, such as: 0x87D01201 (The content download cannot be performed because there is not enough available space in cache or the disk is full.) I didn't … Continue reading Temporarily Increasing the ConfigMgr Client Cache Size for a Large Application
Ping Multiple Computers Rapidly with a Custom PowerShell Class
Today I published a custom class for users of PowerShell 5 that allows you to ping multiple computers very quickly using a custom PS object. It uses .Net runspaces to create a parallel processing environment to ensure speedy execution, and stores useful information about the ping results in the custom object, such as: The full … Continue reading Ping Multiple Computers Rapidly with a Custom PowerShell Class
Creating a Simple Class Library for PowerShell 5
PowerShell 5 brings some nice capability to PowerShell, including support for the creation of custom classes. Very simply, a class can be used to define a custom type, and allow you to create an object of that custom type. This can be useful for example, if you want to create an object that has specific properties … Continue reading Creating a Simple Class Library for PowerShell 5
Get OSD Info Post-Deployment with PowerShell
In MDT-integrated Configuration Manager, a UDI task sequence contains a couple of steps called Branding to Reg that brands OSD variables to the registry. This can be useful for reporting, and they can be inventoried with Configuration Manager using the handy RegKeyToMOF utility. These steps can also be added manually to a ZTI task sequence … Continue reading Get OSD Info Post-Deployment with PowerShell
Get Incremental Collection Evaluation Results in ConfigMgr with PowerShell
Update 04-Mar-16: Added translation of CollectionIDs to CollectionNames You may be aware that there is a ‘soft limit’ to the number of collections that can use incremental refresh in Configuration Manager 2012 onward, as described in this technet article. It’s important to check that the time taken for the incremental collection evaluation cycle does not … Continue reading Get Incremental Collection Evaluation Results in ConfigMgr with PowerShell