Learn PowerShell in Less Than 2 Hours

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 2024
  • #powershell #powershellscripting #powershelltraining
    Check out my Udemy course - PowerShell for Systems Engineers - exclusively on Udemy: www.udemy.com/...
    Check out my new book - PowerShell for Systems Engineers - exclusively on Amazon: www.amazon.com...
    Table of Contents/Chapters:
    0:10 - Introduction
    0:32 - Introduction to James Tyler
    1:20 - What is PowerShell?
    1:41 - How to open PowerShell
    1:55 - Adjust the font size of PowerShell
    2:13 - Check the version of PowerShell
    2:45 - Comparing PowerShell with Command Prompt (CMD)
    4:04 - Tips on using the shell itself (up arrow, tab completion)
    4:50 - Getting & Setting Execution Policy (so you can actually run scripts!)
    6:46 - Open PowerShell ISE
    7:46 - Adjust Zoom in PowerShell ISE
    8:14 - Write First PowerShell Script
    9:06 - Run Your First PowerShell Script
    9:22 - Note about PowerShell file extension
    9:40 - PowerShell Coding Comments
    11:14 - What are Cmdlets?
    12:50 - Cmdlet Parameters
    14:20 - Clearing the shell
    14:29 - Use Get-Command to find Cmdlets
    16:08 - PowerShell Modules
    16:22 - Get-Help (similar to man in Unix systems)
    18:50 - Pipeline (piping - or combining - commands)
    20:48 - Variables
    21:45 - Pipe a variable
    22:29 - PowerShell Variable/Data Types
    24:17 - Arithmetic with variables
    25:09 - Objects - Chris Thomas shoutout
    26:24 - Object properties
    26:47 - Get all properties of an object with Select-Object
    27:32 - Use Get-Member to get all of the different possible methods of an object
    29:18 - Arrays
    33:52 - Hashtables
    39:42 - Collecting user input with Read-Host
    43:44 - If... then... else conditionals
    52:47 - Switch Statements
    56:24 - For Loops
    1:02:58 - Foreach Loops
    1:04:07 - While Loops
    1:09:08 - Do While Loops
    1:10:25 - Defining Custom Functions
    1:14:14 - Defining Custom Advanced Functions
    1:17:01 - Error Handling
    1:22:40 - Create a file with New-Item
    1:24:05 - Create a folder with New-Item
    1:24:43 - Copy file with Copy-Item
    1:25:55 - Move file with Move-Item
    1:26:44 - Delete file with Remove-Item
    1:27:35 - Confirm if a file is there with Test-Path
    1:28:35 - Rename something with Rename-Item
    1:29:29 - Active Directory
    1:30:20 - Load AD Cmdlets with Import-Module ActiveDirectory
    1:30:41 - Get user information with Get-ADUser
    1:33:46 - Change user information with Set-ADUser
    1:35:30 - Add a user to a group with Add-ADGroupNumber
    1:36:55 - Remove a user from a group with Remove-ADGroupMember
    1:37:27 - Turn on advanced features in Active Directory Users & Computers
    1:38:26 - Add a new user with New-ADUser
    1:43:24 - Reset a password of a user
    1:46:50 - Wrap up & conclusion
    Coding Projects:
    github.com/jim...
    Newsletter:
    jimtyler.subst...
    Socials:
    Twitter: / jimrtyler
    Facebook: / coachjimtyler
    Instagram: / coachjimtyler
    TikTok: / coachjimtyler

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

  • @nolan_8
    @nolan_8 ปีที่แล้ว +21

    It seems nomatter what I do it won't let me run scripts. It keeps saying that i have unauthorized access despite setting the policy in both PS and ISE in either order, with administrative privileges. I'm on W11, PS version 5 latest build.

    • @PowerShellEngineer
      @PowerShellEngineer  ปีที่แล้ว +23

      Hey Nolan! Try running Set-ExecutionPolicy unrestricted in PowerShell run as Administrator. I have seen that RemoteSigned sometimes still makes it limited. I'll add that note as an annotation to the video. Thanks for the catch!

    • @nolan_8
      @nolan_8 ปีที่แล้ว +9

      @@PowerShellEngineer Thank you very much, that worked 👍👍

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

      Sudo

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

      @@PowerShellEngineer also, you should be able to open Power Shell in Admin mode.

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

      @@PowerShellEngineer Does this have to be done in safe mode, or in startup terminal? I use linux and mac mainly, and rarely run a windows hypervisor or emulator, so I thought I’d ask.

  • @theindooroutdoorsman
    @theindooroutdoorsman หลายเดือนก่อน +15

    I found the best way to fix all errors in PowerShell. Change the font color of errors to match your background color. If you can't see the errors, they don't exist.

    • @aero7453
      @aero7453 27 วันที่ผ่านมา +1

      😂

    • @rob9x1
      @rob9x1 18 ชั่วโมงที่ผ่านมา

      Lmao! 😂

  • @aledirksen01
    @aledirksen01 5 หลายเดือนก่อน

    Not only get a get a nice refresh in PowerShell, but I also got to learn about the Pokémon regions.

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

    Very nice course! Stuff nicely explained in a straightforward way, this is what I've been looking for.
    But maaan... Your voice is so quiet throughout the whole video! That outro jingle with the volume up spooked me out 😅
    Anyway, thanks for the knowledge, I wish you all the best!
    Cheers!

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

      Thank you, Karol! Yes, I have to get the volume and aspect ratio right on my next videos 😅 I've got more videos styled like this coming. I'm finishing editing on my PowerShell book I've been working on since November right now.

  • @jedi22300
    @jedi22300 3 หลายเดือนก่อน +1

    Thank you!

  • @fusiz5369
    @fusiz5369 11 หลายเดือนก่อน

    DO YOU KNOW DOS COMMAND TO MAKE SHORTCUT FILES ?

  • @xXmayank.kumarXx
    @xXmayank.kumarXx 2 หลายเดือนก่อน +1

    please add chapters to the video so it'll be easy to navigate

  • @davidpinheiro9650
    @davidpinheiro9650 ปีที่แล้ว +10

    1:22:42 This is where the SHELL part starts

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

    the video is great, but the audio has issues, intro was bit too loud

  • @safkaify7875
    @safkaify7875 9 หลายเดือนก่อน +5

    Well organized, well spoken, easy to understand tutorial. For some reasons, volume is low (I experience this volume issue on some other online videos - but not all videos).

  • @gavinw77
    @gavinw77 4 หลายเดือนก่อน +6

    using -eq and -ge etc is so dumb. We already have symbols for these, why make things different in a worse way? Really, at this stage, I just want C# scripting.

  • @steveligeikis4628
    @steveligeikis4628 วันที่ผ่านมา

    Hey James, Great video. at the 50 minute mark you are doing some if elseif stuff with Pokemon regions. I tried it and found that any number =100 causes proper output. I believe your variables are strings, would this cause this type of error?

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

    Great video, any other resources you recommend to keep learning PS.

  • @dominiquedoeslife
    @dominiquedoeslife ปีที่แล้ว +11

    Update: this video helped my buddy to ditch the GUI and to be comfortable doing it! Yay!!!
    This is fantastic!! Thanks! I’m recommending this to a friend who uses windows exclusively, who hasn’t ditched the GUI yet. This really is a great tutorial. Appreciate you.

  • @lewislyles1064
    @lewislyles1064 11 หลายเดือนก่อน +2

    I took powershell in college.

  • @AppCritic
    @AppCritic ปีที่แล้ว +14

    ++GOOD! Watched a ton of videos on the topic the last 2 days - this one is by far the best: well structured, understandable examples, fun to key along in my own system.Keep up the good work!

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

    Great examples.. Star Wars and Pokemon :) i like that. easier to learn that stuff

  • @abanoubamir9325
    @abanoubamir9325 7 วันที่ผ่านมา

    this is not a PowerShell course it is a programming course, you joking??

  • @kafkakos3618
    @kafkakos3618 8 หลายเดือนก่อน +1

    Sorry for the newbie question but at around 30 mins you type = @(‘ObiWan…’) what is the @ symbol for?

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

      Hey, no worries at all! That is called the array subexpression operator - you don't technically need it - you could do $jedi = "Obi-Wan","Anakin" and it would work the same 🙂

    • @kafkakos3618
      @kafkakos3618 8 หลายเดือนก่อน +1

      @@PowerShellEngineer understood now so thanks a lot 👍

  • @hoomaneru
    @hoomaneru 6 หลายเดือนก่อน +1

    Very cool learning video. Specially when I found out you are a fan of LOTR :))

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

    I had my doubts about you and 2 hrs but I have to admit that this gets down to the nitty gritty. Thanks for taking the time.

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

      Thank you, I'm glad it was helpful! If you're interested, I have a video just on automation in under one hour that I think is kind of a next step from this video.

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

      @@PowerShellEngineer I will definitely check it out. I subscribe now.

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

    I got a call On powershell scripting Language (automation)based project..did it usefull to take the project.and is it use full in future..?
    Give some suggestions guys please

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

    I like those fun examples! Thank you!

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

    For execution policy, I got this error:
    PS C:\Users\hssna\music> Get-ExecutionPolicy
    Restricted
    PS C:\Users\hssna\music>

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

      So, you want to run Set-ExecutionPolicy Unrestricted
      That will allow you to run scripts on the system.

  • @nathanbenton2051
    @nathanbenton2051 3 หลายเดือนก่อน +1

    great stuff thanks. was in bash world for so long and as soon as wsl2 and powershell v6 became a thing i was like "ok windows is now my machine - and i can build stuff easily cross platform too"

  • @gamemaniac22
    @gamemaniac22 2 หลายเดือนก่อน

    1:04:00 you wrote "Foreach ($peep in $HaloPeeps)", why did you use "$peep" as the value? It's part of the array $HaloPeeps; how does Powershell know to use each value in $HaloPeeps when calling $peeps for "Write-Host $peep 'has arrived' "? Is $peep a built in mechanism in PowerShell?

    • @PowerShellEngineer
      @PowerShellEngineer  2 หลายเดือนก่อน

      From Microsoft Learn, it gives this example: "foreach ($ in $){}
      The part of the foreach statement inside parenthesis represents a variable and a collection to iterate. PowerShell creates the variable $ automatically when the foreach loop runs. At the start of each iteration, foreach sets the item variable to the next value in the collection. The {} block contains the commands to execute for each iteration."
      It's just implicit to the way that a foreach loop works in PowerShell. There always has to be a placeholder item variable to represent the current value as it iterates through the collection.

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

    I appreciate at the references used for programming. I didn't realize we were up to 908 pokemon these days. But I'm partial to the Johto region.

  • @Ivoshevo
    @Ivoshevo 11 หลายเดือนก่อน +1

    I made this mistake back in 2015 and I promise my self not to do it again. Just learn Bash

  • @RobbC.
    @RobbC. ปีที่แล้ว +3

    Thanks mate, good vid. Newbie here and learnt a lot, much appreciated.

  • @offendedpotato3847
    @offendedpotato3847 หลายเดือนก่อน +1

    great video man ,great content.. i am begginer with basic python knowledge yet i was able to understand everything thanks a lot

    • @PowerShellEngineer
      @PowerShellEngineer  หลายเดือนก่อน +1

      No problem! I'm glad you enjoyed it.

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

    Complete NOOB here, I used Set-ExecutionPolicy unrestricted, as admin but I still get the red cd : Cannot find path 'C:\Scripts' because it does not exist.
    At line:1 char:1
    + cd C:\Scripts.
    Windows 10 Pro v 1909

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

      You would need to make the C:\Scripts directory - you could do that with
      cd C:\
      New-Item -ItemType Directory -Name "Scripts"
      or just
      mkdir C:\Scripts

  • @dw9097
    @dw9097 9 หลายเดือนก่อน +1

    Tried #My First Comment. It still showed the comment. Wouldn't go away

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

    how do you make a key press thing like:
    if plus pressed, press h

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

    Nice vid, touched every major topic.
    Do you happen to know a good static analyzer for PowerShell?

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

      Yes, the PSScriptAnalyzer from Microsoft. Though the GitHub plugin for VSCode works really well - I used it to audit my disk cleaner script.

  • @eddie79it1
    @eddie79it1 6 หลายเดือนก่อน

    e si che, con tutti quelli che vi hanno dato in campionato, avete avuto tempo per prepararvi..

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

    Thank you james👍
    Do you recommend books for learning PowerShell and automating with PowerShell

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

      Hey SysAdmin, I just recently finished my book, PowerShell for Systems Engineers - it's available on Kindle for now - I'm proofing the print version. I'm almost done with a companion course. www.amazon.com/dp/B0C12DPZ2C

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

      @@PowerShellEngineer
      I am happy that you released book about PowerShell, is it tutorial or strategy book
      in addition, Do you provide workshop or course for specific subjects, for instance, I want to learn how to use ASDI in PowerShell for Active Directory and GPO.

  • @Marawan-Mero
    @Marawan-Mero 4 หลายเดือนก่อน +1

    Thank you, that was very easy to follow & made a lot of Sense!
    Thanks!

  • @HBOMB-nl9pw
    @HBOMB-nl9pw ปีที่แล้ว +3

    Hi, great vid so far in 30 minutes or so.
    I use power shell in general for deploying applications via sccm. Pretty basic stuff probably from your perspective. Start-process etc with silent switches and so on for msi and exes etc.
    Are there any links or urls you could advise that would help with this particular area of power shell and deploying apps or making changes to a systems file system for example (usually deploy the ps script via sccm with a admin service account to the remote device)
    Seen some folk get really into a massive long script with other app deployment, I have no idea how they manage to retain the information to write from scratch to be honest. Personally I grab other people’s code online, test and then make it cater for the app in question needs (if it needs to be installed when the device has batter greater than 10 percent for example)
    Would it be possible to message you a couple of questions with some scripts I have for you opinion on them?
    Thanks 🙏

    • @HBOMB-nl9pw
      @HBOMB-nl9pw ปีที่แล้ว +1

      Also, what best helped you retain the way you can just write the code like that, right off bat?

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

      Yes, the @pdq channel has some good resources for app deployment. I honestly am testing code the same way for the things I do as well. I often setup a test server just to make sure I don't inadvertently do something bad to my own PC or my server. Feel free to message me on TH-cam or Twitter!

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

      @@HBOMB-nl9pw I've been writing a book on PowerShell which will be out soon and I when I made this it was fresh off of two presentations in PowerShell, so I had done (and continue to do) a lot of scripting. Even still, I write something in PowerShell almost every day, even if it's just a little, so it keeps it fresh. For the video I did have an outline so I could keep track of what to move on to next to compress it down :) I would come up with a project to keep the challenges going and stay engaged.

    • @HBOMB-nl9pw
      @HBOMB-nl9pw ปีที่แล้ว

      @@PowerShellEngineer been using and testing chatgpt to write test scripts and it’s really good so far, it wrote them similar to how I have which is good 🙂

  • @LOLQ9000
    @LOLQ9000 หลายเดือนก่อน +1

    20:40

  • @RemixOS-e4n
    @RemixOS-e4n 10 หลายเดือนก่อน +1

    Hello Sir!..
    ...My English is not that good (lvl B1 still learning :P) ..anyways, that's not the case though lOl, I'll try to explain as much as I can :P...
    I'm new to "Powershell" (still learning the basics..) and briefly, STEP 1 I'm trying to read two different .txt files...the files are simply ranked words (from A to Z) but the words are not the same in each file though, say for example : file 1 path = "c/words/SectionA.txt" , file 2 path = "c/words/SectionB.txt"..STEP 2 matching the words in file 1 (line by line) with a string (text blah blah) and return the result to a variable (say $Result/Match= $Line , $Line_Number)..STEP 3 in file 2 reading only lines that match $Line_Number in "$Result/Match" ($Result/Match= $Line_Number)
    STEP 1 & STEP 2 were easy but stuck on STEP 3 (reading the specific lines which match the result $Line_Number)
    //$Index = "E" #reading files based on letters ex : A.txt, B.txt.....
    //$FilePath = "C:\Read\{0}*.txt" -f $Index
    //irrelevant//
    $FilePath1 = "c/words/SectionA.txt"
    $FilePath2 = "c/words/SectionB.txt"
    $regex = read-host "Write something"
    if([string]::IsNullOrEmpty($regex) -eq $true){
    Write-Warning "Null Or Not Found"
    exit
    }
    $l = 1
    switch -regex -file $FilePath1 {
    $regex {
    "$l , $_"
    $l++
    STEP 3 GOES HERE ......
    }
    }
    ...anyone can help me with this and I'll be very grateful..thanks in advance + excuse my poor language :P..Peace!.

    • @PowerShellEngineer
      @PowerShellEngineer  10 หลายเดือนก่อน +1

      Maybe something like this?
      $FilePath1 = "C:\words\SectionA.txt"
      $File1Content = Get-Content $FilePath1
      $regex = Read-Host "Enter the string to match"
      if ([string]::IsNullOrEmpty($regex)) {
      Write-Warning "Null or empty input"
      exit
      }
      $Result = @()
      $Line_Number = 1
      foreach ($line in $File1Content) {
      if ($line -match $regex) {
      $Result += "$Line_Number, $line"
      }
      $Line_Number++
      }
      $FilePath2 = "C:\words\SectionB.txt"
      $File2Content = Get-Content $FilePath2
      $FilteredLines = @()
      foreach ($entry in $Result) {
      $LineNumber = $entry.Split(',')[0] -as [int]
      if ($LineNumber -gt 0 -and $LineNumber -le $File2Content.Count) {
      $FilteredLines += $File2Content[$LineNumber - 1]
      }
      }
      Write-Host $FilteredLines

    • @RemixOS-e4n
      @RemixOS-e4n 10 หลายเดือนก่อน

      "Edited" ..that's not what I'm looking for but it helps Thanks anyways .. have a good day :). @@PowerShellEngineer​

    • @RemixOS-e4n
      @RemixOS-e4n 10 หลายเดือนก่อน

      Actually that was easier than I thought...
      all that I need to do is finding the matched words lines (*Only* $Lines_numbers without $Lines) ..and then later I can use them as "$Index" to get the specific lines from file2..for example :
      #########
      $FilePath1 = "C:\words\SectionA.txt"
      $FilePath2 = "C:\words\SectionB.txt"
      $File1Content = Get-Content $FilePath1
      $String = Read-Host "Type something"
      if ([string]::IsNullOrEmpty($String)) {
      Write-Warning "Null or empty input"
      exit
      }
      $String += "*"
      $FilteredLines = @()
      $Line_Number = 0
      foreach($Line in $File1Content){
      if($Line -like $String){
      $FilteredLines += "$Line_Number"
      }
      $Line_Number++
      }
      if([string]::IsNullOrEmpty($FilteredLines)){
      Write-Warning -Message "Not Found"
      exit
      }
      $Result1 = (Get-Content -Path $FilePath1 | Select-Object -Index ($FilteredLines))
      $Result2 = (Get-Content -Path $FilePath2 | Select-Object -Index ($FilteredLines))
      #Display Contents
      $Result1 + "" + $Result2
      #######################
      that's it. (that was much fun ☺)..
      @@PowerShellEngineer

  • @FitzGeraldBurgess-g6o
    @FitzGeraldBurgess-g6o 8 วันที่ผ่านมา

    Garcia Brian White Patricia White Steven

  • @abbasali7843
    @abbasali7843 หลายเดือนก่อน +1

    This was lovely, thanks

  • @e-bz724
    @e-bz724 ปีที่แล้ว +6

    I'm on linux & stumble to this ...Why not ~

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

    Hi, When I type net session in Powershell, it shows me an SMB connections. Is there a way I can show SSH connection from PowerShell?

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

      Get-NetTCPConnection will show you all of the TCP connections. You could filter that down by piping it to a Where-Object that looks for port 22 connections: Get-NetTCPConnection | Where-Object { $_.OwningProcess -ne 0 -and $_.RemotePort -eq 22 } | Select-Object LocalAddress, RemoteAddress, RemotePort

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

    Nice work, great little refresher!

  • @sub-harmonik
    @sub-harmonik 3 หลายเดือนก่อน +1

    nice video, might be good to add a few bookmarks

    • @PowerShellEngineer
      @PowerShellEngineer  3 หลายเดือนก่อน

      Thank you! There are a few in the description:
      Table of Contents/Chapters:
      0:10 - Introduction
      0:32 - Introduction to James Tyler
      1:20 - What is PowerShell?
      1:41 - How to open PowerShell
      1:55 - Adjust the font size of PowerShell
      2:13 - Check the version of PowerShell
      2:45 - Comparing PowerShell with Command Prompt (CMD)
      4:04 - Tips on using the shell itself (up arrow, tab completion)
      4:50 - Getting & Setting Execution Policy (so you can actually run scripts!)
      6:46 - Open PowerShell ISE
      7:46 - Adjust Zoom in PowerShell ISE
      8:14 - Write First PowerShell Script
      9:06 - Run Your First PowerShell Script
      9:22 - Note about PowerShell file extension
      9:40 - PowerShell Coding Comments
      11:14 - What are Cmdlets?
      12:50 - Cmdlet Parameters
      14:20 - Clearing the shell
      14:29 - Use Get-Command to find Cmdlets
      16:08 - PowerShell Modules
      16:22 - Get-Help (similar to man in Unix systems)
      18:50 - Pipeline (piping - or combining - commands)
      20:48 - Variables
      21:45 - Pipe a variable
      22:29 - PowerShell Variable/Data Types
      24:17 - Arithmetic with variables
      25:09 - Objects - Chris Thomas shoutout
      26:24 - Object properties
      26:47 - Get all properties of an object with Select-Object
      27:32 - Use Get-Member to get all of the different possible methods of an object
      29:18 - Arrays
      33:52 - Hashtables
      39:42 - Collecting user input with Read-Host
      43:44 - If... then... else conditionals
      52:47 - Switch Statements
      56:24 - For Loops
      1:02:58 - Foreach Loops
      1:04:07 - While Loops
      1:09:08 - Do While Loops
      1:10:25 - Defining Custom Functions
      1:14:14 - Defining Custom Advanced Functions
      1:17:01 - Error Handling
      1:22:40 - Create a file with New-Item
      1:24:05 - Create a folder with New-Item
      1:24:43 - Copy file with Copy-Item
      1:25:55 - Move file with Move-Item
      1:26:44 - Delete file with Remove-Item
      1:27:35 - Confirm if a file is there with Test-Path
      1:28:35 - Rename something with Rename-Item
      1:29:29 - Active Directory
      1:30:20 - Load AD Cmdlets with Import-Module ActiveDirectory
      1:30:41 - Get user information with Get-ADUser
      1:33:46 - Change user information with Set-ADUser
      1:35:30 - Add a user to a group with Add-ADGroupNumber
      1:36:55 - Remove a user from a group with Remove-ADGroupMember
      1:37:27 - Turn on advanced features in Active Directory Users & Computers
      1:38:26 - Add a new user with New-ADUser
      1:43:24 - Reset a password of a user
      1:46:50 - Wrap up & conclusion

  • @raymondlipin7330
    @raymondlipin7330 หลายเดือนก่อน +1

    Amazing video!! Thank you!

  • @SachinV-ur8wh
    @SachinV-ur8wh ปีที่แล้ว +3

    Thank you James ! Hope you'll also guide with additional (advanced) knowledge on the same topic.

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

      You are welcome, Sachin! I have been working on writing a PowerShell book since November and I am almost finished with that. I will be posting videos on more advanced topics more regularly soon.

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

      ​@@PowerShellEngineerbro Execution Policy enable put us in any dangerous things?

  • @OMNS777
    @OMNS777 9 หลายเดือนก่อน +1

    The best intro PS. Thank you 🙏

  • @yesno5286
    @yesno5286 6 หลายเดือนก่อน

    i hate working with windows power shell since it has the c:/User/{name}/etc/etc/ which feels slower to write then ~\etc\etc the c: is really a turn off idk why

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

    So, a lot of my options are blurred out. What does that mean? i cant run anything, even though I am admin, and set policy to remotesigned?

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

      Set the policy to unrestricted and you should be good :)

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

      @@PowerShellEngineer ahh okay, thank you sensei.

  • @MohitKhare
    @MohitKhare 10 หลายเดือนก่อน +1

    thank you. ❤❤

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

    ughh, I feel like all of this i can figure out, and i totally get it while watching. It doesnt seem difficult to me in the slightest. The issue for me is, if i had to figure it out on the spot... I am looking for a entry level sys admin job. Can I say that I know powershell? I couldn't recreate this video off the top of my head. BUT if i was asked to do something, I could 100% figure it out. And if i was doing it on a daily basis, I would master it extremely quickly... So can i say that I know powershell?
    is this imposter syndrome? Do i just not know it?

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

    That was a very helpful video, keep it up! :)

  • @usmanhussain2060
    @usmanhussain2060 5 หลายเดือนก่อน

    Great watch sir, What book would you recommend for o365/Azure consultant to learn powershell? Thanks

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

    Rookie question (doesn't come super easy to me!). How do you decide when to write the script in the script window and when to do it in the console window?

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

      Hey! Great question. I write code in the PowerShell ISE script window when I want to save the script to run it again later or if I want to make a scheduled task to run the script automatically. In the console, I would run code if I'm just wanting to check something, like Get-Volume (for example) to check disk space or Test-NetConnection to see if a website or server is up.

  • @ArtVanAuggie
    @ArtVanAuggie 5 หลายเดือนก่อน

    Try doing something like this using VS CODE PowerShell extension.

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

    Thank you-I was able to learn PS basics- I like your teaching style..too good🤘

  • @Promise198787
    @Promise198787 11 หลายเดือนก่อน +1

    Thank you. This video was so helpful. I'm just starting my journey learning PowerShell and this was so helpful. You gave me some confidence in learning it now.

  • @Markymark-qc9bj
    @Markymark-qc9bj 4 หลายเดือนก่อน

    WOW just wow! I got chat gpt to make a script that outputs a template for me based on my answers and I've been struggling to edit it as I don't know much, I'm only 18 minutes into this video and i was able to understand my script and make the correct edits!

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

    Thank you for the video. Very helpful. May the force be with you.

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

    Thanks for the video.

  • @anuvind_m
    @anuvind_m 11 หลายเดือนก่อน +1

    Hey James, I am a graduate who is trying to get into system administration and I am learning both linux and windows server. I have basic knowledge in programming and bash shell scripting. I was confused if I should learn python for scripting as it is cross platform, or just move on with powershell and bash shell. Can I get your opinion?

    • @PowerShellEngineer
      @PowerShellEngineer  11 หลายเดือนก่อน +1

      I don't think you would be worse off for learning Python. I'd actually recommend learning all three. That said, for systems administration, PowerShell and Bash would be more useful. Additionally, PowerShell Core 7 is available on Windows, Mac, and Linux!

    • @txreal2
      @txreal2 11 หลายเดือนก่อน

      @@PowerShellEngineer learning all three? I wish I have the time.
      If I have to pick one first to start, what we you recommend? Thanks.

    • @franklynfosu
      @franklynfosu 9 หลายเดือนก่อน +1

      @@txreal2 Python will be great to start with.

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

    This was phenomenal thank you.. I learned a ton..

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

    move closer to mic please, hard to hear. good video otherwise, thank you!

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

    a very nice one for beginner!

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

    Great video and great examples 😊 🎉

  • @Default-YT80
    @Default-YT80 5 หลายเดือนก่อน

    Brother this is very informative and helpful! Thanks heaps!

  • @borkesahin8729
    @borkesahin8729 27 วันที่ผ่านมา

    hey is it possible to embed tmux status line into powershell?

    • @PowerShellEngineer
      @PowerShellEngineer  27 วันที่ผ่านมา

      This is what one could look like; I'm not sure how to keep it present on the shell though:
      while ($true) {
      # Get current time
      $time = Get-Date -Format "HH:mm:ss"

      # Get CPU usage
      $cpuUsage = (Get-WmiObject Win32_Processor).LoadPercentage
      # Get memory usage
      $mem = Get-WmiObject win32_operatingsystem
      $memFree = "{0:N1}" -f ($mem.FreePhysicalMemory/1MB)
      $memTotal = "{0:N1}" -f ($mem.TotalVisibleMemorySize/1MB)
      $memUsage = "{0:N1}" -f (($memTotal - $memFree) / $memTotal * 100)
      # Build the status bar string
      $status = "Time: $time | CPU: $cpuUsage% | Memory: $memUsage% used ($memFree MB free of $memTotal MB total)"

      # Clear the current line and write the status
      Write-Host -NoNewline "`r$status"
      # Sleep for a second before updating
      Start-Sleep -Seconds 1
      }

    • @borkesahin8729
      @borkesahin8729 27 วันที่ผ่านมา +1

      @@PowerShellEngineer really appreciate it thank you but seems like icons are missing 😁😁

  • @gatorgrad
    @gatorgrad 10 หลายเดือนก่อน +1

    thanks for the lesson

  • @EmmanuelMensah-rq3is
    @EmmanuelMensah-rq3is 2 หลายเดือนก่อน

    Thank you so much

  • @joetripp123
    @joetripp123 5 หลายเดือนก่อน

    As a new PowerShell user this was super helpful and you presented it in a fun easy to understand way. Thanks

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

    This helped me so much

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

    I remember when Microsoft Windows wanted to get rid of the DOS command line. Most people these days probably don't even know what that is anymore. This was in the 90s. They said "With Windows, you don't need to type commands anymore." Ok, thanks. That's great.
    Several years later..."Here's Powershell. We want you to learn a whole new set of 50,000 commands again." Good lord. What is the matter with people?

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

      And why do these commands have to be so deliberately different than Linux? Feels like a personal agenda against using already established industry wide accepted commands to do even simple stuff

  •  ปีที่แล้ว +1

    This was so helpful! Thank you!

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

    thanks

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

    Thank you !

  • @TM-wv1zc
    @TM-wv1zc 9 หลายเดือนก่อน

    Power Shell LEARNING WITH FUNNNNNNNNNNNNNNNNNNNN😄😄😄😄😄

  • @3040_SHUBHRANILDAS
    @3040_SHUBHRANILDAS 3 หลายเดือนก่อน

    hello

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

    10:11 -20.06.2023

  • @denalimike8159
    @denalimike8159 10 หลายเดือนก่อน

    Probably one of the better tutorials! Mike from MI

  • @NeerajJha-yf5fl
    @NeerajJha-yf5fl ปีที่แล้ว

    Can you please help me create group manage service account, a basic one and start any service using that gmsa account

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

      This is untested, but something like this should work: New-ADServiceAccount -Name gmsa -DNSHostName -PrincipalsAllowedToRetrieveManagedPassword
      and then you can collect the password and restart the service with this:
      $secpasswd = ConvertTo-SecureString "" -AsPlainText -Force
      $mycreds = New-Object System.Management.Automation.PSCredential("DOMAIN\gmsa", $secpasswd)
      Start-Service -Name Spooler -Credential $mycreds

  • @rons7555
    @rons7555 5 หลายเดือนก่อน

    Truly amazing tool !

  • @im4485
    @im4485 3 หลายเดือนก่อน

    annoying but useful

  • @BlueKaiTheEnd-
    @BlueKaiTheEnd- 11 หลายเดือนก่อน

    This is exactly what I needed! Brought me up to speed

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

    best powershell tutorial video i have seen on the internet🔥🔥🔥

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

    thank you sir!🥰

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

    "Now we have our erection"???? how could you sir 1:20:15

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

      Error Action 😅, btw training is very good and easy to understand

    • @Manu-rd4pc
      @Manu-rd4pc 7 หลายเดือนก่อน

      After an hour and 20 minutes of training i guess it was time to relax a bit 😅

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

    It's good to see commercial Windows making some effort to catch up with free Linux.

  • @prodigalSon3
    @prodigalSon3 5 หลายเดือนก่อน +1

    Hands down, the best tutorial on youtube (on the market for that matter lol) thanks bro!

  • @Jean-MarcNdong
    @Jean-MarcNdong 8 หลายเดือนก่อน +2

    Sound is a bit too low

    • @RenRealism
      @RenRealism 4 หลายเดือนก่อน +1

      Sounds fine to me!