Powershell Install-App function

So for a while now we have been using the Powershell Application Deployment Toolkit (PADT) to install applications that require some level of interaction from our end users. For example an update or installation of an application is dependent upon some other applications such as Internet Explorer or various parts of the Microsoft Office suite being closed. PADT works a treat in these situations. I was looking for something a little bit more streamlined than this for installations that don’t need the bells and whistles that PADT has. I have written this small function to allow EXE or MSI programs to be installed from powershell.

(more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More

Win10 How to remove “Get Office” all users

In Windows 10 there is a tile on the start screen and in the start menu for all users labelled “Get Office”. This is rather idiotically included in the Enterprise version of Windows 10. Most enterprise customers probably don’t want this in their start menu for all their users. There is another app called “Get Skype” and one called “Xbox”. Apparantly installing the LTSB release of Windows 10 enterprise results in these being missing. But regular enterprise on CB or CBB these need to be removed. Read on to find out how to do this with 10 minutes of powershell.

(more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More

BitLocker with SCCM 2012 R2 SP1 Part 1

So the big boss at work told our information sec team that BitLocker needs to be in place on all staff desktops where potentially sensitive data could be stored. The IA guys came to see us desktop/system admin guys to see if we could automate the process. What we have here is our way of automating BitLocker in an environment which is roughly 2000 windows desktops ranging from Windows 7 through to Windows 10. We have a way of doing this on existing computers and new computers. The real meat of this post is in the existing computers part.

(more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More

Powershell speak

So me and a buddy at work regularly play pranks by making computers speak, we do this using powershell. To kick it off here is the basis of the whole thing.

function speak($text, $voice)
{
    Add-Type -AssemblyName System.speech
    $s = New-Object System.Speech.Synthesis.SpeechSynthesizer
    ForEach($v in $s.GetInstalledVoices().VoiceInfo)
    {
        if($v.Name -like "*$voice*")
        {
            $s.SelectVoice($v.Name)
        }
    }
    $s.Speak($text)
}

speak "hello" "Heera"

(more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More

SCCM 2012, Powershell and DCM

This is something we have wanted to start using for a while and now we are I thought I would share my findings.

For those that don’t know DCM (Desired Configuration Management) as it was known in ConfigMgr 2007 is now simply referred to as compliance and comprises configurations items and configurations baselines. Basically baselines are deployed much like applications to workstations. These baselines are usually made up of configurations items used to check compliance to a particular setting or application. Baselines can also include other baselines. At the uni we have had incidents where a machine is deployed with OSD and for some reason or another an application will fail to install. These applications have all been thoroughly tested so we know they work both in and out of task sequences. So we need to be able to see which machines in our classrooms are missing software. We have around 1500 – 1800 teaching machines so it needs to be something we can manage centrally. DCM/Compliance fits the bill here.

We like the built in reports but they aren’t flexible and require quite a bit of drilling down. We ideally want something for our junior technicians to be able to quickly say X machine in location Y is not compliant, we need to go see whats wrong and in the same breath see that a machine is compliant so no in depth checks are required.

The way we decided to approach this issue was with powershell and WMI. We can use the WMI namespace root\ccm\dcm and the class SMS_DesiredConfiguration to pull information on configuration baselines. (more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More

SCCM 2012 Application Detection Methods/Configuration Items

I thought I should share my experience on this subject as it is quite common. Many times an application is created in SCCM 2012 that is not a Windows Installer application this means coming up with a detection method. You can do this using a file check or folder path check but I prefer to use a bit of powershell. This can also be pretty good if you are using Compliance/DCM to create configuration items for configuration baselines. (more…)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Read More