Ad Space here

Welcome Guest! To enable all features please Login or Register.



Go to last post Go to first unread
#1 Posted : Thursday, January 03, 2019 10:34:19 AM(UTC)

Rank: Newbie

Groups: Registered
Joined: 12/19/2018(UTC)
Posts: 1
_United States
Location: Florida

Hello everyone,

My name is Kyle, I am an Associate Systems Admin for Dycom Industries locates in Palm Beach Gardens, FL. Prior to my current position, I was involved in the Palm Beach County School District IT department as a local IT personnel for an elementary school based in Wellington, FL. I have been in my current position as a Systems Admin for just over 10 months now. I’m looking to expand my powershell knowledge in the coming months and would appreciate any recommendations or useful resources to reach the goal of fluent and efficient scripting in PS. I look forward to seeing this site grow into something very special and useful for all.

Happy New Year!

Edited by user Thursday, January 03, 2019 10:38:39 AM(UTC)  | Reason: Not specified

Ad Space here
Dustin Higgins  
#2 Posted : Thursday, January 03, 2019 3:31:00 PM(UTC)
Dustin Higgins

Rank: Advanced Member

Groups: Registered
Joined: 7/1/2018(UTC)
Posts: 64
_United States

Thanks: 1 times
Was thanked: 6 time(s) in 6 post(s)
Happy New Year and welcome! I can certainly share my PowerShell experience. I used the Powershell Cookbook as a reference which was great in describing how to customize my profile, etc. When I first started dabbling in PowerShell, I used the same script practices that I was used to. I totally missed the Object Oriented aspect of PowerShell. Someone finally beat me over the head with they PowerShell book and started me down the path of custom objects, etc. Once I understood the objects, that totally changed everything! I would pay special attention to that. Error handling is also important as well. I'd be glad to share code snippets and different ways of doing things in PowerShell.



#3 Posted : Sunday, March 03, 2019 10:21:19 AM(UTC)

Rank: Newbie

Groups: Registered
Joined: 8/7/2018(UTC)
Posts: 8

Three words: project based learning. This is how I learned Powershell and gained my tiny bit of Python knowledge (I will have more Python knowledge when I get more time to work with it).

Set a small project goal and work towards it. For example, make a Powershell script that dumps the members (their AD account names) of a Security Group to a csv file.

Its fine to Google it.

Try to find the most basic example though, and whatever example you find, go voer it word by word until you understand what it is doing. Sometimes it seems whatever you want to do with Powershell is too big of a project or how would you do it (that's how I felt at first). Break it down into the smallest pieces as possible, and build the pieces. Then put all the pieces together.

For example, you get a request to find all of the members of a given security group, whose accounts are in the UTQ/contractors OU, and whoses accounts are enabled.

At this point it helps to write things down on paper, do a big of brainstorm design with ideas of how to get to the objective.

Continuing with the example, the first piece I would do is:

1. Find all the members of sg-utq-test

It may take a bit of time and Googling to determine how to do this, but this data is required before you can move on.

2. Powershell has an ISE (integrated scripting environment) which you can enter code into then run it and see the results. I use it for design and find it very helpful.

(The ISE does not function  the same way as running a powershell script and there can be weird issues but I only rarely run into that. Short version, use the ISE to learn).

Given you are running the ise as your standard AD account, the only thing it will allow from AD is read only anyway. The most likely thing to happen when first learning Powershell is your code won't work. And that's fine. Google the error message.

3. Once your code runs and outputs the members of the security group, figure out how to find the OU those AD accounts live in.

At this step the only thing to look for is "Powershell determine the OU of an AD user".  

4. Enter in the code to determine the OU of the AD users into the ISE below the other code you entered for step one.


One thing I do near the top of my scripts is

# Helpful links:

# https://devblogs.microso...pting/tag/scripting-guy/

As I am researching how to perform various scripting things, I put those helpful links into the script. # is the comment start line character in Powershell

so nothing following # gets ran. Commenting your code helps a lot so you can revisit it later and see "Ok what was I doing here?" And also others can see what you were doing, or what you were trying to do etc. Thats also a design methodology. Use commenting to define what you need to do. Continuing with the above example:

# Write code to determine the members of  sg-utq-test

<insert code here>

# Write code to dtermine the AD OU of these accounts which are members of the above sg

# Write code to filter the AD members so that you only get the ones who are members of UTQ/contractors OU

# Write code to determine which of these accounts are enabled

# Write out the data to a csv file

While you progress always back up your scripts to a certain Google Drive folder so when you have time to work on them they are easily accessiable.

Main points:

Learn by doing

Start with a small project

Break it down into tiny parts

Solve each part with code, then tie it together.

Rss Feed  Atom Feed
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.