Code Monkey home page Code Monkey logo

az-040t00-automating-administration-with-powershell's Introduction

AZ-040: Automating Administration with PowerShell

What are we doing?

  • To support this course, we will need to make frequent updates to the course content to keep it current with the Azure services used in the course. We are publishing the lab instructions and lab files on GitHub to allow for open contributions between the course authors and MCTs to keep the content current with changes in the Azure platform.

  • We hope that this brings a sense of collaboration to the labs like we've never had before - when Azure changes and you find it first during a live delivery, go ahead and make an enhancement right in the lab source. Help your fellow MCTs.

How should I use these files relative to the released MOC files?

  • The instructor handbook and PowerPoints are still going to be your primary source for teaching the course content.

  • These files on GitHub are designed to be used in conjunction with the student handbook, but are in GitHub as a central repository so MCTs and course authors can have a shared source for the latest lab files.

  • It will be recommended that for every delivery, trainers check GitHub for any changes that may have been made to support the latest Azure services, and get the latest files for their delivery.

What about changes to the student handbook?

  • We will review the student handbook on a quarterly basis and update through the normal MOC release channels as needed.

How do I contribute?

  • Any MCT can submit a pull request to the code or content in the GitHub repro, Microsoft and the course author will triage and include content and lab code changes as needed.

  • You can submit bugs, changes, improvement and ideas. Find a new Azure feature before we have? Submit a new demo!

Notes

Classroom Materials

It is strongly recommended that MCTs and Partners access these materials and in turn, provide them separately to students. Pointing students directly to GitHub to access Lab steps as part of an ongoing class will require them to access yet another UI as part of the course, contributing to a confusing experience for the student. An explanation to the student regarding why they are receiving separate Lab instructions can highlight the nature of an always-changing cloud-based interface and platform. Microsoft Learning support for accessing files on GitHub and support for navigation of the GitHub site is limited to MCTs teaching this course only.

az-040t00-automating-administration-with-powershell's People

Contributors

andersapell avatar arvin166 avatar bckelly avatar ddamir76 avatar hope77777 avatar pauldash avatar polichtm avatar seesharprun avatar sungita avatar tjgithubuser avatar userg20 avatar v-asamim avatar wigf1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

az-040t00-automating-administration-with-powershell's Issues

Lab 6, Ex 1, Task 2 - replace -gt with -lt

Lab 6, Exercise 1, Task 2, Step 6: Typo
Either replace "haven't signed in" with "have signed in" or replace "-gt" with "-lt".

Note that none of the users in the domain except for Administrator have ever logged in, so the result set will probably be empty either way. :-)

TypeText inappropriately closed tag.

Exercise: 2 Creating a scheduled job

Lab: 11

Task: 3

Step: 13

image

Description of issue: TypeText is wrong.

Error: TypeText will copy "-ExecutionPolicy Bypass E:\Labfiles\Mod11" and leave off the directory
Several closing tags (**) for the TypeText are in the wrong places closing the TypeText to early.

image

Lab 3A, Ex 2, Task 5, confusion over complex double-negative

Lab/Demo: Using PowerShell pipeline (the first one)

Exercise 2: Filtering objects

Task 5: Create a report that displays specified Control Panel items

What is this trying to achieve? To list all the items in the System and Security category and in only that category. One item (Power Options) is in two categories, so it should be excluded.

Get-ControlPanelItem -Category "System and Security" `
| where { -not ($PSItem.Category -notlike "*System and Security*") } `
| sort name `
| ft name, category

Since the Category property is a collection (note the braces), there is a much better way of doing this - the Count property. This also avoids the use of a double negative, a frequent source of confusion.

Get-ControlPanelItem -Category "System and Security" `
| where { $PSItem.Category.count -eq 1 } `
| sort name `
| ft name, category

Note that Get-ControlPanelItem is not in PowerShell 7.

Module 10 Ex1 Create a new administrative user fails

Module: 10

Lab/Demo: 10

Task: 2

Step: 04

Description of issue
To create a new Azure AD user, in the console, enter the following command, and then select Enter:
New-AzureADUser -DisplayName "Noreen Riggs" -UserPrincipalName [email protected] -AccountEnabled $true -PasswordProfile $PasswordProfile -MailNickName Noreen

SHOULD BE
To create a new Azure AD user, in the console, enter the following command, and then select Enter: Replace "yourdomain.onmicrosoft.com" with the correct name of your default domain. You can get this from the Default Directory Overview in the portal. The Default directory name is a modified version of your Global admin email address.

The same for Task 3: Create and license a new user Step 1 & 2 & 9

Repro steps:

Need to enable remoting on the client - the remoting background jobs are currently failing

Module: LAB_AK_11_Using_background_jobs_and_scheduled_jobs

Lab/Demo: 1

Task: 00

Step: 4

Description of issue
You need to inject an instruction here to enable remoting, remember this is a client O/S we are trying to run a remoting session to...

  1. Enable-PSRemoting -Force
  2. <This will be the old step 4>

Repro steps:

Because this is asking us to run an invoke command to a client O/S the OS needs to be told to turn on remoting, The current labs are failing because of this. I ran the Enable-PSRemoting -Force command and re-ran the failing commands and it now works.

Module 10 Ex1 authentication_unauthorized

Module: 10

Lab/Demo: 00

Task: 01

Step: 7

Description of issue
Get-AzureADUser and any other commands that create any resources do not work. get error msg

image

Get-AzureADUser needs the -TenantID parameter for this to work
SHOULD BE

  1. Connect-AzureAD
  2. GetAzureADTenantDetail # to get the Azure TenantID
  3. Connect-AzureAD -TenantID "" #connect to the correct TenantID

Repro steps:

UI change experienced in Lab Answer Key Module 1

Module: 01

Exercise: 02

Task: 02

Step: 1b

Description of issue
Step states:
b. Select the Hide Script Pane up-arrow icon to display the console.

New step: The new option is press CTL + R to toggle the console pane.

Repro steps:
https://github.com/MicrosoftLearning/AZ-040T00-Automating-Administration-with-PowerShell/blob/master/Instructions/Labs/LAB_AK_01_Configuring_Windows_PowerShell_finding_and_running_commands.md#task-2-customize-the-appearance-of-the-ise-to-use-the-single-pane-view-hide-the-command-pane-and-adjust-the-font-size

"Powershell" included in TypeText code blocks

Description of issue: TypeText code blocks are copying in "powershell" before the appropriate powershell code. Also causes wrong CSS for UI. Found in various steps.

Example of Error:
image

Example of Proper TypeText:
image


/Instructions/Labs/LAB_AK_05_Making_changes_by_using_CIM_and_WMI.md


Exercise 1: Querying Information by using WMI
Task 4: Query Service information
Step1
Step2
Step3


Exercise 2: Querying information by using CIM
Task 1: Query user accounts
Step1
Step2
Step3
Task 3: Query network adapter configuration information
Step1
Step2


Exercise 3: Invoking methods
Task 1: Invoke a CIM method
Step1
Task 2: Invoke a WMI method
Step1
Step2


There may be more in other files, but these were the ones brought to my attention.

AzureAD Module and MSOnline Module are deprecated

Module: 10

Lab/Demo: 10

Task: All

Step: All

The AzureAD, AzureADPreview and MSOnline Modules are deprecated and due to cease working on June 30, 2023:
https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-september-2022-train/ba-p/2967454#:~:text=for%20Header%20keys.-,Azure%20AD%20Graph%20API,-Azure%20AD%20Graph

Exercise 1 in Lab 10 will need to be updated to use the Microsoft.Graph Module instead of the AzureAd Module, otherwise exercise 1 will cease to work after June 30, 2023.

https://learn.microsoft.com/en-us/powershell/microsoftgraph/migration-steps?view=graph-powershell-1.0

Can we distinguish the two "Using PowerShell pipeline" labs please

There are two labs called "Lab answer key: Using PowerShell pipeline". Can we get the names changed to distinguish them please.

The Skillable lab provider only displays the names of the labs, not the numbers, so there is no way to distinguish them.

Either change the titles, or maybe number the second lab's exercises 3 and 4 instead of 1 and 2.

Or (better still) put the lab number inside the lab's markdown.

PowerShell 7.1 in Lab 9 needs to be updated

Lab: 09

Exercise: 01

Task: 02

Step: 07

PowerShell 7 needs to be updated from 7.1 to 7.3. Currently, it fails to recognize the Connect-AzAccount cmdlet in step 7 [p1]. Updating powershell (for newtonsoft.json) or downgrading the az module(s) should address that; alternatively, the other version of PowerShell accessible in the VM will be able to complete the cmdlets instructed in the lab with no issue [p2].

[p1]

259113590-a692ed0e-096a-49e8-9761-5e38c957546e

[p2]

259118564-765b9e75-1a51-405e-847c-0198dc3d5d83

PowerShell 7 doesn't recognise Az commands. Command fails on Module 9 Ex 3 Task 1 step 4.

Module : LAK 09

Exercise : 03

Task: 01

Step: 04

Description of issue

PowerShell 7 doesn't recognise Az commands. Command fails on Ex 3 Task 1 step 4.
This command executes without issue in PowerShell 5.

PS 7 version information included (screenshot).

https://github.com/MicrosoftLearning/AZ-040T00-Automating-Administration-with-PowerShell/blob/master/Instructions/Labs/LAB_AK_09_Azure_resource_management_with_PowerShell.md#task-1-create-an-azure-vm-by-using-powershell

2021-10-08_120216

2021-10-08_120142

Mod 10 Labs need to be updated from AzureAD module to Microsoft.Graph module

Module: 10

Lab: 01

Task: 01-04

Step: 03-all

Description of issue
Task 1 Step 3 Install-Module AzureAD and all steps in Lab 1
deprecation date for MS Online, AzureAD, and AzureAD Preview PowerShell modules to March 30, 2024.
Must Install-Module Microsoft.Graph
All command syntax must be rewritten using the MG commands.

Repro steps: N/A

Split the Module 3 lab?

Module: 03

Lab/Demo: 01

Module 3 has a two-hour lab covering quite a few different topics. The 10961 had four separate labs instead.

Having students practice smaller chunks of knowledge is more conductive to learning. Plus there's more flexibility with timing without having to tell students to do the lab one Exercise at a time. What does everyone here think?

Lab 2 breaks the network of CL1

Lab 2 breaks the network of CL1 and apparently assumes, that there would be a Revert feature. The ALH, however, does not have a Revert feature.

Naming

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.