PowerShell Master Class - PowerShell Scripting

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 มิ.ย. 2024
  • The introduction to scripting module in the PowerShell Master Class which introduces scripting basics.
    This is a multi-part class that should be viewed as part of its playlist, • PowerShell Master Class
    Materials for the class available at github.com/johnthebrit/PowerS...
    00:00 Introduction
    00:23 Regions
    02:02 Signed scripts
    04:42 First script
    08:47 Execute script
    09:34 Write-Out vs Write-Host
    16:43 ' and " difference
    18:38 Prompting the user
    20:15 Script with input
    24:12 Script with mandatory input
    27:39 Script with different output
    32:25 Coming up next
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 46

  • @iamdedlok
    @iamdedlok 3 ปีที่แล้ว +12

    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!

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Fantastic!

  • @washingtonalmeida75
    @washingtonalmeida75 2 ปีที่แล้ว +1

    Great tutorials, John. Very educative! Thank you.

  • @oscargarza6869
    @oscargarza6869 4 ปีที่แล้ว +1

    You did a great job with this video. I enjoyed all of the information. Thank you!

  • @chaminda512
    @chaminda512 8 หลายเดือนก่อน

    Learn something new every time. thank you so much..!

    • @NTFAQGuy
      @NTFAQGuy  8 หลายเดือนก่อน

      My pleasure!

  • @bjorndennenbroek1284
    @bjorndennenbroek1284 5 ปีที่แล้ว +1

    Thank you, these video's are a tremendous help.

  • @sakthipro_YT
    @sakthipro_YT 3 ปีที่แล้ว +2

    No matter how many times i thank, they all look insufficient. Excellent Work!!

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Very kind, thank you.

  • @JackassGaming91
    @JackassGaming91 3 ปีที่แล้ว +2

    Thanks again John ! Hopefully you can do more powershell video like how workflow, begin, process, finally works

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      I’ll look at some new topics :)

  • @ornellaputti6691
    @ornellaputti6691 2 ปีที่แล้ว

    Excelent video! So well explained, just loved it, keep it up!

  • @flatbill2
    @flatbill2 2 ปีที่แล้ว

    I went through the Microsoft powershell training tutorial. You gave me a lot of good information.

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว +1

      Glad it was helpful!

  • @didierfolly
    @didierfolly 4 ปีที่แล้ว +2

    Thank you, a great video again!

  • @ezathel9294
    @ezathel9294 2 ปีที่แล้ว

    Thank you very much for the video! Very well explained, helped a noob like me quite a lot.

  • @ibrahimabdeltawab6418
    @ibrahimabdeltawab6418 ปีที่แล้ว

    So informative! Thanks so much for your efforts

  • @MrMahiyadav
    @MrMahiyadav 4 ปีที่แล้ว +1

    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 :)

    • @NTFAQGuy
      @NTFAQGuy  4 ปีที่แล้ว

      Great to hear, thank you

  • @Codyyyyyyyyyy
    @Codyyyyyyyyyy 5 ปีที่แล้ว +1

    Great video! Thanks

  • @VishnuKamath
    @VishnuKamath 2 ปีที่แล้ว

    Loved the Tutorial. Awesome work.

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว

      Glad you liked it

  • @alishavez
    @alishavez 5 ปีที่แล้ว +2

    Good stuff John.

    • @NTFAQGuy
      @NTFAQGuy  5 ปีที่แล้ว +1

      Thanks :-)

  • @pgrinius
    @pgrinius 3 ปีที่แล้ว

    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?

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว +1

      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.

  • @zt.5677
    @zt.5677 3 ปีที่แล้ว +2

    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?

  • @yusril-ihsanul-alim
    @yusril-ihsanul-alim 2 ปีที่แล้ว

    Very helpfull!

  • @TheMarcosmf
    @TheMarcosmf 4 ปีที่แล้ว +4

    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.

    • @NTFAQGuy
      @NTFAQGuy  4 ปีที่แล้ว +2

      Next part in series. th-cam.com/video/BVU7MxlyMmA/w-d-xo.html

  • @aumpauskar4653
    @aumpauskar4653 3 ปีที่แล้ว +1

    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

  • @badsector82
    @badsector82 7 หลายเดือนก่อน

    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"?

  • @patrickwilliams7210
    @patrickwilliams7210 2 ปีที่แล้ว

    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.

  • @badsector82
    @badsector82 7 หลายเดือนก่อน

    What's the difference between "Write-Output" and "return" in a function?

  • @1duducm
    @1duducm 3 ปีที่แล้ว +1

    thankssssssssssssss

  • @pallabkolkata
    @pallabkolkata 3 ปีที่แล้ว

    @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
      @NTFAQGuy  3 ปีที่แล้ว

      check the firewall is open etc. it can't get to the machine.

    • @pallabkolkata
      @pallabkolkata 3 ปีที่แล้ว

      @@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.

  • @PaulBunkey
    @PaulBunkey 4 ปีที่แล้ว +1

    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.

  • @cybercastor6873
    @cybercastor6873 2 ปีที่แล้ว

    @ 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.

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว +1

      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.

    • @radicaltronic1855
      @radicaltronic1855 2 ปีที่แล้ว

      tes