• I wanted to make a quick update before the end of the year rolls around… I’ve been making a series of videos on my youtube channel where I discuss what I am learning as I go, on top of showcasing what I do to implement cool functional graphical user interfaces (since I have formal Graphic Design experience… for instance, going back to my own mapping site on PlanetQuake … I digress…

    Last year I saw a video that resulted in this wanton desire to learn how to do the things I already knew how to do… but now…? With PowerShell. Wouldn’t you know? It’s about a year later and I have this video that shows some killer tools I managed to build.

    Has it been easy? No it has not. In fact, I would wager that the dance with Recursion alone … ‘sent me off in some totally unwanted direction…’Was it worth the effort I made? Absolutely.

    This is the video I made back in May, I was still getting to know PowerShell and how to do things with the GUI.

    I’m in the process of reallocating my email server, for now my github repositories should be a viable way to communicate if you have some questions or overlapping ideas. I know that PSWindowsUpdate would be ‘awesome’ to learn, in fact it would expedite where i’ve been at with Mr Niehaus’s scripts for the PSD Master project ( I have not touched those scripts for some time so I started a new repository for now…

    Video from May

    I’ll have a new video soon of a fully 100% server install, configuration, to them fully prepare future child items/machines. Cause PowerShell is a pretty top notch tool like that.

    – MC

  • I’m making some radical updates to this project ‘Hybrid – Desired State Controller’, wanted to showcase this GUI/networking module that will integrate the MDT/Image Factory/PSD Master project in addition to automating the configuration of IIS, DNS, DHCP, and Certificate based services.

    It’s still a long way from being complete, however, you can scope out the tool I made for Active Directory Domain Controller Promotion ( DCPromo ).

    Project is located here.

    This is as PowerShell based/focused as it is a System Administration and Network Security Engineering. (putting my old school MCSE stuff to the test…)

    Will have my website relaunched soon, probably with Blazor. If you haven’t heard of Blazor… well, it’s sort of like if a ninja had a baby with a viking. Takes 2 cool things like ASP.Net and Razor/WebAssembly, and makes it possible to do C# instead of Javascript. And… I think it’s cool cause I don’t like JS.

    – MC

  • Hey everybody! It has been a while since my last update. Over the last 8 months, I’ve been ‘catching up’ on all of the training I had for my MCSE/MCSA tracks from 10 years ago, in addition to learning some new tricks that I think everybody will find useful in being able to combine and deliver a ‘very powerful GUI design process’ , ‘very powerful system administration’, ‘very powerful security engineering’, by using some ‘very powerful abstract approaches to mathematics and logic’… using ‘a very powerful programming language … called PowerShell.

    Hope people like what they see!

  • Michael C. Cook Sr. posted a new activity comment 3 years, 4 months ago

    Fair enough, I can do that. Thank you sir.

  • I ran across “Prateek Singh”‘s PowerShell FTP Provisioning script the other day. I’ve been working more with IIS and BITS for the PSD-Remaster project, and I was attempting to upload my image files to the internet to Invoke-WebRequest them into memory without using an outfile, and for whatever reason, my traffic kept getting redirected in another direction. At any rate…

    I’m completely revamped Prateek’s script and used some of the manners and methods that I have been implementing in my scripts, ways of using more GCI and a lot less statically written strings, redundant code and commands thrown into multidimensional loop in ways that probably seem a little daunting at first.

    Here is a link to that script I have rebuilt, it now allows for the installation to a local server or a domain controller through Active Directory. I haven’t tested it with longer domain names, but it should work just fine as is since “I try to be considerate of the people that would use the tools I have been building… Not a quality you get when Microsoft has their staff rush the scripts to completion.

    At any rate, feel free to check out the script and use at your discretion.


    I’ll have an update for the PSD-Remaster process by the end of the month. It is now fully deploying an IIS Website with BITS fully configured and also includes the image-provisioning process… and it uses the GUI methods I have been creating dynamically. If you want to check out where that project is at? It’s on that same repository under /Install/Initialize-Hybrid.ps1



    • Michael, thanks for posting. It is usually better to post something like this in the PowersShell forum because more PowerShell users will notice it there. You can also post updates about PowerShell in the PowerShell Group by selecting the corresponding entry in the dropdown menu.

  • I just tried to make a comment on this article.

    I don't think that [ ADSI ]"WinNT://$Etc" works when you have LSA disabled, which I do. Because apparently when you're in the world of Cyber Security… it's a good way to get trolled… learned my lesson with that one.

    At any rate… I have reworked this script. I included the local user parameters that Nelson suggested, as that is definitely easier to manage than using the shellsharpnet method that the author originally used.

    I've had issues using both methods. Despite that, I have a script in a testable format, feel free to scope it out and see if it works for you.

    I was looking to add a GUI module, but it's not high on my priority list at the moment.



  • Over the course of the last 6 months, I have been researching and developing a project that utilizes the Microsoft Deployment Toolkit, in addition to open source tools for drivers, applications, templates, Active Directory integration and DHCP/DNS/WDS/MDT configuration.

    During this process, I was enthralled by the possibility of being able to automate the things I found to be repetitive and time consuming, and spent the last 6 months learning how to write what could be considered ‘good PowerShell’. In January, I stumbled across this project that Michael Niehaus was working on over 2 years ago, called ‘PSD-Master’. What it is, is a naked PowerShell delivery/deployment method that replaces the older VBScript, ActiveX, and HTA program that sorely needs an update/overhaul.

    SCCM uses the same structures and scripts, but it has other tools that PowerShell can leverage to seamlessly integrate Hyper-V, VMWare vCenter/vSphere controls…

    While the PSD Project was pulled after I kept asking questions about it to Johan Arwidmark and Michael Nystrom, apparently the project was relaunched in April under the guise of FriendsofMDT.

    To be honest, I won’t speculate why they pulled the original project and relaunched it under another guise, but, I’ve been looking through those modules that they’ve uploaded and have been reformulating the process. It hasn’t been an easy feat, and though I’m sure they would agree, there’s just a lot of code to sift through to make it efficient as possible.

    My dilemma has been being able to balance what else I’ve wanted to develop, why I’ve preferred to develop it, and staying focused on one project at a time rather than a parallel array of projects… in other words, the serial efforts I make tend to be a frustrating process, but when I juggle ideas around, I tend to reroute what I learn and integrate improvements as I go.

    At any rate, I tried to post a development update to Reddit and that post was rejected. Apparently, my free open source tool and my development ideas is considered a product… So rather than to post updates there, I’ll be posting them here.

  • Michael C. Cook Sr. changed their profile picture 3 years, 6 months ago

  • Michael C. Cook Sr. posted a new activity comment 3 years, 6 months ago

    That’s correct. I’ve updated it in the header.

  • This is a brief explanation of the project I have developed over the last 5 months in my attempt to build the tools necessary to properly combat cyber-criminal activities on a Windows Operating System.

    My project is free. The source code is here.
    (I’ve updated the link to GitHub – for whatever reason it added trailing periods to my company name in the link)

    The video of the entire process so far…

    The shorter video of the client side process that people probably want to see.

    Reddit Post with a little more detailed summary.. but the longer version is pretty informational.

    Automated PXE Methodology -> Windows 10 x86/x64 Home/Education/Pro [10.0.18362.86/113] and Windows Server 2016 [10.0.14393.2969] from sysadmin

  • A simpler and less redundant way to provide switch UI, this works in the CLI as a choice, or in ISE as a message box. There are other ways to pull this, you can use one of the other methods PSCmdlet SupportsShouldProcess I think does this same thing, but I'm not super certain.
    switch ( $host.UI.PromptForChoice( 
        'Stuff-Happening' , 
        'Do you want to make stuff happen?' , 
        [ System.Management.Automation.Host.ChoiceDescription [] ]@( 
            '&Heck yeah!' , 
            '&Not really'
            '&Only if it works) , 
        [int] 0 ) )
               0 { echo "You chose Heck yeah!" }
               1 { echo "You chose Not really, you might like doing things the long way. And, that's ok." }
               2 { echo "If it works, then I guess I may use this method instead. Arrays are pretty cool." }

    Tried to post this on Stack Overflow and it got about -8 points in about 45 minutes, not sure why. It's less redundant and does the same thing without tying up any variables.

  • Michael C. Cook Sr. posted a new activity comment 3 years, 6 months ago

    I have been developing a way to use MDT to deliver Windows 10 and Server 2016 without the tracking and telemetry enabled. It’s been quite a challenge, but the end result is that I’ve sought out a way to strip Windows 10 of OneDrive, Location and Telemetry tracking, the Windows Store, default applications and etc, and the project is called Hybrid.

    I’m in the final stages of bug testing and rewriting some of my array/hashtable choices for the server and client end scripts, but… here’s a link to the video if you’d like to check it out.

    Please note… I’ll have a version up soon that has “0” errors, but the video contains only one where the UEV-Profile import script at the end fails to be copied to the newly generated account. I have that part resolved, just rewriting some of my design and formatting choices.

    Here’s the video, https://www.youtube.com/watch?v=zVsviPCg4Vk
    Here’s my GitHub script repo, https://github.com/secure-digits-plus-llc/Hybrid-DesiredStateController

    When I have this done i’ll be getting to the website and my phone reactivated, I have been putting off the ASP.net development because this was a high priority.

    – Michael C

  • I don’t use IPAM or this tool. I use a script and my own gui that does the same thing… Everyone uses a different tool and that’s ok. I was just chiming in and saying that a lot of these tools seem to be rebrands of the same old idea. I’m all for progress but progress seems to be a new skin on the same old tools these days… rather than encapsulating them all into a refined script that can restore from bare metal in the least amount of time.

    What they should develop is a way to set up as many tools as you need from the root variables you want the server to sustain. They already have a way to pull the XML script in Features/etc… but the wizards are all disconnected from each other… For instance, if I know my domain controller will always be “dc####.domain.tld”, then I could have the seedling pull that info from the start and input its variables that way rather than going through individual wizards in order to set up IPAM or Windows Admin Center.

    I’m working on a gui/script/program called Hybrid that does exactly that, whether it’s a virtual or physical machine you’re building, and you can use the same program to set up child items too.

    It’s sort of how Azure would do this or an AD Federation Services would, only, it works without Azure or WSUS, or a few other utilities and such.

    If you want to scope it out so far? Here it is. https://www.youtube.com/watch?v=qiZcHqkAzbs

    I still have a lot to do on the server end, but the end result will look like this… https://www.facebook.com/mcc85s/posts/2256159067756920?sfnsw=cl

  • Looks like IPAM. I don’t use that type of modulation, I prefer to write the scripts that do what this tool does. Does it amount to capability? Sure. Does it amount to easy replication? Doesn’t seem like it. At least when you create a root structure through a script, you can control those variables and ‘seedlings’ with a database. That’s pretty much what this tool is… it just has a pretty face. Like IPAM.

  • Michael C. Cook Sr. became a registered member 3 years, 8 months ago

© 4sysops 2006 - 2022


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account