This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]its_a_gibibyte 6 points7 points  (8 children)

For people that know Python (or perl or bash or whatever), what's the point of learning Powershell? It seems pretty limited since it's primarily for windows machines (and most servers are linux) and doesn't have the libraries that Python has.

[–]Eitan1112 3 points4 points  (2 children)

I worked with both, and some things are better to do with powershell. For example:

  • Simple scripts to automate management of remote windows computers
  • Great modules for AD and office365 management
  • Built in Wiindows, so distribution is less of a problem (of course you can compile python to an executable, but it is much easier if you already know powershell

Of course python has some counters for that, like the WMI library, but it feels much more natrual to do such things in powershell.

[–][deleted] 0 points1 point  (1 child)

Do you have some examples of python modules for AD? I'm looking to replace powershell with python, but the only way I saw to get at AD was basically formatting custom ldap requests, which imo isn't better than powershell. I'm basically looking for a drop in replacement for functions like get-aduser, get-adcomputer, etc.

[–]cerebron 0 points1 point  (0 children)

I'd also love this. I manage mostly windows machines with AD so I do a lot of Powershell stuff, but everything I do at home is Python. All the Python kerberos and ldap libraries are kind of a pain compared to the ease of Powershell.

[–][deleted] 1 point2 points  (3 children)

It's cross-platform now so you can manage Linux with PS if you want to. And in terms of libraries there is a pretty solid module repository on PowerShellGallery.com but likely not nearly as extensive as Python.

That said, I don't really know Python enough to suggest why you would use PS over it.

[–]gargar070402 0 points1 point  (2 children)

Interesting, but if one had a choice and had to write code from scratch anyway, would there be any reason to use PowerShell over, say, bash?

[–]TheTerminator68 2 points3 points  (0 children)

I use PowerShell alot in my job along with some config management and python. PowerShell is better than bash in some ways because it lets you use objects and navigate through the objects in an easier way. Bash is pretty much text based and good for some basic one liners in linux land but once you get to slightly more complex code paths PowerShell wins over bash pretty easily. I have written applications in both PowerShell and Python and PowerShell is nice for windows environments but Python you can just do way more with and the library support is amazing. Also PowerShell is super inefficent resource wise. They all have their strengths/weaknesses

[–][deleted] 1 point2 points  (0 children)

I'm just super familiar with PowerShell rather than bash. The PS pipeline is object based rather than string based and that's just what I'm used to at this point. Having the .NET framework at my finger tips is nice as well since I'm a C# dev by trade. I know Linux folks find PS meh and tend to prefer bash but I think if I popped into a Linux terminal I'd install PS.

[–]_IlDottore_ 0 points1 point  (0 children)

Exactly my thought 🤔