0/1 Lessons

Course Introduction

• 5min

0 / 2 lessons complete

Getting Started with Windows PowerShell

• 56min

0 / 8 lessons complete

Getting Help and Finding Commands

• 39min

0 / 6 lessons complete

PowerShell Command Syntax

• 33min

0 / 5 lessons complete

PowerShell Objects and Properties

• 35min

0 / 6 lessons complete

The PowerShell Pipeline

• 24min

0 / 2 lessons complete

PowerShell Providers

• 30min

0 / 5 lessons complete

PowerShell Arrays and Variables

• 28min

0 / 4 lessons complete

PowerShell Loops

• 19min

0 / 3 lessons complete

PowerShell Conditional Statements

• 11min

0 / 1 lessons complete

On Premises Lab Setup

• 36min

0 / 8 lessons complete

Basic Domain Administration with Windows PowerShell

• 2hr 27min

0 / 10 lessons complete

Send Emails with PowerShell

• 22min

0 / 2 lessons complete

PowerShell Desired State Configuration (DSC) Basics

• 1hr 48min

0 / 6 lessons complete

PowerShell Modules

• 58min

0 / 7 lessons complete

Powershell Challenges

• 1hr 55min

0 / 23 lessons complete

Course Conclusion

• 1min

0 / 1 lessons complete

Uninstalling Windows Features with DSC


Q&A (0)

Notes (0)

Resources (0)

Saving Progress...


There are no resources for this lesson.

Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.

Create note

First, on SAMS01 (or your member server) make sure the SMB 1.0/CIFS File Sharing Support feature is installed:

This is the feature that we will be removing from SAMS01. Once you’ve done that, head over to SADC01 to beging writing the node configuration.

To get started with this lecture, we are going to create a new PowerShell script called “RemoveSMBv1.ps1” in the “C:\DSC” folder:

The script will start out with the same few lines as the LCMConfig script by declaring the TargetServer variable and creating a CIM session with the target server.

Also add a variable for the config paths:

$ConfigPath = “C:\DSC\Config”

Next, we need to create a configuration for removing a Windows Feature (SMBv1) from our target node:

# Uninstall SMBv1

Configuration RemoveSMBv1 {

    Import-DscResource -ModuleName PSDesiredStateConfiguration

    Node $TargetServer {

        WindowsFeature "SMB1" {

            Name = "FS-SMB1"

            Ensure = "Absent"




We are running the Import-DscResource so the configuration command will run without error.

Now let’s create the MOF file with this configuration:

# Create MOF file for target server

$RemoveSMBv1 = RemoveSMBv1 -Outputpath "C:\DSC\Configs"

A new file is created in the “C:\DSC\Configs” folder. The MDWS01.meta.mof is the LCM (local configuration manager) config and the MDWS01.mof is the node configuration.

Once the MOF file is generated, we can test our node against the LCM configuration file we just generated:

This should return false since we install the SMBv1 feature at the beginning of this lecture:

Next, add the the following code before the test line:

# Apply the DSC Configuration to Node

Start-DSCConfiguration -CimSession $Session -Path $ConfigPath -Wait -Verbose

When we execute this code, it will remove the feature and let us know it's pending a reboot:

We could force a reboot with the following line when we are sure nobody is using the computer.:

Invoke-Command -ComputerName $TargetServer -ScriptBlock {restart-computer}

Server Academy Members Only

Sorry, this lesson is only available to Server Academy Full Access members. Become a Full-Access Member now and you’ll get instant access to all of our courses.

0 0 votes
Lesson Rating
Notify of
profile avatar
Inline Feedbacks
View all comments