Thanks John! Great content. I grew few brain cells in the last 30 min. Watching your content daily for 30min in the morning is the new 'discipline' I have been building :D On to the next 'Advanced Scripting' vid!
I am not a coder and more from the ops b/g ... and I loved your video... very clearly made and I didnt find it diffcult to understand the script/code here...BIG THANKS :)
Dear John. Funny thing is: I have just seen your motivational on discipline, and I thought: is it discipline that after my SQL examination, I return to John's PowerShell Class to continue and finish them?
If you code doesn't run in powershell, and shows "cannot be loaded because running scripts is disabled on this system", copy and paste this: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
What if I have script to do a task for a million users, for example and I want to have a progress shown on the screen. Should I use "Write-Output" as it can possibly mess with the pipeline, and I have had such cases, or I am allowed to use "Write-Host"?
About "Just don't use it" - I don't support boycotting a language command. You just need to understand pros and cons and use an appropriate command. (As I see it) Write-Host is only useful if you want to make output more readable for user, staring at the console. If you always write to log and never need to inform a user about the process or give beautifully readable result, with important parts jumping to the eye, so yeah, never use Write-Host.
Hi John, what a great video! Superb quality and straight to the point. I noticed, that Write-out at 29:38 outputs Version before Procs, which is the opposite of how you set up the $paramout hashtable. What’s the reason for that?
Thanks. Hash table is a collection of values, how its output does not have to match. I could control the output format if I wanted to but didn't in this example.
@john savill John when i try to run the Mod4script2.ps1 in my machine i get the below error : PS C:\Pallab\ARM_JSON> .\pwsh1.ps1 CA-LJ8M0JR2 Get-CimInstance : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig". At C:\Pallab\ARM_JSON\pwsh1.ps1:5 char:19 + ... in32CSOut = Get-CimInstance -ClassName win32_computersystem -Computer ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ConnectionError: (root\cimv2:win32_computersystem:String) [Get-CimInstance], CimException + FullyQualifiedErrorId : HRESULT 0x80338012,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand + PSComputerName : CA-LJ8M0JR2
Get-CimInstance : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig". At C:\Pallab\ARM_JSON\pwsh1.ps1:6 char:19 + ... in32OSOut = Get-CimInstance -ClassName win32_operatingsystem -Compute ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ConnectionError: (root\cimv2:win32_operatingsystem:String) [Get-CimInstance], CimException + FullyQualifiedErrorId : HRESULT 0x80338012,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand + PSComputerName : CA-LJ8M0JR2 But i have my variable outputs already listed properly please find below : PS C:\Pallab\ARM_JSON> $paramout | fl Name : Version Value : 10.0.17763 Name : ComputerName Value : Name : Memory Value : 17034072064 Name : Free Memory Value : 7101636 Name : Procs Value : 1 Can you tell me why it's throwing error if i am running the script in totality and how to fix it
@@NTFAQGuy Yes it is my local laptop only. I ran the below command got this : PS C:\Pallab\ARM_JSON> Get-CimInstance Win32_ComputerSystem Name PrimaryOwnerName Domain TotalPhysicalMemory Model Manufacturer ---- ---------------- ------ ------------------- ----- ------------ CA-LJ8M0JR2 Windows User groupinfra.com 17034072064 Latitude 5590 Dell Inc.
@ 9:35 + The damning argument on using Write-Host/Write-Output. Why are people so extreme as to say 'never use Write-Host', '' It breaks the flow ...'', it's a sin, etc... Why not say It's a UI-Only function and use it for formating only. Which is what it is. You need to trust the scripters to write properly, NOT provide a function and tell don't use it. I use Write-Host extensively in my script when outputing UI-only data in a formating I enjoy. It's pretty clear cut; the rare occasion a function returns a string, it uses Write-Output (stdout). Write-Warning and Write-Error cannot be used as replacement to Write-Host, for obvious reason, that suggestion is meaningless.
I think it’s stressed as people are first learning so they get a good pattern. Once they are more experienced they can then look back and say, hey it’s useful in these situations.
Thanks John! Great content. I grew few brain cells in the last 30 min. Watching your content daily for 30min in the morning is the new 'discipline' I have been building :D
On to the next 'Advanced Scripting' vid!
Fantastic!
I am not a coder and more from the ops b/g ... and I loved your video... very clearly made and I didnt find it diffcult to understand the script/code here...BIG THANKS :)
Great to hear, thank you
I went through the Microsoft powershell training tutorial. You gave me a lot of good information.
Glad it was helpful!
No matter how many times i thank, they all look insufficient. Excellent Work!!
Very kind, thank you.
Thanks again John ! Hopefully you can do more powershell video like how workflow, begin, process, finally works
I’ll look at some new topics :)
Great tutorials, John. Very educative! Thank you.
You did a great job with this video. I enjoyed all of the information. Thank you!
Dear John. Funny thing is: I have just seen your motivational on discipline, and I thought: is it discipline that after my SQL examination, I return to John's PowerShell Class to continue and finish them?
:-)
If you code doesn't run in powershell, and shows "cannot be loaded because running scripts is disabled on
this system", copy and paste this:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
So informative! Thanks so much for your efforts
Thank you very much for the video! Very well explained, helped a noob like me quite a lot.
Learn something new every time. thank you so much..!
My pleasure!
Excelent video! So well explained, just loved it, keep it up!
Loved the Tutorial. Awesome work.
Glad you liked it
Where could I find the concept of Parameters and Strings? I watched PowerShell Fundamentals and I couldn't find it there. I supposed was here.
Next part in series. ruclips.net/video/BVU7MxlyMmA/видео.html
Thank you, a great video again!
What if I have script to do a task for a million users, for example and I want to have a progress shown on the screen. Should I use "Write-Output" as it can possibly mess with the pipeline, and I have had such cases, or I am allowed to use "Write-Host"?
Good stuff John.
Thanks :-)
Thank you, these video's are a tremendous help.
What's the difference between "Write-Output" and "return" in a function?
I noticed on your section at 8:58 you include the execution operator '&' it doesn't appear that you need that for the script to work.
About "Just don't use it" - I don't support boycotting a language command. You just need to understand pros and cons and use an appropriate command.
(As I see it) Write-Host is only useful if you want to make output more readable for user, staring at the console. If you always write to log and never need to inform a user about the process or give beautifully readable result, with important parts jumping to the eye, so yeah, never use Write-Host.
Great video! Thanks
Very helpfull!
Hi John, what a great video! Superb quality and straight to the point.
I noticed, that Write-out at 29:38 outputs Version before Procs, which is the opposite of how you set up the $paramout hashtable. What’s the reason for that?
Thanks. Hash table is a collection of values, how its output does not have to match. I could control the output format if I wanted to but didn't in this example.
@john savill John when i try to run the Mod4script2.ps1 in my machine i get the below error :
PS C:\Pallab\ARM_JSON> .\pwsh1.ps1 CA-LJ8M0JR2
Get-CimInstance : The client cannot connect to the destination specified in the request. Verify that the service on the destination
is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination,
most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and
configure the WinRM service: "winrm quickconfig".
At C:\Pallab\ARM_JSON\pwsh1.ps1:5 char:19
+ ... in32CSOut = Get-CimInstance -ClassName win32_computersystem -Computer ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ConnectionError: (root\cimv2:win32_computersystem:String) [Get-CimInstance], CimException
+ FullyQualifiedErrorId : HRESULT 0x80338012,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
+ PSComputerName : CA-LJ8M0JR2
Get-CimInstance : The client cannot connect to the destination specified in the request. Verify that the service on the destination
is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination,
most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and
configure the WinRM service: "winrm quickconfig".
At C:\Pallab\ARM_JSON\pwsh1.ps1:6 char:19
+ ... in32OSOut = Get-CimInstance -ClassName win32_operatingsystem -Compute ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ConnectionError: (root\cimv2:win32_operatingsystem:String) [Get-CimInstance], CimException
+ FullyQualifiedErrorId : HRESULT 0x80338012,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
+ PSComputerName : CA-LJ8M0JR2
But i have my variable outputs already listed properly please find below :
PS C:\Pallab\ARM_JSON> $paramout | fl
Name : Version
Value : 10.0.17763
Name : ComputerName
Value :
Name : Memory
Value : 17034072064
Name : Free Memory
Value : 7101636
Name : Procs
Value : 1
Can you tell me why it's throwing error if i am running the script in totality and how to fix it
check the firewall is open etc. it can't get to the machine.
@@NTFAQGuy Yes it is my local laptop only. I ran the below command got this :
PS C:\Pallab\ARM_JSON> Get-CimInstance Win32_ComputerSystem
Name PrimaryOwnerName Domain TotalPhysicalMemory Model Manufacturer
---- ---------------- ------ ------------------- ----- ------------
CA-LJ8M0JR2 Windows User groupinfra.com 17034072064 Latitude 5590 Dell Inc.
thankssssssssssssss
@ 9:35 + The damning argument on using Write-Host/Write-Output. Why are people so extreme as to say 'never use Write-Host', '' It breaks the flow ...'', it's a sin, etc... Why not say It's a UI-Only function and use it for formating only. Which is what it is. You need to trust the scripters to write properly, NOT provide a function and tell don't use it. I use Write-Host extensively in my script when outputing UI-only data in a formating I enjoy. It's pretty clear cut; the rare occasion a function returns a string, it uses Write-Output (stdout). Write-Warning and Write-Error cannot be used as replacement to Write-Host, for obvious reason, that suggestion is meaningless.
I think it’s stressed as people are first learning so they get a good pattern. Once they are more experienced they can then look back and say, hey it’s useful in these situations.
tes