|
Skip it. It doesn't do anything that a proper program can't.
A few years ago I was handed a PowerShell script for gathering some data from some webservices and storing it in our database.
It worked, but it had no error handling or logging or anything. So I converted it to C#. Now it has multi-threading and the ability to retry on particular errors and a whole lot of other features we need.
|
|
|
|
|
This is not true.
You may use try-catch-blocks and also multi-threading. We created some powerful scripts here already.
I agree that C# is smarter for developers.
But I must admit that pipelining in PS is a very strong and useful mechanism.
|
|
|
|
|
Also, it is possible to call C# from powershell.
|
|
|
|
|
Very mixed.
The good:
* Debugging is excellent.
* Syntax is very nice for some commands.
* You can do proper loops and structured programming.
* Ability to call .NET methods directly is very practical.
The bad:
* File system interaction is an abomination - lost work due to PS's perception of the file system being out of sync with the real file system (time stamps). Why does it have to have its own file system abstraction that even tries to cache stuff ?
* Had to fall back to DOS CMD to get simple stuff working reliably, e.g. mounting a network drive.
* Syntax is weird for some commands.
* Calling out to other command line tools is ... challenging (e.g. parameter handling).
I will wait for the dust to settle on a couple of versions more before I try it again. Particularly the bad file system interaction and awkward integration with other command line tools has scared me away.
|
|
|
|
|
PS is a great tool to have in your belt, absolutely get to know it
There is a great Power Shell v3 course over on MVA (Microsoft Virtual Academy) if you're interested.
|
|
|
|
|
I think I am. What harm can new knowledge do? Thanks for the tip.
Regards,
Rob Philpott.
|
|
|
|
|
I got into PowerShell end of last year when the guy that did the regular system checks was retired and the other moved to another department. So I took on the challenge to do a deep dive into it and automated the necessary system checks and more with PS. It proved to be the right tool for the job. Of course there are tool that you can buy or you can use a programming language to crank something out but the necessary resources were not available and I wanted to learn how to do it with PS. I had some light exposure to PS before.
One success factor (probably the most important) for me was to use VS Code with all the power of the available extensions, the writing, testing and debugging of my scripts was pretty efficient and fun to do with this editor. As usual, I spent some time on Stackoverflow too!
The following was implemented over a period of maybe 2 Month (only occasionally found time to work on it):
Parsing Windows Log for specific events
Parsing a 3rd party tool log for specific information
Checking network folder availability
Checking status of Web Sites
Checking status of SQL Server databases
File conversion tasks for a productive system
All of the above is using emails to alert if something fails (including attached logs and HTML reports)
Configuration is done using a JSON files
Some of the scripts are used as part of an SQL Server job, others are started using the Windows Task Scheduler on a server.
I started to tinker around with SQLLite to store some data and create a timeline with Google Chart services using that data. However, this is already more than I actually need but it worked.
One thing I like the most is the ease of deployment. Just copy the script and you are done.
Working with parameters can be a bit nifty but when you get the hang of it, it is Ok. The possibility to us, in addition to the native cmdlets, .NET Framework Classes makes PowerShell extremely versatile and powerful.
Would I do it again? Certainly!
modified 20-Mar-18 5:12am.
|
|
|
|
|
I played with it, it is worth to learn. You can always type "cmd" and enter in cmd-mode. You just have to type "exit" to return in PS-mode.
|
|
|
|
|
I would say it's definitely worth learning. If you work with Continuous Delivery using Microsoft's tools then Powershell becomes very useful. We us it in this scenario often to execute scripts remotely on our servers for backups and various other functions.
|
|
|
|
|
One thing to keep in mind is that they keep all their modules in GitHub, and they like to introduce breaking changes in major release versions.
I once upgraded the Azure PS module on a build server and it broke VSTS because they decided to stop supporting a parameter VSTS used extensively in its infrastructure.
|
|
|
|
|
PowerShell is awesome. Simply amazing. Easy to learn. Get a copy of Windows Powershell Programming for Absolute Beginners. You will learn it easily, and never look back at that ugly CMD Prompt again.
|
|
|
|
|
The only time I ever used it was to 'really' remove Windows 10 Apps that were unistallable.
|
|
|
|
|
I have been a linux user since the late 90s. Whenever my arm was twisted to work on on a windows setting (all to often ) the first thing I always did was install cygwin on it before anything else. bash saved me from early insanity. I never looked at PowerShell, maybe I have missed something. Next time I'm young I'll try it, promise.
|
|
|
|
|
Is there really anything else ever needed if you have bash, awk, sed and grep?
|
|
|
|
|
For miniscripts no, those will usually be sufficient. if not then python, perl, tcl... whatever.
|
|
|
|
|
PowerShell works great once you learn its syntax and quirks. I've only had a few commands that don't transfer over exactly from the command prompt to powershell and all you need to do is type "cmd" in PowerShell go get the normal command line so it's not that big a deal that it's now the default in Windows.
I highly recommend watching at least the first video in the Microsoft Virtual Academy on PowerShell to get an idea of the basics. Microsoft PowerShell Tutorial & Training Course – Microsoft Virtual Academy[^]
|
|
|
|
|
I used to find that I could do anything I wanted to do in Python, and more easily - but recently I've been working in a locked down environment without python, but with Powershell, so I've forced myself to learn. I initially found it odd to work with - but it is making more sense over time. Syntactically there are still some things I find quirky compared to for example Unix shell scripting.
I'm a whiz at batch files . . . but now I'm finding that I use batch less than Powershell. . . so it must be growing on me.
. . . and it does seem to be the future for Microsoft.
|
|
|
|
|
Heard that phrase on the radio this morning and it occurred to me, if you're insane, how can you plead not guilty using "reason"? Seems rather contradictory to me!
Latest Article - Contextual Data Explorer
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Catch-22
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge". Stephen Hawking, 1942- 2018
|
|
|
|
|
Yossariane would be proud!
|
|
|
|
|
That is a Major Major truth.
... such stuff as dreams are made on
|
|
|
|
|
Here we go!
|
|
|
|
|
I prefer 42
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Because a lawyer is entering the plea, and (if you believe them) lawyers aren't insane.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
The term 'reason', as used in this phrase, does not refer to the ability to reason of either the lawyer or the defendant, but the cause for the defendant of not being guilty (because of not being able to intend to perform a crime due to insanity).
Having said that, it would have been clearer to just say 'because' rather than 'by reason of'. The hilarity simply emerges from the convoluted ways of expressing stuff in legalese.
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
|
|
|
|