# Newbie asking about updating cmdlets

**URL:** <https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098>\
**Category:** PowerShell Help\
**Created:** [November 24, 2013, 12:10am UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098 "2013-11-24T00:10:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![william-davis](https://avatars.discourse-cdn.com/v4/letter/w/f6c823/32.png) [@william-davis](https://forums.powershell.org/u/william-davis)\
**Post date:** [November 24, 2013, 12:10am UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098/1 "2013-11-24T00:10:48Z")

</div>

Hello to all, my situation is this, and it may or maybe not have an answer so I thought I better ask the Pro’s. Hate to try to fix something that is not fixable.

I have several boxes that are running Win 7 Pro and PS version 4.0. I also have one box that is a Win 8.1 machine, also running PS version 4.0. I have updated all the machines to version 4.0.

I am studying Ed Wilson’s PowerShell first steps book while waiting on Don Jones book PowerShell in a month of lunches. The Ed Wilson book uses Win 8 and PS Version 3.0 and when I try to run the same commands on the Win 7 Pro machines I find that those commands are not available in that platform.

Is there anything that I can do to get all the machines to the same level, or am I stuck with a Windows OS Compatibility issue? Thanks for your time and help, I find that posting questions here is a great way to learn, and someday I hope to be able to help others also.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex019/uploads/powershell/original/1X/385e4f9fe133561ad30a814262fe0e0ae6bc3ef0.png) [@system](https://forums.powershell.org/u/system)\
**Post date:** [November 24, 2013, 12:30am UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098/2 "2013-11-24T00:30:09Z")

</div>

There are hundreds (if not thousands) of cmdlets that only exist on Windows 8 or later; Microsoft made a huge push for its products to have PowerShell modules between the releases of those two OSes. They’re mostly based on new WMI / CIM namespaces and classes that don’t exist on the older operating systems, and as such, there’s no way to get them working.

There’s always a way to reproduce that behavior on older platforms, even if you’re not using the same method. It’s just usually not a simple as running a cmdlet that’s already made for you, though there are some exceptions. For instance, cmdlets like Add-PrinterDriver are new to Windows 8, but the %systemroot%\system32\Printing\_Admin\_Scripts\en-us\prndrvr.vbs script has been around for years. It accomplishes the same thing using older WMI classes.

---

<div class="post-metadata">

**Author:** ![william-davis](https://avatars.discourse-cdn.com/v4/letter/w/f6c823/32.png) [@william-davis](https://forums.powershell.org/u/william-davis)\
**Post date:** [November 24, 2013, 1:16am UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098/3 "2013-11-24T01:16:29Z")

</div>

Thanks sir for such a timely response, I am to new to understand all that you explained but I think I do. You stated basically that there is an “Old School” ways to do what the NEW cmdlets do, but I would have to learn that “Old School” way. I will pursue that process if the need arises, as for now, I guess my option is to upgrade the OS’s to use the newer teaching materials, or use my one and only Win 8 machine exclusively for this book. Kind of bad luck because I have a small domain setup that I was using to test the materials in the textbook, but those machines are all Win 7 Pro PS Version 4.0. Anyway, thanks to your knowledge I now what I can and cannot do, SALUTE!

You would think that the Windows folks would make the versions\operating system backwards compatible, just my thoughts:) Onward, and Upward we go!

---

<div class="post-metadata">

**Author:** ![richard-siddaway](https://avatars.discourse-cdn.com/v4/letter/r/d78d45/32.png) [@richard-siddaway](https://forums.powershell.org/u/richard-siddaway)\
**Post date:** [November 24, 2013, 4:26am UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098/4 "2013-11-24T04:26:26Z")

</div>

The problem is porting the CIM classes back to earlier versions of Windows. This isn’t feasible proposition, nor a cost effective one. In most the cases I can think of - one major exception being the DHCP cmdlets in Server 2012 - there is a way to perform the same task.

With PowerShell 1.0 the only way to access AD was using the [adsi] type accelerator. When Windows Server 2008 R2 shipped we got Microsoft AD cmdlets. They were ported back to some earlier version of Windows but not all.

You are in a similar position with the new cmdlets. Many of them rely on WMI classes that just aren’t available for earlier versions. Not all functionality can be ported back to all versions - we’d never get any progress if that happened.

I can’t think of a scenario where new functionality is guaranteed to be ported back to earlier versions.

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 8:52pm UTC](https://forums.powershell.org/t/newbie-asking-about-updating-cmdlets/2098/5 "2024-05-16T20:52:37Z")

</div>


