Powershell black belt

Hi, I came across this book, would you be willing to assist make a few things clearer?

  1. What is a disadvantage of using partial configurations in DSC? - no reporting?
  2. What is the wing speed velocity of an unladen swallow? - ???
  3. What cmdlet can generate a local class that represents a remote SOAP service? - no idea
  4. Why doesn’t Get-Service include the logon account that the service uses?
  5. How could you rename an existing variable without creating a new variable in the process?
  6. Running Invoke-Command with the -AsJob parameter will always start how many jobs at minimum? - how can it be greater than 1 if i use something like Invoke-Command -AsJob -ScriptBlock {Get-Process} -ComputerName localhost?
  7. List the 5 (PowerShell v4 and earlier) or 6 (v5 and later) pipelines. You don’t need to list them in order. - ???
  8. Do Get-WmiObject and Get-CimInstance draw their information from the same source, or from different sources? - single source, different protocols?
  9. Why do hash tables ordinarily not maintain the order of the keys you add to them? - i don’t understand? because they are not ordered?
  10. Why might a well-designed function accept computer names via a -ComputerName parameter, but not also accept computer names from a -FilePath parameter? - why can’t this be achieved with parameter sets?
  11. What is a trap construct, how does it differ from other constructs used for the same purpose, and should you use traps or avoid them? - I know trap came from PS1, that’s about it. Any decent article about trap vs try\catch?
  12. Why is there air?
  13. What is a filter construct, how does it differ from a function, and should you use them or avoid them? - any links please?

Also, some very simple questions seem to be very high up in ranking, why? Like the github ones.

Sorry if its too much trouble, thanks!

  1. What is a disadvantage of using partial configurations in DSC? – no reporting?
    I’d look into “The DSC Book” to get into the technical specifics.

  2. What is the wing speed velocity of an unladen swallow? – ???
    Monty Python joke.

  3. What cmdlet can generate a local class that represents a remote SOAP service? – no idea
    Well, you’re meant to figure that out, not just have someone hand it to you ;). See comment at the end of all this.

  4. Why doesn’t Get-Service include the logon account that the service uses?
    See #3.

  5. How could you rename an existing variable without creating a new variable in the process?
    See #3.

  6. Running Invoke-Command with the -AsJob parameter will always start how many jobs at minimum? – how can it be greater than 1 if i use something like Invoke-Command -AsJob -ScriptBlock {Get-Process} -ComputerName localhost?
    See #3.

  7. List the 5 (PowerShell v4 and earlier) or 6 (v5 and later) pipelines. You don’t need to list them in order. – ???
    See #3.

  8. Do Get-WmiObject and Get-CimInstance draw their information from the same source, or from different sources? – single source, different protocols?
    Are you sure? You don’t seem sure.

  9. Why do hash tables ordinarily not maintain the order of the keys you add to them? – i don’t understand? because they are not ordered?
    See #3.

  10. Why might a well-designed function accept computer names via a -ComputerName parameter, but not also accept computer names from a -FilePath parameter? – why can’t this be achieved with parameter sets?
    See #3.

  11. What is a trap construct, how does it differ from other constructs used for the same purpose, and should you use traps or avoid them? – I know trap came from PS1, that’s about it. Any decent article about trap vs try\catch?
    We have an ebook here on error handling.

  12. Why is there air?
    Bill Cosby joke.

  13. What is a filter construct, how does it differ from a function, and should you use them or avoid them? – any links please?
    See #3.

You see, I think you may misunderstand the point of the book. It’s designed to let you self-assess how expert you are in PowerShell. Simply having someone give you the above answers doesn’t make you more expert in PowerShell, because there will still be lots of things you don’t know. The book provides some very specific suggestions for “leveling up,” and I’d just reiterate those suggestions. You need to do some reading and some experimenting. When you can answer these questions FOR YOURSELF, confidently, then you’ll know you’ve moved your skills along. The questions you’re asking above are good “indicators” of someone’s expertise. They’re kind of like good job interview questions. But these aren’t the sum total of the things you should know. If you can answer these on your own, then there are lots of other questions you’d also be able to answer.

So start with some of the sources the book mentions, or find similar ones that you think you like. Read. Experiment. Ask questions about your experimenting, if you need to. But this isn’t about just answering those few questions.

well, that’s as good as ignoring the post. I’m not going to read several different books just to get an answer for a question like:

What cmdlet can generate a local class that represents a remote SOAP service?
Why do hash tables ordinarily not maintain the order of the keys you add to them?
Why doesn’t Get-Service include the logon account that the service uses?

because there’s zero practical value in these questions and their answers, but I’m curious enough to create a forum post. And there is no value in rereading tons of pages of various books just to get an answer to a question I WILL NEVER EVEN NEED. I have a lot of other much better things to do, like read about python or c# or spanish or something else. Besides half of those I’ve presented an answer which i’m not sure for various reasons. A simple yes or no on those would’ve been enough.

I know powershell good enough not to be bothered into which category I fall according to this book. I might be not as good as you, but certainly above average.