10747D – Administering System Center 2012 Configuration Manager R2 SP1 – Module 2: Discovering and Organizing Resources
Is this Important?
What is Active Directory?
Where did it come from?
So how does all this relate to Microsoft’s Active Directory? This is how.
- Scalability: In Windows NT 4.0, the domain is stored in the Windows registry. Although these domains are theoretically limited to 40,000 objects (users, groups and workstations), mot practical deployments cannot exceed 10,000 objects before becoming extremely cumbersome and essentially unsupportable. Simple management tasks such as changing a user’s password may require sorting through thousands of objects. Further complicating the matters, the registry is always cached in the server’s memory so large domains require a lot of RAM
- Replication and Fault Tolerance: Windows NT 4.0 domain replication is built on a master-slave replication model: Domain changes such as adding a user, creating a group and changing a password occur at the Primary Domain Controller (PDC) which sends out updates to all Backup Domain Controllers (BDCs). Unfortunately, if the PDC is down or unreachable due to a LAN or WAN problem, the domain is unmanageable. The PDC is not only a single point of failure in terms of management, but it is also the sole source of domain information creating inefficient replication in large companies that may include hundreds of BDCs
- Delegation of Authority: Administrative rights within the Windows NT 4.0 domain system are all-or-nothing. It is impossible to delegate administrative rights to a subset of objects such as giving a department manager rights to manage users within their department
Many System Admins or aspiring System Admins have had it mentioned to them at some point about the importance of learning powershell. New Windows admins have heard it said over and over again, “if you want to safeguard your career for the future, learn powershell”. Microsoft has made this clear and even boistered it by making it ta core focus of newer MCSE and MCSA exams. We get i Microsoft! We need to learn how to do stuff with powershell!
However, in trying to “learn” powershell, I’ve seen many admins try to memorize the commands by constant repitition. This can do you a bit of good but let me introduce you to a much better way.
There is indeed a better way to learn powershell!! (not the only way) but a better way. You can learn powershell without having to memorize commands, you can learn powershell without having to recite and cram commands. First of all, let me start by saying that if your goal of leaning powershell is to be able to type a few commands to impress your colleagues, you’re doing it wrong!! (yes you heard me). Powershell was not created so that we can learn to type single commands in the console to achieve minor tasks (even though we have to start with that). Powershell was created with one main goal in mind – AUTOMATION.
In other words, it’s not wrong to learn single commands but you must learn them with the understanding that they are building blocks for something bigger. You can complete single tasks with the GUI but if you have multiple repeated tasks to complete, then you want to automate it and let the machine do the work for you!
So in the first part of the series, I’ll highlight some simple basic building blocks for getting around in powershell and letting powershell teach you how to use it.
1. Get-Module: This lists all the installed modules on the PC that you’re working on. The way powershell works is that as you load more modules, you get access to more commands. Powershell 3.0 has about 2430 CMDLETS but you don’t have all of them available on your machine. The only ones that you have available are the CMDLETS that pertains to the modules that have been loaded on your PC.
You can use the “Get-Module List-Available” to list installed module
2. Get-Command: After you have viewed the powershell modules installed on your PC, you’ll probably need to view the commands associated with each module. To do this, the command that you need is “Get-Command -Module <ModuleName>”
This will list ALL the commands associated with that module. Needless to say, this list can be a really long list depending on which module you’re viewing but for every module, there’s a limited set of objects (or nouns) that you can perform actions on. to list the nouns/objects for a particular module, use the command “Get-Command -Module <ModuleName> | Select Noun”
3. Get-Help: After seeing the CMDLETS that are available for the module that you want to work with, the next step will probably be working with the CMDLETS themselves. For this, you may need help. To get help with any CMDLET, you need the following:
Get-Help <CMDLET> -examples
Get-Help <CMDLET> -detailed
Get-Help <CMDLET> -online
There you go! Feel free to grab a PC in a test lab, play around with this and let powershell teach you about itself!! The only thing you need is to dedicate time with this and keep pacrticing and very soon, you’ll know your way around Powershell and be confident with it.
We recently had a series of hangouts on Powershell in the study group that I am part of. Please watch the videos below to see this concept in practice.