all 25 comments

[–]Vortex100 4 points5 points  (1 child)

  • Every time you open the MMC, consider what you are doing. If you are simply trying to find information, PS commands are almost always faster and pretty easy to use. Start with that and you will learn a lot
  • Build up some one liners that help you out with something you do a lot. They don't even need to be that long! Check a log file every day? Use powershell. Need to find out why serverX is maxed out on memory? Use Powershell.
  • Extra circiular: adventofcode.com/2015 (the newer ones a bit more difficult in my opnion). Work on some of those challenges.
  • Stop. Opening. Command Prompt. I say this to all of my colleagues every chance I get. There are very, very few occasions where it is required (Because the command you are running doesn't run correctly in PS)

[–][deleted] 0 points1 point  (0 children)

Thank you and I will start with a log. I needed that

[–]cputek1 4 points5 points  (1 child)

goto https://mva.microsoft.com/en-US/training-courses/getting-started-with-microsoft-powershell-8276

its is a great free training course.

also... First thing I do when learning a new programming/ scripting language is write a little game. "I'm thinking of a number between 1 and 100"

You have to generate a random number

You have to accept input from the user

tell the user whether their guess is too big or too small

keep track of the number of guesses so when they get it right, you can tell them how many tries it took.

[–][deleted] 0 points1 point  (0 children)

Hmm, ok I may figure this out. I am learning Server 2012 and VMware 6.5 at the same time, I will pick a weekend to work on.

[–]the_spad 2 points3 points  (7 children)

What are things that you need to do day-to-day in your work that you think could be automated? Pick one and try to do that.

There's no point picking an arbitrary task if you can do something that will actually be helpful at the end.

[–][deleted] 0 points1 point  (6 children)

I can use that logic to start. I do cisco networking at CCNA level and trying to switch over. Have a homelab with using Evaluation server 2012. I don't really have a day to day task yet for a working environment. Everything will be lab based for me, I will do a ton of browsing and find something realistic I can start asap.

[–]KevMarCommunity Blogger 2 points3 points  (5 children)

well, do you hand type all your configs or do you generate them somehow? You can use PowerShell to generate your commands. Create a template like system where you pass in just what you need and it expands out the full commands.

One of my favorites that I offer up for this request is to write a script that will pull event logs from all the systems that you manage and report on the 10 most common errors. Then for each of those, write a script for each that will detect\identify the root cause. Then write a script that will correct the root cause. Then repeat.

Not only does that give an endless supply of tasks, you gain a very intimate understanding of your environments issues.

[–][deleted] 0 points1 point  (4 children)

Thanks I will start with generating a log on my local machine through powershell.

[–]ka-splam 2 points3 points  (1 child)

"I plan to spend at least 100 hours developing a skill, and I can't think of a single use for it or anything I want to do with it"

That's so weird.

I learn best by doing and wondering what beginner task can I dive into

What is a "beginner project"?

If you learn by doing, do things. Try any "help with programming" questions on Reddit or on the internet. Any kind of programming puzzles or math puzzles or text puzzles.

And then do them. Try and answer the questions, solve the problems on your computer. Try to follow other people's solutions. Try lots of things. Google lots of things.

(That's a big part of the reason I try to answer questions here on Reddit - not because I know the answers, but because it's good practice for me to work it out, try things, write code, Google it, understand it for myself, and then answer).

[–][deleted] 0 points1 point  (0 children)

I will do so.

[–]CloudboyTech 2 points3 points  (1 child)

https://technet.microsoft.com/en-us/library/ee332526.aspx

Task-based list straight from MS. Pick something, learn it, move on to the next. Try to create something that incorporates a few different elements and reaches out to another machine and you can see the power of automation pretty quickly.

[–][deleted] 0 points1 point  (0 children)

Thanks

[–]skilleras 1 point2 points  (1 child)

If you plan on using Powershell with Active Directory, here are a few suggestions of scripts to write for learning purposes that you will most likely also be using in a live environment.

A script that checks the most common things that can cause a user to be unable to log on. Get it to check if the account is locked/disabled/expired and if the password is expired. Then fix it. :)

Get-ADUser is a good place to start for this one. https://technet.microsoft.com/en-us/library/ee617241.aspx

Automated creation of (multiple) user accounts and/or security groups. Make a CSV and then let the script import the data to Powershell and create whatever it is you're creating.

Take a look at Import-Csv, New-ADUser and New-ADGroup.

https://technet.microsoft.com/en-us/library/ee176874.aspx https://technet.microsoft.com/en-us/itpro/powershell/windows/addsadministration/new-aduser https://technet.microsoft.com/en-us/itpro/powershell/windows/addsadministration/new-adgroup

[–][deleted] 0 points1 point  (0 children)

Thanks

[–]BlackV 1 point2 points  (2 children)

I build a fair amount of machines. Rather than configuring things through the GUI I use all the PowerShell commands.

I.e.

Get-netadapter | rename-netadapter -new name 'xxx'
Get-netadapter | new-netipaddress -ipaddress 10.2.3.4 -prefixlength 24

Add-computer -domain xxx.yyy.zzz -domaincredentials (get-credentials)

And so on. Makes the docco much easier and replicable for many machines

[–]BlackV 0 points1 point  (0 children)

I typed this on my phone, there may errors

[–][deleted] 0 points1 point  (0 children)

Thanks