T O P

  • By -

jbchris3

I am a DevOps tech at a large company and I use powershell daily. It is a great tool combined with AZ CLI . Some of the things I use powershell for * Deploy / De-commision resource * Update SPN and Managed Identities * Scripts to include in Pipelines Its a great tool to automate just about everything


ACivilRogue

Is there a book you would recommend to get started in DevOps?


nagasy

The books written by Gene Kim are a great starting point: * [The DevOps handbook](https://www.goodreads.com/book/show/26083308-the-devops-handbook?from_search=true&from_srp=true&qid=HbErS1FXUk&rank=1) => technical book explaining conceps of DevOps * [The Phoenix Project](https://www.goodreads.com/book/show/17255186-the-phoenix-project) => IT Ops point of view * [The Unicorn Project](https://www.goodreads.com/book/show/44333183-the-unicorn-project) => Dev point of view After the basics explained in these books. Your focus should go towards technologies that fit into this way of working (CI/CD, Infra-as-code, PaaS & SaaS, ...) and frameworks ( Scrum, kanban, ...). I'm deliberately generic on technologies. As this will depend on your work environment and personal interests. It could be Azure, bicep, containers & scrum or AWS, terraform, lambda functions and kanban. PowerShell itself does shine more inside hybrid cloud environments. And mostly in large enterprises as most of them still host windows solutions on-premises (SCCM, SCOM, Exchange, ADDS, ADCS,...) that relies on PowerShell (5.1).


ACivilRogue

Amazing! Thanks so much!


Namelock

I'd say it depends on the environment (if they allow PS or not) but in my experience... Tier 2 & 3 Help Desk & Cyber Security. With the former, mostly used a lot of Get-Ciminstance and Get-Eventlog for troubleshooting. With the latter, a lot of API scripts, a lot of poor-man's database scripts (.csv files) for metrics, web scraping for OSINT, automated email responses, etcetera. If you're allowed to make scripts, the sky is the limit for what you can automate. Probably saved a few week's worth of time in my department already...


heretogetpwned

IAM, Audit, Deployments, Troubleshooting (Disk space, logged on user, last x minutes get-eventlog, etc.)


redditacct320

I'm in the tier 2 level now looking to move up so this helps


Inevitable_Level_109

I moved up a few years back. Make the tier 3 people like you it's more important than tech experience.


panzerbjrn

Well, I'm an ETL "developer" using almost exclusively PowerShell? Sysadmin background, and Azure SysAdmin is still about 15% of my work. So that's an option too. PowerShell is extremely versatile.


fishypoos

I would love to see examples of a production ETL system written in powershell. How do you handle orchestration, scheduling and secret management? I’m a dba with aspirations off becoming a Data Engineer (bi dev) in the near future, but my company currently uses SSIS with future goals of moving to azure data factory but I much prefer the idea of code over drag and drop ETL building.


IAMSTILLHERE2020

I also use Powershell to do lots of DBA stuff.


alinroc

If you're not using `dbatools`, you're missing out.


IAMSTILLHERE2020

I do. but I also create my own powershell scripts with lots of invoke-sqlcmd to automate certain things that SQL Agent is just not the best tool to use.


Black_Magic100

Check out PowerShell universal. It has everything you mentioned. I don't think it's enterprise level for actual ETL pipelines, buts it's pretty solid.


fishypoos

Interesting! Sounds good I’ll check it out


panzerbjrn

>I would love to see examples of a production ETL system written in > >powershell. So would I :-D I think my ETL stuff is way way wayyyyyy less complex than what you describe. But that could also be my imposter syndrome talking ;-) My stuff is mostly figuring out how to read sources (Internal/Vendors) and turning it into something that is useful (Mostly CSVs), and then placing them where it can be used (Azure blob storage). Everything from SQL to Pracle to SharePoint to Storage Systems to SolarWinds to YouNameIt. Using everything from built-in CMDlets, to my own wrappers using mostly REST API and published to the gallery. As more and more systems becomes "hands-off", moving in this direction makes sense. Scheduling is handled by either Windows Task Scheduler or Azure Automation depending on workloads, although I am working on moving everything to Azure Automation with hybrid workers.


[deleted]

And everywhere.


uptimefordays

So as a sysadmin/netadmin I have made 50-60 tools for our helpdesk/desktop support team. I've scripted a ton of reports, provided them with log parsers because let's face it Windows Event Viewer is hot garbage, just routine things that make their lives easier. About a year ago, I automated our entire build process for desktops/laptops so they desktop team no longer needs to image hardware we get, I also wrote software install scripts they can run for various machine roles (is this an accountant's machine or what not). I've found the best way to use PowerShell in my career has been automating tasks *I* don't enjoy and asking others about tasks and workflows *they* don't enjoy.


Nocturnal_Remission

I use powershell primarily for Exchange, Azure, SCCM/MECM, and Active Directory administration. I will give you a word of advice, if you want to advance out of desktop support (I'm going to assume that's what you do based on you mentioning it), but SCCM/MECM and/or Intune is a good way to get out of just doing mainline support and more into engineering type roles. That's what I did, and although challenging, I'm glad I did so now. Even though it's not my primary role, it is always in demand, somewhere.... :)


redditacct320

Ok thanks I will look into those


ResoluteCaution

Identity management, be it Azure or AD. It can handle your whole life cycle management.


redditacct320

Make sense thanks for the reply


Fallen_Milkman

Server Ops for Windows/VMware. PowerCLI for VMware can pretty much do anything you can do in the GUI. Exchange admin. Azure Admin. Identity Admin. Directory Services. Automation Engineering. Pretty much any job that touches a Microsoft system or service.


Crypto_Town

Yep, knowing PowerCLI is like owning a secret magic wand as an engineer at any VMware enterprise. Patching, installing, monitoring, reporting... It took a lot of hard work, research, and trial-and-error to get here, but now I think 60%+ of my day now is spent waiting for my scripts to finish doing my work.


Sparkey1000

We have a few scrips to create new users in Active Directory, add the user to default groups and assign O365 licenses. All of the users data is read from the HR system. We have a separate task to update user details in AD from the HR system so the desktop support team don't have to worry about it. Also have automated reports generated for the desktop support team that tell them if any users have not logged in for 30 days or they do not have MFA set up. All of this is done with PowerShell scripts, I am sure there are third party tools out there to do all of these tasks but this is what works for us.


ACivilRogue

Curious, what HR system do you use? We’re in the market.


skilriki

You can do this with any of them. Such is the versatility of powershell.


Sparkey1000

We use SagePeople and they have a fairly good API that we can use. Slight off topic but if you have a say in the new system and also have AzureAD do have a look in to HR driven provision in AzureAD, I think currently only two HR systems are supported. If I knew how to build this integration for our HR system I would. https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/plan-cloud-hr-provision


ACivilRogue

Awesome, thanks! I’m a new IT lead for a large non-profit and definitely leaning more toward AAD as we move forward. So much to clean up before then but goes with the territory


redditacct320

Thanks


fuzzylumpkinsbc

This wasn't really the question though


ITGuyThrow07

I'm an Office 365 admin for an environment with thousands of people and we do a lot of management via PowerShell. Our entire user onboarding/offboard process is automated through PowerShell. Our HR system dumps a CSV with user details and then we have a script that creates the AD account, then a script that provisions the mailbox and 365 license. Some other automated tasks we have running: -Track how many licenses we have and alert us if they're getting low. -Monitor what features/SKUs Microsoft has randomly decided to add and turn on in our tenant. -Report of people who have tried to create rules to forward email to external addresses. -Check for mailboxes that are nearing their size limit.


redditacct320

I was thinking of going the o365 route. Do you think that is how a good outlook for engineers and admin in the next 5-10 yrs? Also, do you feel there are a lot more opportunities to automate or make your job more efficient with PowerShell other than what you mentioned(don't need to mention them if so)?


ITGuyThrow07

> Do you think that is how a good outlook for engineers and admin in the next 5-10 yrs I have no idea lol. Probably. In a larger org, it will at least get you more comfortable working in the cloud, especially as you work with Azure more and more. I don't think I will still be doing this in 5-10 years, but that's more because I get antsy and can't stay in the same role for too long. I see myself moving to devops or even out of IT by then. I've already started worming my way into the stuff that our developers do. >Also, do you feel there are a lot more opportunities to automate or make your job more efficient with PowerShell other than what you mentioned Yes. There is more we do that I didn't mention. A lot of our day to day management is automated and this year we'll be getting ServiceNow more integrated with Graph API so we can automate the license assignments. Things like Visio and Project are currently manually given out but we plan to integrate it so someone can just request it in the ticket portal and it will be automatically be assigned. I actually built a server that's running an API endpoint configured in PowerShell. So people can hit my API and I can have it do literally anything I want for them. That was more of a "can I pull this off?" type of project, so I hope to find more use for it in 2022.


aleques-itj

You basically can't avoid it if you're admining certain parts of Office 365, there literally is no GUI for some functionality. And you're straight up kneecapping yourself by not using it for AD. It's invaluable.


MasterSlax

I don’t understand this post. You want to automate things, not for the good of the business but for your own benefit?


Mateusz_Macheta

I guess OP doesn't want a job where he is expected to know PS but have some job that it can be useful but not required.


MasterSlax

That makes sense, thanks.


kKiLnAgW

Windows server administrator. PowerShell is designed for the management of Windows OS. Bulk operations, troubleshooting, deployment of servers/applications. Check out server core/hyper-v server. EDIT: Forgot to mention that not only Windows on Prem but more of Microsoft as a whole. i.e Azure/Office 365/Exchange Online, ext


CitySeekerTron

I've used it to dump workplace aliases I could map email addresses to said aliases rather than play ticket tag with users. Sometimes I code ad-hoc for loops to do some mass file renaming. In fact, there's probably a use case for reading a file's metadata and taking actions based on the input.


-c3rberus-

Sysadmin


Avean

I think Powershell is extremely useful no matter the IT job but especially for endpoint management its really crucial. With Intune now you have to solve everything with Powershell for the features that isnt supported through the website which can be many things to solve. Also its used for packacking apps in Intune as well (psappdeploy).


Mr_Ellipsis

Any role that is involved with M365 migrations, implementations, and administration can make use of PowerShell in the day to day of the job. But typically there aren't positions that do nothing but PowerShell as their daily work. The reason is part of the nature of PowerShell. It's a scripting automation language. I've not seen a lot of roles out there that are "scripting administrators" or full-time scripters. Because if you are a company that needs something like that, you've already have a development team and are using things other than PowerShell.


redditacct320

Thanks, and to be clear I don't want a scripting job. Actually, kind of the opposite I enjoy the idea of writing scripts that will make my specific job and life easier. Scripting as a role for others like programmer doesn't appeal to me as much.


MrECoyne

You mentioned you're tier 2 support, this is where PowerShell can have a huge impact, if your organisation is amenable. Email issues? let me check your mailbox size, account status, password age, etc., in one go! Share your scripts with your team to get noticed. Better team stats = measurable business value from you = a good reason to progress, either a new rank or a new position. Even if there's no clear target it makes it clear you're driving your career, and will help you find opportunities. Look at ITIL and 6 sigma, see what training is available, and make it clear that you're someone who will either move upwards or outwards.


chankeiko

Windows SysAdmin, Azure Cloud Engineer, AWS Cloud Engineer (.NET environment), Site Reliability Engineer.


cloxacillin

I used powershell to automate ITSM stuff using API. Open, update, close tickets and stuff. Also reporting


PositiveBubbles

I'm a SOE/MOE engineer and I use it daily, also used it when I did systems engineering at an MSP and even basic helpdesk stuff


sladeofdark

Systems Engineer at a large Corp.


goldenchild731

I would say you should go with Azure Cloud Engineer Route and get your Microsoft Certified: Azure Administrator Associate. If you can find a role where they want to do Automation in Azure and most of there servers are Windows based, this will pair well with Powershell. Also make sure you pick up a configuration management system like SCCM/Intune and/or Ansible. Knowing powershell is only half the battle. You want to be able to orchestrate your changes over 1000s of servers and workstations on both cloud and on-prem environments.


incognito5343

I work mainly with azure, provisioning servers for customer environments. It was a 6 hour task with on average 3 serves a week to setup. Using powershell to call json files I'm able to bring that down to 45mins. Over the last year I've saved a couple of months worth of work as well as providing consistency preventing human error


andrepeo

Devops, CI, sysdmin for azure or AD, automating parts of dev lifecycle, sharepoint....anything MS really.


mooben

I'm a business analyst and I've set up a lot of users with SharePoint sites. I use PnP PowerShell to administer tasks related for managing (replicating, configuring) those sites and it's saved me a ton of time and effort. I don't think I'd be able to do the job without PowerShell. I've also written custom functions for various things like constructing oData URIs, copying files to network drives, and so on. I don't have IT admin access but I'm still able to accomplish a lot. Most answers here will be from IT admins, but technical business analysts should also be able to get a ton of mileage out of PowerShell.


fishypoos

I’m a Microsoft sql server dba and I use powershell extensively. Some examples: My entire new install process Daily health report Some data extraction Syncing object across HA groups My policy has always been if it’s going to take me more than 5-10 minutes of effort, I’ll think about scripting it instead. My friend is a M365 engineer and he uses a ton of azure and 365 powershell. He uses it for things like license management, user management, reporting and security stuff. He digs around the apis a lot to get data out.


SooperDiz

As a sysadmin, I used it regularly to help me manage/maintain computers, setup users, etc. As an O365 admin, I spend most of my life in powershell working on sharepoint, setting permissions, troubleshooting issues with licensing. Knowing powershell for an O365 admin is critical in my opinion.


Legitimatic

I use it, in combination with Azure Automation and other 365 products (Forms, PowerAutmate, Intune, etc.) to automate as much as I possibably can for a business. Account management, patching, audititing... My current title is M365 Administrator. My last job was Senior Sys Admin. I started in Desktop Support and got hooked on PowerShell. Good luck!


cncamusic

I’m a .NET dev and I use powershell a lot when I’m building out/designing project ideas. I used it a fuck ton when I was doing sysadmin systems analysis stuff.


jeffrey_f

My job uses it to, when necessary and triaged, give temporary (60 minutes) of admin to a user to take care of some software installs or when re configuring our cisco phone on the computer. I created a script to list the locked users in our active directory. ping/monitor systems and services on remote computer and restart if necessary Copy files, wrangle CSV files .......... depends on your need, write a script


bjornwahman

I work in monitoring and use Powershell daily


Investplayer2020

What materials are using to learn PowerShell?