ProductGPT
Try the custom AI to help you find products that Reddit loves.
I've been in IT for 10+ years and learning how to code or even run PowerShell commands makes me so freaking sleepy.
So of course I google whatever I need to.
It sucks because I'm not built for coding.
I have even tried doing Learn Windows PowerShell in a Month of Lunches but 5 minutes in I'm snoring.
I would highly recommend learning powershell in a month of lunches. Just about everyone one of those ideas and many more would have been covered in there. Entry 1:
ForEach ($line in (Get-Content "myfile.txt")) { #do stuff with $line }
Entry 2 is really dependent on how your using and what object type you're using, but here is an example that will work with even most complex object variables:
$myVarToSave | Export-clixml mySavedVar.xml
$myRetrievedVar = import-clixml mySavedVar.xml
Entry 3:
$randomLine = Get-Content "myfile.txt" | Get-Random
However, try out Learn Windows PowerShell in a Month of Lunches
Powershell for Windows. There is no MS cert for it but worth knowing. Powershell In a Month of Lunches is a great place to start. Cheap, or free, depends on your google skills. Amazon link for the book
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
The author's are Don Jones and Jeffery Hicks. Don Jones is an absolute Wizard, and very active on Powershell.org. My recommendation is Jones' ultimate course on cbtnuggets. It's expensive, but holy shit is it some powershe I mean powerful content
For anyone who feels they don't have enough time to learn powershell: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080 I only made it half-way through, and still got what I needed to. (I'm not harping on you to learn powershell, just providing the info for anyone interested)
In all seriousness learn powershell. I know you want to get comfortable with the GUI; but if you are serious about progressing and not staying at the help desk than grab a copy of Learn Powershell in a month of lunches.
Microsoft is heavily invested in Powershell, and the roll of the SysAdmin is only going to involve more and more powershell moving forward.
"Learn PowerShell in a month of Lunches" by Don Jones and Jeffrey D. Hicks.
You've got a lot of background, now it's time to flesh out your weak spots.
I'd pick up this book, its fun and doesn't overwhelm you. Don is an excellent writer, and unlike a lot of folks, he isn't out to try to impress you with how much he knows, or give you a drink from an information firehose.
Learn PowerShell in a month of lunches
This book is how I learned PowerShell. I loved the format too, little 20 minute lessons with a key concept and LOTS of real world examples of how to apply the skills. Don't just read it though, have your laptop with you and work the demos. I worked out an arrangement with my boss where I was given an extra study hour on Fridays, so I'd go to the coffee shop and take two hours and work through a few chapters at a time.
I loved it! In no time at all I wrote an ill-advised tool to save me one minutes work, twice a year, and nuked the memberships of all Security Groups in AD.
You should buy this. If you are in any type of Microsoft administration (Windows, AD, SQL, SharePoint, Exchange, etc), you will need to learn the language.
> When did that start?
At least since PowerShell v3. Possibly earlier. If you're looking for a good place to learn PowerShell, I highly recommend this book. It has helped me a ton.
Scripting native to Windows? Powershell - Powershell in a month of lunches. Nothing else really comes close. Python, perl, php, etc can all be used, but none of them are "native" like powershell is (although you might have to install it on some machines)
GUI - either VB.net (Closer to VBS) or C# (More popular and more likely to find better help/resources). Look into Winforms or WPF. Look into Visual Studio 2013 Community Edition. Again, you can make GUIs with tons of other languages, but if you want to do Windows "natively", those are going to be the best options.
You will NEVER teach even a high level overview in a single class there is just too much stuff, like an endless sea of stuff. If your boss would give you some time over a while, or if your coworkers are up for eating lunch while learning for a month (everyone chips in a 5 bucks and that's pizza every day...) then you have a chance. It's going to take a while.
I also just started learning Powershell, and so far the book Learn Powershell 3 in a month of lunches has been amazingly helpful. Perhaps write a class that does the book start to finish, maybe like like 4 5 hour classes, or more shorter ones. That way your students would have shit to do, not to mention that you probably have your own environment to set up labs for them to mess around with and tackle each of the problems that they will see in the book. If I had a coworker who was up for teaching I would DEFINITELY give up my lunches to learn powershell.
If you're involved in windows admin work at all, it's in your best interest to learn powershell. It is so much more robust and...well, powerful than any GUI you use, especially for queries and reporting. I have this book, i'd recommend it highly, about halfway done so far
Learning Powershell (at the very least) is twofold: on one hand, a person needs to understand how scripts are structured and designed. On the other, a person need the vocabulary and knowledge of commands. Neither of these is really something anyone new is gonna just absorb over lunch. But I would say that you can help yourself with this- although it's definitely not going to help you right away with this issue, it makes things easier in the long run:
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I'm not sure I'd consider Powershell devops than a core Windows administration tool. Devops to me would be like Chef, Puppet, Ansible, Salt, etc. (Puppet I think would be good for a Windows person to learn.)
You can do Powershell in a month of lunches: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
You can do the Microsoft Virtual Academy as well: https://mva.microsoft.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-8276
Powershell is very object oriented and pipelined, it's not a bunch of "++1, !, +3," style of true programming. It's more of a "get-aduser doej"
A lot of the commands are the same syntax prefixes, like "get" and "export".
Don't be discouraged, envision yourself knowing this inside and out in a year, and your mind will work you toward this goal.
What, specifically, do you work with that you think can benefit from scripting?
Powershell in a month of lunches is apparently quite good, that will cover Powershell from the basics to relatively advanced concepts, although I don't recall it covers AD.
Once you have a grasp of PowerShell, the AD modules are not much trouble to learn at all, MCSA should at least cover some of that.
Also - Take a look under the "resources" tab on the right of this sub.
I like a nice ham sandwich for a lunch point.
As far as getting into PS. This is the usual recommendation.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Enjoy your book and sandwich.
Pick up Powershell in a month of lunches and grab a free month trial of pluralsight. Two great resources for learning the basics.
For your lab, check on your local craigslist; someone is always getting rid of some gear there. If not there try EBay, can’t swing a dead cat without hitting a CCNA lab kit like these: Cisco Lab Kit
Once you have lab equipment, get some windows servers spun up as that will make learning powershell both applicable and rewarding to you.
Powershell is a very handy tool to have, but you don't need to 'dedicate' yourself. Go through this book and you'll be a step above a majority of IT professionals easily. https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I give this to all my new sysadmins when they start. I'm sure if you look you can find a PDF of it somewhere if you don't want to buy the book.
But buy the book (not a referral link, I get nothing, I do not work for/represent/care about the author)
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
https://www.amazon.com/SQL-Minutes-Sams-Teach-Yourself/dp/0135182794/
Both have earned a permanent place on my book shelf.
If you are in a lower cost-of-living area then that is probably ok. What you describe seems like mostly level1/2 stuff. My jr sysadmin makes more than that but I think the help desk people make less, but those are the level1 hd people. I don't know how much our level 2 people make (I'm not their manager).
As for my own experience, I made about that much 20 years ago as a level 2 help desk/jr sysadmin at a large company in contract role. I worked a lot on learning everything I could that would help. The more valuable you make yourself to your company the more you'll make, over time and if they have a good management team. This is why switching jobs every few years can be so fruitful, big jumps in pay or smaller jumps with a bigger title and then growth at the new company.
​
Read about time management (https://www.usenix.org/legacy/event/lisa06/tech/slides/limoncelli_time.pdf), script everything you can (https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080), and document everything you can (a wiki or runbook or such).
I just cobbled together (and looked up examples) scripts as I needed to write them but others have bought books like Learn Windows PowerShell in a Month of Lunches.
I've now mostly gone to infrastructure focused scripts...pretty much anything you can do in a gui for VMWare, AD, Exchange, MS-SQL can be automated. Same goes for software installs, file moves, NTFS/share permissions.
...it's shocking how much can be done and the best part is that powershell code doesn't look like gibberish
Basic tinkering/researching from within Powershell
Get-Command # lists commands Get-Help [command] -Full # Shows you how to use a command with extreme detail Get-Module -ListAvailable # List all the modules you have installed Import-Module # Activate a module for interaction
Query AD users and filter by the last name and department
import-module ActiveDirectory get-aduser -filter * | where Surname -eq Smith get-aduser -filter * -Properties SamAccountName,Department | Where-Object Department -eq IT
Connect to VMWare, query for powered on DCs, sort list of VMs that are powered on by their resources, shutdown a VM and change CPU/RAM and power it back up
Import-Module VMWare.VumAutomation Connect-VIServer -server "MyVMWareServer" Get-VM "DC" | Where PowerState -eq PoweredOff Get-VM "*" | Where Powerstate -eq PoweredOn | Sort-Object MemoryGB,NumCpu,Name -Descending Get-VM "PC-Sales-001" | Stop-VM | Set-VM -NumCpu 2 -MemoryGB 8 | Start-VM
Create a new VM for a server...use the datastore with the most free space
$datastore = Get-Datastore -Name "*" | Sort-Object FreeSpaceGB -Descending | select -first 1 New-VM -Name NewServer -Template OldServer -Datastore $datastore
For those commands, I didn't always know what syntax I needed to use...just started typing in the command I knew and then hit [-] and [tab] until I found the option I was looking for.
He needs to learn some powershell basics first. He is not asking for help, he is asking for free labor as /r/bryology mentioned.
Example
/r/tekdud3
This is not a simple script that can be used in everyone's environment, this is a very complicated script using a powerful scripting language that can do a lot of damage to your environment if you do not understand it. You have to learn the pieces, and string them together.
For example, to create a new user account in a Windows domain, use https://technet.microsoft.com/en-us/library/ee617253.aspx
My new user piece in the script looks like this
New-ADUser -Name $name -SamAccountName $samaccountname -UserPrincipalName $emailaddress -AccountPassword $SecurePW -Company $company -Department $department -Description $description -DisplayName $name -EmailAddress $emailaddress -EmployeeID $badgenumber -Enabled $true -GivenName $Firstname -Surname $lastname -homedirectory \server\users\$homedirectoryname -homedrive u: -path $ou -Title $title
Next, I add the user to groups using Add-ADGroupMember.
Followed by creating their home directory folder and giving them access to it. New-Item and set-acl.
After that, I connect to Exchange by importing a PS Session import-pssession.
Enable the mailbox with Enable-Mailbox
Then I send a new user email to the new hire using Send-MailMessage
Finally I email their manager their login info, groups they are a part of, etc.
Check out this book, it is a good starting point.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Edit: I am still learning too.
Thank you very much everyone for all your answers! I really appreciate!
I begin with
https://app.pluralsight.com/courses/powershell-v3-essentials-it-pt1
or
https://www.amazon.ca/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Thank you
> they don't make the .msi for Java correct?
That script is using msiexec to uninstall all the versions it finds, so I imagine that's not correct. If you don't understand the contents of the script enough to know that is what it's doing, I wouldn't recommend using it. I'd recommend this instead.
Once you've done that, read up on Win32_Product and why you shouldn't use it, so you don't use scripts like this.
Then, you should have enough Powershell chops to use the registry to find installed apps instead, like this. I use /u/gangstanthony's script at least once a week.
/r/powershell is a good place to start.
This book is also commonly recommended as a good starting point as well if you prefer books.
I highly recommend you check out this book:
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Powershell in a Month of Lunches - https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?s=books&ie=UTF8&qid=1467232090&sr=1-1&keywords=learn+powershell+in+a+month+of+lunches
Then, when you get the hang of it, Powershell In Depth https://www.amazon.com/PowerShell-Depth-Don-Jones/dp/1617292184/ref=sr_1_1?s=books&ie=UTF8&qid=1467232074&sr=1-1&keywords=powershell+in+depth
Outside of that, check out /r/PowerShell and work through the questions that people ask. No better way to learn than practice.
There's a few examples here
http://stackoverflow.com/questions/14714284/count-items-in-a-folder-with-powershell
And here
https://www.google.com/search?q=powershell+folder+count+file+count
this is what i read through and it helped me out
Micah Battin, PowerShell Functions A link to Micah's Demo notes/scripts will be put up ASAP
powershell
Update-TypeData -TypeName Microsoft.ActiveDirectory.Management.ADComputer -MemberType AliasProperty -MemberName Computername -Value Name -Force
I've never read that book in particular. However I'm pretty new to PowerShell (~2 months) and have come a LONG way with the help of PowerShell in a Month of Lunches and PowerShell Toolmaking in a Month of Lunches and most recently the Getting Started with Windows PowerShell 3.0 and Advanced Tools & Scripting with PowerShell videos.
Feel free to PM with any questions - it can be a tough hurdle at the start but totally worth it once you wrap your brain around it.
if you're just starting out i recommend these books in order
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
http://www.amazon.com/Windows-PowerShell-Action-Second-Edition/dp/1935182137
https://www.manning.com/books/learn-powershell-toolmaking-in-a-month-of-lunches
*edit: i haven't read this one, but I'm sure it's worth a look if you're interested. it's written by the scripting guy himself, ed wilson.
http://www.amazon.com/Windows-PowerShell-3-0-Step-Developer/dp/0735663394
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Seriously if you take the time to google, there are plenty of resources to learn powershell and get the answers you are asking
Learn Powershell in a month of lunches and DNS and BIND are two I always recommend to people looking to learn about the windows side of things.
Why dont you build something out with powershell?
This should get you started with ideas on how to build this out, all you would need to do is write something that will record the files and do an update based on how often you want it to scan.
Setup it up to schedule to run your script, and email you immediately (or daily) based on the results of that folder in question
If you look over some examples online (there are plenty of different ways of doing this) you can easily build this out and it meets your requirement of being free
If you dont have any experience with powershell, that is okay. Check out this book and start automating a lot of things in your life using powershell. Totally worth the money
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
This book will most likely go into more detail than you need for the cert however its an awesome resource
I don't think anyone is going to do this work for you but this is the best thing for you; today you are going to learn powershell and it is going to own your soul.
How are your powershell skills? If you haven't yet read anything about Powershell, here are your starting points:
http://www.amazon.ca/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
get familiar with Veeam's powershell module https://www.veeam.com/kb1523 http://itstuffilearnedtoday.blogspot.ca/2012/09/calling-veeam-jobs-via-powershell-script.html http://helpcenter.veeam.com/backup/80/powershell/cmdlets.html
My recommendation would be to write as much as your script that you can make work, even if it is "Hey LOOK AT THIS HOLY CRAP I CAN PULL THE JOB SUCCESS AND FAILURES FROM VEEAM" and then post your attempt to r/powershell with questions on what you need to finish things up.
I am really excited for you - I was posting these kinds of questions before someone told me that I should just learn how to do it myself. Probably the most valuable skill I have picked up in the last 6 years is Powershell.
Cheers.
Here's the book I started with. Beyond that, it's mainly been a lot of googling, trial-and-error, and practice.
First off, be encouraged that you have more experience than I had when I got my first sys admin job. What I wish I would've known more of going into my first sys admin position, other than the basics of ADand networking, is scripting.
I mainly use VBS / Powershell today and some .bat files here and there. Knowing how to automate business tasks or even some of the daily tasks you're assigned are what separate the good admins from the great ones. There have been countless projects that I see senior admin's doing where they are manually combing through log files on a weekly basis. Learn how to script and they will be your best friends.
Another thing is being able to find information. Everyone jokes that half of IT is just googling the answer but, I'm sure you've experienced, that's not all true. It's about knowing what answer is right for your environment. That's one of the beauties of IT, there is more than one way to do something.
The interviews I've been in on are a few technical questions to prove you know what you are talking about and a ton of situational questions. They want to see how you go about solving technical issues and your thought process behind solving it.
Personally I never learned by putting my head down in a book and reading about something without actually doing it. If you have access to a student email account I would suggest getting virtual box / VM ware and set up a test lab to play with. Get a DC spun up, have a client PC and make test issues to try on your lab. Try and set up a WDS server and make a lite touch installation deployment. Lock down your client PC using group policy. Test a software deployment with PSEXEC. There are a lot of things to have fun with.
Here are some resources I've come across in my career that I've found very useful.
Powershell Book (this will require a test lab)
IT Free training These guys have some dry videos but have some great information on them. I have fleshed out a lot of my understanding of AD from watching them.
Hey there scripting guy I learned VBS a lot from his articles. He has some good powershell too if I'm not mistaken.
EDIT: one more thing, you may want to look into getting an entry level cert; Comptia A+ / Net +. Most places won't look at you without any college degree but an entry level cert will help you get over that barrier and get your foot in the door. As kleecksj said, you will probably have to start as a help desk tech / desktop support as my experience was not the normal path. But that can be a great environment to learn with low stress.
I'd suggest this book as a starting point.
Keep in mind, every interview is different and everyone is looking for something different, so keep my advice with a grain of salt.
I have less than a year of professional IT experience, but I am on my second job (I left the first job for more money), and it's a pretty solid one. Point is, I have relatively recent interview experience for the same position.
For a help desk job, customer service and the willingness to learn are probably the two most important things your interviewer are looking for. Given your customer service background, that should be easy for you and I would talk about it in the interview when they ask about being comfortable with customers and how you handle being under pressure. They may ask for a story where you were getting yelled at (not uncommon for help desk positions) and how you handled the situation. Have a story prepared.
Don't worry about Powershell at all. The description of the job is for an ideal candidate, not the minimum requirements. In the interview for my current job, I couldn't even explain DNS (yeah, I know that was pathetic), but I went back later and looked it up and now have a better understanding. If he doesn't mention Powershell, but you want to mention that you have an interest in learning it (since it was on the job description) that would be fine or just don't talk about it at all. If he asks about your experience in Powershell, just answer honestly. Explain you are completely willing and excited to have the opportunity to learn it, if you were to get the job. It also wouldn't help to play around with Powershell if you have an interest in it. Learn Windows PowerShell 3 in a Month of Lunches is a good start.
They will try to trip you up in questions. They want to ask you questions they hope you don't know the answer to. If they can ask you complex technical questions and you know the answer, that's great. But they want to see how you handle a situation when you don't know the answer. When you are stressed. This gives them an idea how you will handle a situation when you get a phone call and have no clue what the fuck the user is asking.
Also, dress sharp for the interview. Even if they are a laid back company, wear a button down and tuck in your shirt. No jeans. Decent shoes. Firm handshake. Be confident, look into their eyes when they are talking and when you are talking. Try to match their body language and personality -- if they are relaxed, sit in a relaxed style too. If they are sitting with good posture and are acting formal, do the same.
Hope this helps!
Edit: added link to book.
I would say it's similar in a lot of ways. You're already used to objects, that was a big hurdle for me when I went from VBS to PS.
You alraady have an understanding of .NET which is super helpful for gui creation and other incidents whee a proper cmdlet isn't available.
Syntax is different, but the same can be said of any different "language." You do I've a leg up on containers though which are coming to PS.
I would say give you a month with the hop of this site and this book and you'll be proficient.
Learn PowerShell in a Month of Lunches is generally considered an excellent introduction that most people follow up with /u/ForeverAlot's recommendation. They tend to lean more on the sysadmin side of PowerShell tasks though, which may or may not be useful to you. In that case, there's also Windows PowerShell for Developers. An updated edition of that should be coming out in February.
Powershell --> Learn it with this
If you're completely new with no experience, start learning everything you can out of this book
I was in your shoes before coming from an RHCSA position to a mixed shop. Had to learn a lot of MS quickly. Those two resources above helped me a LOT.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Great book, easy to learn, and will get you headed into the future. PS is going to keep getting more vital for admins
Honestly, I've always been pretty big into Command Prompt, and it took a while for PowerShell to replace it for me. Now I use it for pretty much anything I can.
The best way I've found to learn it is this: Find something you need to do regularly, and figure out how to do it in PowerShell.
For example, at work I have a regular user account and then an admin user account. The admin one has the same name in about 9 domains. All passwords expire every 90 days, and changing them manually was a pain. I created a PowerShell script that asks for a password for my standard account and then for my admin, and goes and sets that password on every domain.
Also, day to day bulk ops in vCenter are much easier with PowerCli (VMWare PowerShell Commandlets) installed.
Wanna delete all the snapshots in the environment cause something stupid created a bunch?
Get-VM | Get-Snapshot | Remove-Snapshot
Want to gracefully shutdown all VMs on a host with no vmotionable partner so you can patch it?
Get-VMHost | Get-VM | Shutdown-VMGuest
Honestly, just start replacing common tasks with PowerShell, and it'll become your go to tool in no time.
Ninja edit: Also, something like Learn PowerShell in a Month of Lunches is great. It gives small pieces of the concept and execution without hitting that overload point. It's meant to be slowly worked through.
You can also check out https://www.reddit.com/r/powershell and https://www.reddit.com/r/usefulscripts for some amazing PowerShell scripts that have been cooked up by other admins to get some help/inspiration.
Good luck on learning PowerShell! I hope you find it every bit as useful as I do!
Basically it's Windows' command-line administrative language.
https://www.reddit.com/r/PowerShell/
And a good book for learning it quickly is this
Probably not what you are looking for but if you need to catch up on PowerShell 3 at some point, Learn Windows PowerShell 3 in a Month of Lunches is a quick,easy read. Free ebook with purchase of the paperback, and the review labs can be answered fairly easily without a pc.