Watch all recordings from PSConfEU MiniCon 2023
PSConfEU MiniCon 2023 - Designing Beautiful APIs with Azure PowerShell Functions - Chrissy LeMaire
In this episode, we delve into the world of API design, exploring its beauty and value. The main speaker begins by expressing their excitement about AI and how it has ...clicked for them when they started using GPT-4. They discuss the importance of APIs, both in web structure and PowerShell, and break down the benefits of building an API, such as increased functionality and scalability. They introduce Azure PowerShell functions as a way to build an API using existing PowerShell skills, explaining the key components and providing examples. The main speaker then explores the structure and naming conventions of APIs, emphasizing best practices and principles. They touch on safety considerations and the use of HTTP methods in API development. The main speaker also discusses documentation tools for APIs, highlighting Azure API Management as their preferred choice. Moving on to the demo, they explain the creation and structure of an API using Azure functions, as well as the use of dev containers and workflows in GitHub. They discuss testing functions with Pester and the importance of file organization and the gitignore file. The main speaker touches on the host.json and local.settings.json files, as well as the configuration of profiles for handling confirmations and exceptions. They cover managing required modules and dive into API routes, mentioning the use of API gateways and dynamic route structuring. Throughout the conversation, the main speaker shares insights, personal experiences, and recommendations, including following API expert David Mori and recommending the PowerShell podcast. They also showcase the amusing and impressive capabilities of OpenAI, including a cat that raps and curses. The main speaker concludes by inviting questions and expressing their availability.Chapters:
00:00:00 PSConfEU 2023 - Designing Beautiful APIs with Azure PowerShell Functions - Chrissy LeMaire
00:00:05 Introduction and Book Deal Announcement
00:02:01 Speaker's Background and Transition to Belgium
00:04:19 Importance of Documentation and Examples in API building
00:06:28 Reasons to Build an API: Expanded Functionality, Scale, Firewall-Friendly
00:09:07 Community Building and Collaboration through APIs
00:11:01 Introduction to Azure PowerShell functions and its benefits
00:15:32 Understanding Azure Function app structure and equivalents in PowerShell
00:17:31 The beauty of API structure and development
00:20:44 Generating IDs in the API for efficiency
00:23:34 Tools for auto-documentation in APIs
00:27:27 Creating Azure Functions on the web and command line
00:29:53 Introduction to VS Code and its important features
00:30:43 Testing Functions with Pester and Docker
00:32:50 Explanation of local.settings.json and PowerShell ENV
00:34:07 Parameters and Output Binding in Coding
00:34:58 Informative Error Handling and Function Setup
00:36:51 Exploring Dynamic Routes in API Gateway
00:37:58 Introduction to a PM's Method on Azure SQL Team
00:40:29 Choosing ID format and options for Spotify APIShow More
PSConfEU MiniCon 2023 - Designing Beautiful APIs with Azure PowerShell Functions - Chrissy LeMaire
In this episode, we delve into the world of API design, exploring its ...
In this episode, we delve into the world of API design, exploring its beauty and value. The main speaker begins by expressing their excitement about AI and how it has ...clicked for them when they started using GPT-4. They discuss the importance of APIs, both in web structure and PowerShell, and break down the benefits of building an API, such as increased functionality and scalability. They introduce Azure PowerShell functions as a way to build an API using existing PowerShell skills, explaining the key components and providing examples. The main speaker then explores the structure and naming conventions of APIs, emphasizing best practices and principles. They touch on safety considerations and the use of HTTP methods in API development. The main speaker also discusses documentation tools for APIs, highlighting Azure API Management as their preferred choice. Moving on to the demo, they explain the creation and structure of an API using Azure functions, as well as the use of dev containers and workflows in GitHub. They discuss testing functions with Pester and the importance of file organization and the gitignore file. The main speaker touches on the host.json and local.settings.json files, as well as the configuration of profiles for handling confirmations and exceptions. They cover managing required modules and dive into API routes, mentioning the use of API gateways and dynamic route structuring. Throughout the conversation, the main speaker shares insights, personal experiences, and recommendations, including following API expert David Mori and recommending the PowerShell podcast. They also showcase the amusing and impressive capabilities of OpenAI, including a cat that raps and curses. The main speaker concludes by inviting questions and expressing their availability.
Chapters:
00:00:00 PSConfEU 2023 - Designing Beautiful APIs with Azure PowerShell Functions - Chrissy LeMaire
00:00:05 Introduction and Book Deal Announcement
00:02:01 Speaker's Background and Transition to Belgium
00:04:19 Importance of Documentation and Examples in API building
00:06:28 Reasons to Build an API: Expanded Functionality, Scale, Firewall-Friendly
00:09:07 Community Building and Collaboration through APIs
00:11:01 Introduction to Azure PowerShell functions and its benefits
00:15:32 Understanding Azure Function app structure and equivalents in PowerShell
00:17:31 The beauty of API structure and development
00:20:44 Generating IDs in the API for efficiency
00:23:34 Tools for auto-documentation in APIs
00:27:27 Creating Azure Functions on the web and command line
00:29:53 Introduction to VS Code and its important features
00:30:43 Testing Functions with Pester and Docker
00:32:50 Explanation of local.settings.json and PowerShell ENV
00:34:07 Parameters and Output Binding in Coding
00:34:58 Informative Error Handling and Function Setup
00:36:51 Exploring Dynamic Routes in API Gateway
00:37:58 Introduction to a PM's Method on Azure SQL Team
00:40:29 Choosing ID format and options for Spotify APIShow More
Chapters:
00:00:00 PSConfEU 2023 - Designing Beautiful APIs with Azure PowerShell Functions - Chrissy LeMaire
00:00:05 Introduction and Book Deal Announcement
00:02:01 Speaker's Background and Transition to Belgium
00:04:19 Importance of Documentation and Examples in API building
00:06:28 Reasons to Build an API: Expanded Functionality, Scale, Firewall-Friendly
00:09:07 Community Building and Collaboration through APIs
00:11:01 Introduction to Azure PowerShell functions and its benefits
00:15:32 Understanding Azure Function app structure and equivalents in PowerShell
00:17:31 The beauty of API structure and development
00:20:44 Generating IDs in the API for efficiency
00:23:34 Tools for auto-documentation in APIs
00:27:27 Creating Azure Functions on the web and command line
00:29:53 Introduction to VS Code and its important features
00:30:43 Testing Functions with Pester and Docker
00:32:50 Explanation of local.settings.json and PowerShell ENV
00:34:07 Parameters and Output Binding in Coding
00:34:58 Informative Error Handling and Function Setup
00:36:51 Exploring Dynamic Routes in API Gateway
00:37:58 Introduction to a PM's Method on Azure SQL Team
00:40:29 Choosing ID format and options for Spotify APIShow More
PSConfEU MiniCon 2023 - WinGet and DSC Configuring Windows - Demitrius Nelon
In this episode, I, Demetrius Nealon, a product manager at Microsoft, ...
In this episode, I, Demetrius Nealon, a product manager at Microsoft, discuss the topics of DSC (Desired State Configuration) and Winget. I delve into the challenges faced when setting up ...environments, such as outdated instructions and a lack of expertise. To tackle these issues, we utilize PowerShell's DSC and introduce the WinGit configuration. We explore the YAML format implemented in Winget configuration for enhanced performance and parallel processing.
Moving forward, we provide a hands-on demonstration, starting with showcasing the addition of seconds on the clock, aligning the taskbar, enabling dark mode, and displaying file extensions. We proceed to install Git through the Windows Package Manager and clone the Winget CLI project, utilizing PowerShell DSC commands for automation. I emphasize the availability of scripts and samples for Winget configurations, while also providing an overview of the Windows Sandbox, including customization options and the Windows Sandbox DSC resource.
Throughout the demonstration, we encounter several issues, such as path errors and compatibility challenges with PowerShell 7. However, we assure listeners that efforts are being made to address these problems. We discuss the process of bootstrapping Chocolaty using Winget and delve into the concept of idempotency in DSC resources. Furthermore, I reveal plans to introduce a configuration export feature, enabling users to retrieve configurations for installed packages and Windows settings.
We touch on the integration of Winget with Intune and our collaboration with the Intune team to push configurations to devices. Additionally, we explore the potential for Azure integration and the application of Winget on Windows Server. I provide updates on upcoming features, including comparisons of configurations, and highlight our partnerships with the DSC community.
As the episode draws to a close, I stress the significance of feedback and the importance of deepening partnerships. I offer apologies for any technical difficulties encountered and assure listeners that further assistance is available.
Chapters:
00:00:00 PSConfEU MiniCon - WinGet and DSC Configuring Windows - Demitrius Nelon
00:00:06 Introduction to DSC and Winget at Microsoft
00:03:20 Finding and using PowerShell DSC resources
00:06:05 Introducing assertions for machine state validation
00:08:21 Overview of configurations and future plans
00:09:35 Regular winget command vs PowerShell for system configuration.
00:12:00 Challenges with enabling Windows Sandbox and future vision.
00:15:21 Copying files and executing the bootstrap script in the sandbox.
00:15:58 Setting up Windows Sandbox and logon script
00:16:59 Introduction to the Sandbox and its ephemeral nature
00:19:31 Installing and configuring Git
00:20:01 Setting up PowerShell gallery for the first module trust.
00:22:37 Testing configurations and encouraging more DSC resources.
00:23:43 Introducing the Wingate Query and Issue Tracking System
00:29:45 Request for sample availability and current tool usage
00:32:11 Challenges with conflicting dependencies and compare behavior
00:34:21 Installation of Visual Studio in progress
00:36:57 Azure Integration and AVD Image Templates
00:47:39 Demos and Performance Enhancements
00:49:44 Stable Features and Experimental Releases
00:51:35 Fun with Respawn and Camera Mishap ApologyShow More
Moving forward, we provide a hands-on demonstration, starting with showcasing the addition of seconds on the clock, aligning the taskbar, enabling dark mode, and displaying file extensions. We proceed to install Git through the Windows Package Manager and clone the Winget CLI project, utilizing PowerShell DSC commands for automation. I emphasize the availability of scripts and samples for Winget configurations, while also providing an overview of the Windows Sandbox, including customization options and the Windows Sandbox DSC resource.
Throughout the demonstration, we encounter several issues, such as path errors and compatibility challenges with PowerShell 7. However, we assure listeners that efforts are being made to address these problems. We discuss the process of bootstrapping Chocolaty using Winget and delve into the concept of idempotency in DSC resources. Furthermore, I reveal plans to introduce a configuration export feature, enabling users to retrieve configurations for installed packages and Windows settings.
We touch on the integration of Winget with Intune and our collaboration with the Intune team to push configurations to devices. Additionally, we explore the potential for Azure integration and the application of Winget on Windows Server. I provide updates on upcoming features, including comparisons of configurations, and highlight our partnerships with the DSC community.
As the episode draws to a close, I stress the significance of feedback and the importance of deepening partnerships. I offer apologies for any technical difficulties encountered and assure listeners that further assistance is available.
Chapters:
00:00:00 PSConfEU MiniCon - WinGet and DSC Configuring Windows - Demitrius Nelon
00:00:06 Introduction to DSC and Winget at Microsoft
00:03:20 Finding and using PowerShell DSC resources
00:06:05 Introducing assertions for machine state validation
00:08:21 Overview of configurations and future plans
00:09:35 Regular winget command vs PowerShell for system configuration.
00:12:00 Challenges with enabling Windows Sandbox and future vision.
00:15:21 Copying files and executing the bootstrap script in the sandbox.
00:15:58 Setting up Windows Sandbox and logon script
00:16:59 Introduction to the Sandbox and its ephemeral nature
00:19:31 Installing and configuring Git
00:20:01 Setting up PowerShell gallery for the first module trust.
00:22:37 Testing configurations and encouraging more DSC resources.
00:23:43 Introducing the Wingate Query and Issue Tracking System
00:29:45 Request for sample availability and current tool usage
00:32:11 Challenges with conflicting dependencies and compare behavior
00:34:21 Installation of Visual Studio in progress
00:36:57 Azure Integration and AVD Image Templates
00:47:39 Demos and Performance Enhancements
00:49:44 Stable Features and Experimental Releases
00:51:35 Fun with Respawn and Camera Mishap ApologyShow More
PSConfEU MiniCon 2023 - Collaborate through git. Getting started. - Gael Colas
In this part of the conversation, I explain the process of ...
In this part of the conversation, I explain the process of incorporating changes from one branch into another using the "pull" command. By default, Git adds the changes after our ...own commits. However, if we configure the "pull" command to use rebase, it sets aside our commits, pulls the changes, and then re-applies our commits at the end. This ensures that only our changes are left.
I emphasize the importance of everyone working on the project having a local copy and sharing their changes against a remote repository, such as GitHub. We protect the main branch by not allowing direct pushes and instead require pull requests. This approach ensures knowledge sharing and understanding of the changes being made.
When someone else has made changes to the main branch that we do not have in our local branch, we use the "pull rebase" command to incorporate those changes. This sets aside our recent commits, pulls the missing commits, and then re-applies our changes onto our branch. However, since the commit IDs will not be the same, we need to force push our branch to the remote repository. This can be done using the "push force" command, or preferably "push force with lease" to avoid overwriting other changes made by colleagues.
Once our branch is up to date with the main branch, we can create a pull request to merge our changes into the main branch. This pull request will only include the difference between the two commits we made on our branch.
Chapters:
00:00:00 PSConfEU MiniCon 2023 - Collaborate through git. Getting started. - Gael Colas
00:00:14 Introduction and Overview of the Event
00:03:32 Challenges in Team Alignment and Collaboration with Git
00:08:51 Different History and the Problem of Merging
00:11:05 Challenges of Using Branches for Releases
00:17:50 Explaining the process of rebasing and setting aside work
00:18:42 Introduction to the Builtiverse and Change Event Timeline
00:20:11 Changes Made on Merge to Main
00:20:31 Git pull and Git pull rebase origin main explained
00:22:47 Force versus force with lease when pushing changes
00:25:42 Confusion with Git and the "Z" Key
00:27:07 Technical Difficulties with Screen Sharing
00:27:32 Understanding the Concept of Timelines and Branching
00:29:35 Merging Branches: The Tricky Mix and the Importance of Rebasing
00:31:21 Configuring Git Pull for Branch Changes
00:32:45 Making changes and pushing to remote GitHub
00:34:44 Pull rebase and force push for adding commitsShow More
I emphasize the importance of everyone working on the project having a local copy and sharing their changes against a remote repository, such as GitHub. We protect the main branch by not allowing direct pushes and instead require pull requests. This approach ensures knowledge sharing and understanding of the changes being made.
When someone else has made changes to the main branch that we do not have in our local branch, we use the "pull rebase" command to incorporate those changes. This sets aside our recent commits, pulls the missing commits, and then re-applies our changes onto our branch. However, since the commit IDs will not be the same, we need to force push our branch to the remote repository. This can be done using the "push force" command, or preferably "push force with lease" to avoid overwriting other changes made by colleagues.
Once our branch is up to date with the main branch, we can create a pull request to merge our changes into the main branch. This pull request will only include the difference between the two commits we made on our branch.
Chapters:
00:00:00 PSConfEU MiniCon 2023 - Collaborate through git. Getting started. - Gael Colas
00:00:14 Introduction and Overview of the Event
00:03:32 Challenges in Team Alignment and Collaboration with Git
00:08:51 Different History and the Problem of Merging
00:11:05 Challenges of Using Branches for Releases
00:17:50 Explaining the process of rebasing and setting aside work
00:18:42 Introduction to the Builtiverse and Change Event Timeline
00:20:11 Changes Made on Merge to Main
00:20:31 Git pull and Git pull rebase origin main explained
00:22:47 Force versus force with lease when pushing changes
00:25:42 Confusion with Git and the "Z" Key
00:27:07 Technical Difficulties with Screen Sharing
00:27:32 Understanding the Concept of Timelines and Branching
00:29:35 Merging Branches: The Tricky Mix and the Importance of Rebasing
00:31:21 Configuring Git Pull for Branch Changes
00:32:45 Making changes and pushing to remote GitHub
00:34:44 Pull rebase and force push for adding commitsShow More
PSConfEU MiniCon 2023 - From PowerShellGet to PSResourceGet: the breaking changes - Sydney Smith
Hello everyone, in today's session, we discussed the differences and ...
Hello everyone, in today's session, we discussed the differences and breaking changes in PS Resource Get and PowerShell Get. We started by introducing PS Resource Get, which is a rewrite ...of PowerShell Get and allows you to interact with the PowerShell gallery and other repositories. We explained that PowerShell Get v3 is now known as PS Resource Get and still exists as a compatibility layer.
We then delved into the breaking changes in PowerShell Get and PS Resource Get. One major change is the new module name, which is now "Install PS Resource" instead of "Install Module". We also made changes to the version parameter, combining minimum, maximum, and required versions into a single version string. We added a temporary path parameter and a Trust Repository switch for specifying repository trust. The "Allow Clobber" command was changed to "No Clobber" for module installations, and we introduced the option to skip dependency checks during installation.
Furthermore, we expanded repository support to include various repositories such as NuGet.org, NuGet.Server feeds, Azure Artifact v2 and v3, GitHub packages, Artifactory v2 and v3 feeds, mygit.org, and file share base repositories. We also introduced credential persistence, which allows users to specify credentials at registration time for the PS repository. This feature is integrated with the secret management module.
Moving on, we discussed some potential additions and changes in PowerShell 7.5, including credential persistence and required resources and required resource file support. We provided an example of what the hash table for required resources looks like and addressed questions and concerns from the chat.
We then talked about the transition from PowerShell Get to PS Resource Get, comparing the commandlet interfaces and demonstrating how to register different repository types. We also highlighted comprehensive documentation and a blog post that cover these topics in detail.
In the next part of the lecture, we discussed the PowerShell Gallery and psResourceRepository. We explained the properties that need to be specified when registering a repository, such as name, URI, and trust status. We introduced the concept of repository priorities and demonstrated how they work. We also talked about credential info and how it can be specified at registration time.
We briefly touched on the Microsoft PowerShell Secret Management module, which is dependent on credential persistence and provides a simple way to access secrets from different secret vaults. We mentioned the AZ Key Vault and Secret Store as examples of secret vaults.
Lastly, we demonstrated how to use Azure Key Vault to store credentials and access them for authentication. We also discussed the ability to save PS resource in a specific location using the "save PS resource" command and introduced the use of required resource files. We explained that these files allow for trusting specific installations without trusting the entire gallery. We concluded by mentioning the changes in package versioning and opening the floor for questions from the audience.
Chapters:
00:00:00 Introductions and session overview
00:02:32 Features and tabs in the PowerShell gallery for PS Resource Get
00:05:14 Transition from PowerShell Get v3 to PS Resource Get
00:08:01 Introduction to Breaking Changes and Module Name Change
00:10:20 Niche Parameters and Trust Repository Switch
00:14:19 Breaking Changes and Expanded Repository Support
00:15:08 Expanded Support for Various Repository Types
00:16:56 Required Resources and Required Resource File Support
00:18:42 Challenges with V3 and New Get Gallery Dependencies
00:19:49 Introduction to PowerShell module and command interface
00:22:41 Recommended blog post for detailed information and references
00:25:20 Examining properties of PSResourceRepositories and priorities
00:27:15 Module Registration and Muscle Memory Issues
00:28:30 Introduction to PowerShell Gantt and insta…Show More
We then delved into the breaking changes in PowerShell Get and PS Resource Get. One major change is the new module name, which is now "Install PS Resource" instead of "Install Module". We also made changes to the version parameter, combining minimum, maximum, and required versions into a single version string. We added a temporary path parameter and a Trust Repository switch for specifying repository trust. The "Allow Clobber" command was changed to "No Clobber" for module installations, and we introduced the option to skip dependency checks during installation.
Furthermore, we expanded repository support to include various repositories such as NuGet.org, NuGet.Server feeds, Azure Artifact v2 and v3, GitHub packages, Artifactory v2 and v3 feeds, mygit.org, and file share base repositories. We also introduced credential persistence, which allows users to specify credentials at registration time for the PS repository. This feature is integrated with the secret management module.
Moving on, we discussed some potential additions and changes in PowerShell 7.5, including credential persistence and required resources and required resource file support. We provided an example of what the hash table for required resources looks like and addressed questions and concerns from the chat.
We then talked about the transition from PowerShell Get to PS Resource Get, comparing the commandlet interfaces and demonstrating how to register different repository types. We also highlighted comprehensive documentation and a blog post that cover these topics in detail.
In the next part of the lecture, we discussed the PowerShell Gallery and psResourceRepository. We explained the properties that need to be specified when registering a repository, such as name, URI, and trust status. We introduced the concept of repository priorities and demonstrated how they work. We also talked about credential info and how it can be specified at registration time.
We briefly touched on the Microsoft PowerShell Secret Management module, which is dependent on credential persistence and provides a simple way to access secrets from different secret vaults. We mentioned the AZ Key Vault and Secret Store as examples of secret vaults.
Lastly, we demonstrated how to use Azure Key Vault to store credentials and access them for authentication. We also discussed the ability to save PS resource in a specific location using the "save PS resource" command and introduced the use of required resource files. We explained that these files allow for trusting specific installations without trusting the entire gallery. We concluded by mentioning the changes in package versioning and opening the floor for questions from the audience.
Chapters:
00:00:00 Introductions and session overview
00:02:32 Features and tabs in the PowerShell gallery for PS Resource Get
00:05:14 Transition from PowerShell Get v3 to PS Resource Get
00:08:01 Introduction to Breaking Changes and Module Name Change
00:10:20 Niche Parameters and Trust Repository Switch
00:14:19 Breaking Changes and Expanded Repository Support
00:15:08 Expanded Support for Various Repository Types
00:16:56 Required Resources and Required Resource File Support
00:18:42 Challenges with V3 and New Get Gallery Dependencies
00:19:49 Introduction to PowerShell module and command interface
00:22:41 Recommended blog post for detailed information and references
00:25:20 Examining properties of PSResourceRepositories and priorities
00:27:15 Module Registration and Muscle Memory Issues
00:28:30 Introduction to PowerShell Gantt and insta…Show More
PSConfEU MiniCon 2023 - DSCv3: Derusting the platform - Steve Lee
In this episode, I, Steve Lee, the Engineer Manager for PowerShell, ...
In this episode, I, Steve Lee, the Engineer Manager for PowerShell, OpenSSH on Windows, DSC, and other things, discuss the latest updates and future of Desired State Configuration (DSC) V3. ...I assume that the listeners have some experience with DSC, so I won't delve into the basics. DSC focuses on the resources side, making it easier to write resources while also supporting existing PowerShell script and class-based resources. We are transitioning from using MOF to using ARM templates, which allows for leveraging existing tooling. DSC is designed to be cross-platform, and I give a demo on my MacBook Pro. However, it's important to note that DSC is still in the alpha phase and not intended for production use. We work closely with partners within Microsoft, such as Azure machine config and Winget, to utilize DSC v3. Our roadmap includes reaching beta by the end of Q1 and aiming for general availability by mid-2024. Mikey is recognized for his excellent work in documenting V3 and improving the change log. We discuss different sections of the "get set and test" process, focusing on the new feature for input with tap completion options. We cover environmental variable input and its implementation in the example YAML file. We also mention the change from DSCv2 to DSCv3 in terms of the "underscore exists" property and touch on the "brew" resource and the "get UI" tool. We conclude with the discussion on the transition to correct versions for future releases, showcasing examples and explaining their states and uninstallation. I also explain the script structure and its usage in running commands, as well as the benefits of using YAML over JSON. We discuss the switch from DCX to Rust, the upcoming PR implementing expressions in ARM templates, and the PR optimizing PowerShell discovery. We call for action, urging users to provide feedback on the DC resource authoring side. We invite users to engage in resource development, explore configuration challenges, and suggest improvements. We are actively developing the project, with a beta version planned for the end of March or Q1 of the next year. We welcome comments and suggestions on GitHub and emphasize that we are working in collaboration with Ansible, Chef, and Puppet rather than competing with them. We acknowledge the challenges of collaboration in the DMTF and appreciate the effort put into documenting JSON schemas. For further inquiries, reach out to us on Twitter or open issues on GitHub. Thank you for attending this episode.
Chapters:
00:00:00 PSConfEU MiniCon 2023 - DSCv3: Derusting the platform - Steve Lee
00:00:21 Introducing PowerShell Engineer Manager and today's focus
00:02:42 Moving away from MOF to ARM for configuration syntax
00:03:28 Cross-platform Development with DEC
00:07:04 Working with Partners and Roadmap for the Future
00:13:51 Introduction to Sections for Get, Set, and Test
00:16:03 Setting Environment Variables for the New Process
00:19:12 Dependency on Assertion Group for OS Compatibility
00:20:43 Setting up the correct versions for future releases
00:26:11 Setting the environment for package management
00:28:33 Handling set command and installing/uninstalling packages
00:32:22 Developing Assertion Resources
00:34:52 DSC Written in Rust for Cross-Platform Accessibility
00:41:34 Introducing the current state of DCV
00:44:58 Call-to-Action: Join the Discussion on Design Elements
00:45:53 Introduction and Overview of the Project
00:47:00 Open for Questions and Discussions
00:47:20 DSC's Goal: Collaboration with Azure and Integration with Partners
00:47:45 DCv3: Writing Resources for VersatilityShow More
Chapters:
00:00:00 PSConfEU MiniCon 2023 - DSCv3: Derusting the platform - Steve Lee
00:00:21 Introducing PowerShell Engineer Manager and today's focus
00:02:42 Moving away from MOF to ARM for configuration syntax
00:03:28 Cross-platform Development with DEC
00:07:04 Working with Partners and Roadmap for the Future
00:13:51 Introduction to Sections for Get, Set, and Test
00:16:03 Setting Environment Variables for the New Process
00:19:12 Dependency on Assertion Group for OS Compatibility
00:20:43 Setting up the correct versions for future releases
00:26:11 Setting the environment for package management
00:28:33 Handling set command and installing/uninstalling packages
00:32:22 Developing Assertion Resources
00:34:52 DSC Written in Rust for Cross-Platform Accessibility
00:41:34 Introducing the current state of DCV
00:44:58 Call-to-Action: Join the Discussion on Design Elements
00:45:53 Introduction and Overview of the Project
00:47:00 Open for Questions and Discussions
00:47:20 DSC's Goal: Collaboration with Azure and Integration with Partners
00:47:45 DCv3: Writing Resources for VersatilityShow More
Watch all recordings from PSConfEU 2023 – Prague
PSConfEU 2023 - Aftermovie
PSConfEU 2023 - Aftermovie
PSConfEU 2023 - A first look at the venue
Meet the hosts: Interview with Jakub Jareš - Jakub Jareš, Thorsten Butz - PSConfEU 2023
## Curated subtitles This video offers hand-crafted subtitles in ...
## Curated subtitles
This video offers hand-crafted subtitles in English
## Summary
In this episode, we are at the PowerShell Conference 2023 in Prague, and we have a special guest with us, ...Jakub Jareš. Jakub is a local citizen and one of the organizers of this event.
Jakub has been living in Prague for a long time and has a deep love for the city. He feels privileged to have people visit the Czech Republic and experience its unique culture. Growing the IT community, especially the PowerShell community, in the Czech Republic has been a challenge.
As for Prague, Jakub recommends visiting the Vrtba Garden, which offers a stunning view of the castle. It's often overlooked by tourists but is definitely worth a visit:
https://en.wikipedia.org/wiki/Vrtba_GardenShow More
This video offers hand-crafted subtitles in English
## Summary
In this episode, we are at the PowerShell Conference 2023 in Prague, and we have a special guest with us, ...Jakub Jareš. Jakub is a local citizen and one of the organizers of this event.
Jakub has been living in Prague for a long time and has a deep love for the city. He feels privileged to have people visit the Czech Republic and experience its unique culture. Growing the IT community, especially the PowerShell community, in the Czech Republic has been a challenge.
As for Prague, Jakub recommends visiting the Vrtba Garden, which offers a stunning view of the castle. It's often overlooked by tourists but is definitely worth a visit:
https://en.wikipedia.org/wiki/Vrtba_GardenShow More
Meet the hosts: Interview with Gael Colas - Gael Colas, Thorsten Butz - PSConfEU 2023
In this episode of our podcast/show, I have a conversation with Gail, ...
In this episode of our podcast/show, I have a conversation with Gail, the second-year organizer of the PowerShare Conference. Gail shares her experience organizing the conference in Vienna last year ...and the lessons she learned. She also explains the challenges of organizing the event in a foreign country, which led to the decision to change the location from Hannover to Vienna and now to Prague.
Gail mentions that organizing the conference in her home country was not practical and that changing the location gives the opportunity for local people to contribute and help with the event. She highlights the support they received from Jakub, a local resident who provided information about Prague and its attractions. Gail reflects on the success of the Vienna conference and the desire of attendees to see something new each year.
We discuss what to expect from this year's conference in Prague. Gail mentions that while the format remains the same, there are new speakers, venues, catering, and events. She acknowledges that selecting the content for the conference is challenging and relies on a team of organizers to ensure diverse and interesting sessions.
The conversation touches on the feedback received from delegates and how it is interpreted. Gail gives an example of the challenges of selecting the catering and the varying opinions on the quality of the food. She acknowledges the feedback about the desire for more hands-on workshops and reveals that they are piloting a new content format called follow-alongs, where attendees can actively participate and learn alongside the speaker.
Gail shares her personal preferences for session topics, including desired state configuration (DSC) and new technologies. She encourages attendees to explore various expertise areas and interact with the speakers. She mentions specific sessions, such as a deep dive on managing dependencies in PowerShell, and highlights the recordings of sessions for attendees to review later.
We discuss the balance between planning in advance and staying up to date with the rapidly changing landscape of technology. Gail mentions the advancements in PowerShell, particularly in PowerShell 6, 7, and PowerShell Core. She recommends checking out the PowerShell team's blog post for insights into their direction and investment plans.
In conclusion, I thank Gail for her insights and invite listeners to follow the conference on LinkedIn for updates and information. I provide details about the conference schedule, call for papers, submission deadlines, and decision timelines. I mention the upcoming Minicorn event and express excitement about the opportunity to meet people and create meaningful experiences. Finally, I thank Gail once again and wish everyone a great time at the conference.
Chapters:
00:00:00 Meet the hosts: Interview with Gael Colas - Gael Colas, Thorsten Butz - PSConfEU 2023
00:00:08 Introduction and Experience with the First Conference
00:01:23 Challenges of Organizing in a Foreign Country
00:02:15 Changing Countries and Local Help
00:03:54 New Venue and Format for the Conference
00:07:32 Collecting Feedback and Introducing Hands-on Follow-alongs
00:14:08 AI's Impact on Regular Expressions and Enigma Sessions
00:15:02 The Evolution of PowerShell and its Future Direction
00:16:43 Important Updates and Deadlines for the Conference AttendeesShow More
Gail mentions that organizing the conference in her home country was not practical and that changing the location gives the opportunity for local people to contribute and help with the event. She highlights the support they received from Jakub, a local resident who provided information about Prague and its attractions. Gail reflects on the success of the Vienna conference and the desire of attendees to see something new each year.
We discuss what to expect from this year's conference in Prague. Gail mentions that while the format remains the same, there are new speakers, venues, catering, and events. She acknowledges that selecting the content for the conference is challenging and relies on a team of organizers to ensure diverse and interesting sessions.
The conversation touches on the feedback received from delegates and how it is interpreted. Gail gives an example of the challenges of selecting the catering and the varying opinions on the quality of the food. She acknowledges the feedback about the desire for more hands-on workshops and reveals that they are piloting a new content format called follow-alongs, where attendees can actively participate and learn alongside the speaker.
Gail shares her personal preferences for session topics, including desired state configuration (DSC) and new technologies. She encourages attendees to explore various expertise areas and interact with the speakers. She mentions specific sessions, such as a deep dive on managing dependencies in PowerShell, and highlights the recordings of sessions for attendees to review later.
We discuss the balance between planning in advance and staying up to date with the rapidly changing landscape of technology. Gail mentions the advancements in PowerShell, particularly in PowerShell 6, 7, and PowerShell Core. She recommends checking out the PowerShell team's blog post for insights into their direction and investment plans.
In conclusion, I thank Gail for her insights and invite listeners to follow the conference on LinkedIn for updates and information. I provide details about the conference schedule, call for papers, submission deadlines, and decision timelines. I mention the upcoming Minicorn event and express excitement about the opportunity to meet people and create meaningful experiences. Finally, I thank Gail once again and wish everyone a great time at the conference.
Chapters:
00:00:00 Meet the hosts: Interview with Gael Colas - Gael Colas, Thorsten Butz - PSConfEU 2023
00:00:08 Introduction and Experience with the First Conference
00:01:23 Challenges of Organizing in a Foreign Country
00:02:15 Changing Countries and Local Help
00:03:54 New Venue and Format for the Conference
00:07:32 Collecting Feedback and Introducing Hands-on Follow-alongs
00:14:08 AI's Impact on Regular Expressions and Enigma Sessions
00:15:02 The Evolution of PowerShell and its Future Direction
00:16:43 Important Updates and Deadlines for the Conference AttendeesShow More
May the debugger be with you - Manfred Wallner - PSConfEU 2023
We are diving into the world of debugging in Visual Studio Code (VS ...
We are diving into the world of debugging in Visual Studio Code (VS Code). We begin by discussing the importance of debugging and how it is not just about troubleshooting ...existing programs, but also about investigating and ensuring code works as intended during the development process. We then introduce the debugging tools in VS Code and explain that debuggers can be CLI-based or integrated into the IDE.
To demonstrate the debugging process, we use an example of a zero-player adventure game with some misbehaving code. We take a quick look at the code, discussing its three parts and explaining how it handles the available characters, checks if players are allowed to play, and prints out the active players.
Next, we dive into the practical part and demonstrate how to use the F5 key or the debugging symbol in the sidebar to launch the current file and start debugging. We explain the different options in the tools palette, such as stepping over, stepping into, stepping out, continuing the program, restarting, and stopping. We also highlight the debugging view in VS Code, which includes the breakpoint section, variable section, and watch window. We explain how to use the watch window to evaluate expressions and gather more information.
As we step through the code, we encounter various issues and bugs. We discuss how to fix these bugs, refactoring the code and paying attention to variables' states. We also highlight the importance of resetting the PowerShell session when debugging multiple scripts and mention an experimental feature in VS Code that allows for the creation of a new PowerShell session when starting the debugger. We emphasize the need to restart the PowerShell session in the integrated terminal and the importance of considering variables and session states from previous debugging sessions.
In the final part of the episode, we focus on the different views available in VS Code for debugging purposes. We discuss the variable view, watch window, call stack view, and breakpoint view, explaining their functionalities and how they can aid in the debugging process. We also discuss different ways to launch the debugger depending on specific needs, such as running a current script, attaching to a running process on a remote machine, or using the interactive session. We mention keyboard shortcuts for navigation and introduce a game called Maze Loot to further illustrate the debugging process.
In total, we cover topics such as debugging tools in VS Code, practical demonstrations, bug fixing, resetting PowerShell sessions, views for debugging, launching the debugger, and debugging multi-run level code. We also address common questions from the audience about debugging scripts on machines without VS Code and setting conditional breakpoints.
Chapters:
00:00:00 may the debugger be with you - Manfred Wallner - PSConfEU 2023
00:00:07 Introduction to partial debugging in VS Code
00:03:41 Different types of debugging tools and approaches explained
00:08:15 Setting breakpoints and stepping through the code for inspection
00:10:25 Utilizing the debugging view and variable inspection in VS Code
00:13:12 Stepping into the For Each Object Block and Debugging
00:21:13 Debugging in VS Code: Partial Session State
00:23:26 Launching the Debugger: Default Configuration and Interactive Session
00:25:24 Introduction to Maze Loot game module
00:26:17 Importing the Maze Loot module
00:26:47 Introduction to Maze Loot Game and available items
00:35:17 Exploring the Game Engine and Player Run Spaces
00:38:09 Changing Execution Order when Debugging Multi-Run Level Code
00:40:23 Attaching to the first run space for debugging.
00:41:32 Exploring Runspaces and Player's Threads
00:43:35 Using Call Stack View for Execution Threads
00:46:05 Debugging PowerShell scripts in PowerShell ISE
00:47:20 Conditional Breakpoints: Stopping Inside a Program on a ConditionShow More
To demonstrate the debugging process, we use an example of a zero-player adventure game with some misbehaving code. We take a quick look at the code, discussing its three parts and explaining how it handles the available characters, checks if players are allowed to play, and prints out the active players.
Next, we dive into the practical part and demonstrate how to use the F5 key or the debugging symbol in the sidebar to launch the current file and start debugging. We explain the different options in the tools palette, such as stepping over, stepping into, stepping out, continuing the program, restarting, and stopping. We also highlight the debugging view in VS Code, which includes the breakpoint section, variable section, and watch window. We explain how to use the watch window to evaluate expressions and gather more information.
As we step through the code, we encounter various issues and bugs. We discuss how to fix these bugs, refactoring the code and paying attention to variables' states. We also highlight the importance of resetting the PowerShell session when debugging multiple scripts and mention an experimental feature in VS Code that allows for the creation of a new PowerShell session when starting the debugger. We emphasize the need to restart the PowerShell session in the integrated terminal and the importance of considering variables and session states from previous debugging sessions.
In the final part of the episode, we focus on the different views available in VS Code for debugging purposes. We discuss the variable view, watch window, call stack view, and breakpoint view, explaining their functionalities and how they can aid in the debugging process. We also discuss different ways to launch the debugger depending on specific needs, such as running a current script, attaching to a running process on a remote machine, or using the interactive session. We mention keyboard shortcuts for navigation and introduce a game called Maze Loot to further illustrate the debugging process.
In total, we cover topics such as debugging tools in VS Code, practical demonstrations, bug fixing, resetting PowerShell sessions, views for debugging, launching the debugger, and debugging multi-run level code. We also address common questions from the audience about debugging scripts on machines without VS Code and setting conditional breakpoints.
Chapters:
00:00:00 may the debugger be with you - Manfred Wallner - PSConfEU 2023
00:00:07 Introduction to partial debugging in VS Code
00:03:41 Different types of debugging tools and approaches explained
00:08:15 Setting breakpoints and stepping through the code for inspection
00:10:25 Utilizing the debugging view and variable inspection in VS Code
00:13:12 Stepping into the For Each Object Block and Debugging
00:21:13 Debugging in VS Code: Partial Session State
00:23:26 Launching the Debugger: Default Configuration and Interactive Session
00:25:24 Introduction to Maze Loot game module
00:26:17 Importing the Maze Loot module
00:26:47 Introduction to Maze Loot Game and available items
00:35:17 Exploring the Game Engine and Player Run Spaces
00:38:09 Changing Execution Order when Debugging Multi-Run Level Code
00:40:23 Attaching to the first run space for debugging.
00:41:32 Exploring Runspaces and Player's Threads
00:43:35 Using Call Stack View for Execution Threads
00:46:05 Debugging PowerShell scripts in PowerShell ISE
00:47:20 Conditional Breakpoints: Stopping Inside a Program on a ConditionShow More
Parameterbinding 400+ - Friedrich Weinmann - PSConfEU 2023
We dive into the conversion logic and trace inspection of a function ...
We dive into the conversion logic and trace inspection of a function in PowerShell. We explore how the trace can be used to identify custom transformation rules in PowerShell argument ...transformation. A common issue that arises is the inability to convert an object thread of type thread to another thread, particularly when using PowerShell classes. While PowerShell classes are convenient for creating objects without needing to learn C sharp, defining a new class can sometimes cause issues with object types. This occurs because PowerShell generates in-memory assemblies and assigns dynamically calculated names to classes. As a result, when reimporting a module, the object may no longer be the same type, even if the properties are identical. To address this issue, the PS framework provides an argument transformation attribute that can handle the conversion. We wrap up the session by inviting questions from the audience and expressing gratitude for their participation.
Chapters:
00:00:00 Parameterbinding 400+ - Friedrich Weinmann - PSConfEU 2023
00:00:07 Introduction and Acknowledgements
00:02:04 Transition to Code Analysis
00:03:16 Understanding parameter precedence and types in PowerShell
00:05:09 Exploring parameter binding with example commands
00:14:13 Troubleshooting: When Things Don't Work as Expected
00:15:09 Introduction: Navigating Through Screen Dump Challenges
00:17:09 Investigating Positional Parameters and their Values
00:17:30 Understanding Parameter Binding in PowerShell
00:19:28 Splatting: A Powerful PowerShell Technique
00:23:08 Pipeline Binding: Supporting input without providing it
00:25:23 Introduction to Steppable Pipelines
00:25:44 Problem with slow export CSV command
00:28:37 Improved file processing with steppable pipelines
00:31:27 Binding multiple values from pipeline and its performance impact
00:35:33 PowerShell Parameter Binding and Disk Part
00:40:07 Custom Transformation in PowerShell
00:42:04 Common Issue: Cannot Convert Object to TypeShow More
Chapters:
00:00:00 Parameterbinding 400+ - Friedrich Weinmann - PSConfEU 2023
00:00:07 Introduction and Acknowledgements
00:02:04 Transition to Code Analysis
00:03:16 Understanding parameter precedence and types in PowerShell
00:05:09 Exploring parameter binding with example commands
00:14:13 Troubleshooting: When Things Don't Work as Expected
00:15:09 Introduction: Navigating Through Screen Dump Challenges
00:17:09 Investigating Positional Parameters and their Values
00:17:30 Understanding Parameter Binding in PowerShell
00:19:28 Splatting: A Powerful PowerShell Technique
00:23:08 Pipeline Binding: Supporting input without providing it
00:25:23 Introduction to Steppable Pipelines
00:25:44 Problem with slow export CSV command
00:28:37 Improved file processing with steppable pipelines
00:31:27 Binding multiple values from pipeline and its performance impact
00:35:33 PowerShell Parameter Binding and Disk Part
00:40:07 Custom Transformation in PowerShell
00:42:04 Common Issue: Cannot Convert Object to TypeShow More
Every Repository Needs a DevContainer - April Edwards - PSConfEU 2023
April Edwards, a senior developer advocate at GitHub, takes the role ...
April Edwards, a senior developer advocate at GitHub, takes the role of the main speaker. April introduces herself as a DevOps practice lead and mentions her recent move to GitHub ...from Microsoft. She also introduces her best friend, Titan, a Great Dane, who helps her write code.
April starts off by expressing gratitude to the sponsors of the podcast, including Chocolaty, Centino, ScriptRunner, and PatchMyPC. She then highlights the evolution of GitHub from being just a source control to becoming a comprehensive platform. April engages the audience by asking how many of them have never used GitHub and dives into the concept of shifting left in development and the significance of the developer experience.
The conversation shifts towards discussing the challenges of working with different devices and configurations while using source control. April shares her personal experience of using Windows devices in a predominantly Mac user team at both Microsoft and GitHub. She emphasizes the benefits of source control and how GitHub has expanded into an end-to-end platform.
April explains the concept of treating resources as code and urges developers to embrace open source practices, moving away from hoarding code and instead focusing on collaboration and sharing. She introduces the audience to Git projects and inquires about their usage of GitHub and dev containers in their projects.
The main speaker then delves into the importance of code in projects and emphasizes the use of gitignore files to exclude specific files from syncing. She advocates for working off of branches instead of the main branch to avoid any disruption in the production process. April discusses the significance of making commits and collaborating through pull requests. She introduces GitHub projects as a means of enhancing documentation and breaking down silos within organizations. Additionally, she mentions Codespaces and DevContainers as useful tools for developers to work in a containerized environment, enabling redundancy and recovery.
Moving forward, the speaker explains the history of physical machines, virtualization, and the cloud, highlighting how containerization optimizes application running efficiency. She emphasizes the portability of containerized applications and the advantage of abstracting the machine. April specifically focuses on DevContainers in Visual Studio Code, which offer developers a containerized environment for running source code.
The conversation then shifts to setting up a code space and the necessary files required to build a containerized environment. The speaker explains the devcontainer.json file, which acts as the configuration file, and the Dockerfile, which contains instructions for building the container.
April proceeds to discuss GitHub Codespaces, which were previously known as Visual Studio Codespaces. She explains that these code spaces are hosted in Azure and provide a pre-built containerized environment, eliminating the risk of contractors taking code with them. Code spaces enhance collaboration among team members using different devices by creating a dev container within the repository.
The speaker emphasizes the time-saving aspect of using code spaces, as developers can work in a pre-configured environment without the need to build a container from scratch. She mentions the integration of AI in code spaces for tasks like documentation and highlights the secure nature of code spaces, especially when working on personal or sensitive devices.
April emphasizes that code spaces empower developers to be more productive and demonstrates the setup and configuration process. She mentions the availability of templates, including one for Jupyter Notebooks. The speaker discusses the synchronization of necessary extensions and tools between VS Code and the code space, as well as the sample notebooks and files available in the Jupyter workspace.
The main speaker elaborates on the DevContainer.json…Show More
April starts off by expressing gratitude to the sponsors of the podcast, including Chocolaty, Centino, ScriptRunner, and PatchMyPC. She then highlights the evolution of GitHub from being just a source control to becoming a comprehensive platform. April engages the audience by asking how many of them have never used GitHub and dives into the concept of shifting left in development and the significance of the developer experience.
The conversation shifts towards discussing the challenges of working with different devices and configurations while using source control. April shares her personal experience of using Windows devices in a predominantly Mac user team at both Microsoft and GitHub. She emphasizes the benefits of source control and how GitHub has expanded into an end-to-end platform.
April explains the concept of treating resources as code and urges developers to embrace open source practices, moving away from hoarding code and instead focusing on collaboration and sharing. She introduces the audience to Git projects and inquires about their usage of GitHub and dev containers in their projects.
The main speaker then delves into the importance of code in projects and emphasizes the use of gitignore files to exclude specific files from syncing. She advocates for working off of branches instead of the main branch to avoid any disruption in the production process. April discusses the significance of making commits and collaborating through pull requests. She introduces GitHub projects as a means of enhancing documentation and breaking down silos within organizations. Additionally, she mentions Codespaces and DevContainers as useful tools for developers to work in a containerized environment, enabling redundancy and recovery.
Moving forward, the speaker explains the history of physical machines, virtualization, and the cloud, highlighting how containerization optimizes application running efficiency. She emphasizes the portability of containerized applications and the advantage of abstracting the machine. April specifically focuses on DevContainers in Visual Studio Code, which offer developers a containerized environment for running source code.
The conversation then shifts to setting up a code space and the necessary files required to build a containerized environment. The speaker explains the devcontainer.json file, which acts as the configuration file, and the Dockerfile, which contains instructions for building the container.
April proceeds to discuss GitHub Codespaces, which were previously known as Visual Studio Codespaces. She explains that these code spaces are hosted in Azure and provide a pre-built containerized environment, eliminating the risk of contractors taking code with them. Code spaces enhance collaboration among team members using different devices by creating a dev container within the repository.
The speaker emphasizes the time-saving aspect of using code spaces, as developers can work in a pre-configured environment without the need to build a container from scratch. She mentions the integration of AI in code spaces for tasks like documentation and highlights the secure nature of code spaces, especially when working on personal or sensitive devices.
April emphasizes that code spaces empower developers to be more productive and demonstrates the setup and configuration process. She mentions the availability of templates, including one for Jupyter Notebooks. The speaker discusses the synchronization of necessary extensions and tools between VS Code and the code space, as well as the sample notebooks and files available in the Jupyter workspace.
The main speaker elaborates on the DevContainer.json…Show More
What’s new with PowerShell Repositories - Sydney Smith - PSConfEU 2023
Sydney, one of the PMs on the PowerShell team, discusses the ...
Sydney, one of the PMs on the PowerShell team, discusses the PowerShell Get V3 project. This project has been in the works for the past three or four years and ...is a new set of cmdlets that revolutionizes module installation. Sydney begins by thanking the audience for their support and feedback throughout the project.
Sydney then goes on to define some key terms. PowerShell Get has different versions, V1 and V2, with V1 being the current version that ships with Windows and V2 being the latest stable version available with PowerShell 7. PowerShell Get V3, also known as PSResourceGet, is the focus of this discussion. It serves as a compatibility layer and allows users to use the familiar syntax of V2 while still utilizing the advanced features of PSResourceGet.
Throughout the episode, Sydney provides updates on the progress of the PowerShell Git project. They mention that in the past year, they have been working on rebuilding the APIs to improve performance, add telemetry calls, and have cleaner code. They faced challenges in building separate APIs for different repository types and had to make tough decisions regarding feature support. Testing was another significant aspect, and they are actively working with partner teams to ensure proper support. Despite the challenges, Sydney emphasizes the team's commitment to delivering the best PowerShell Git experience possible.
Sydney also covers various repository types supported by PowerShell Git, such as NuGet feeds, ADO public and private feeds, Artifactory, GitHub packages, MyGet, and local file-based feeds. They mention a credential persistence feature that integrates with Secret Management and demonstrate how to register and use different repositories, including local, NuGet gallery, and Azure Artifacts feeds.
The episode also touches on creating private feeds using Azure DevOps and setting up a secret store for storing credentials. Sydney provides step-by-step instructions and highlights some nuances for specific repository types like GitHub packages. They apologize for running out of time and not being able to demonstrate Artifactory, but mention that the process is similar to other repositories.
In conclusion, Sydney thanks the audience for attending the session and offers to answer any questions they may have. They also provide additional resources for documentation, examples, and feedback.
Chapters:
00:00:00 What’s new with PowerShell Repositories - Sydney Smith - PSConfEU 2023
00:00:07 Introduction to the PowerShell Get V3 project
00:03:05 Explanation of key terms: PowerShell Get V1, V2, and V3
00:07:35 Discussion about previous use of betas
00:07:47 Changes in beta version affecting repository registration
00:18:20 Motivation for building different API feeds
00:20:13 Difficulty in handling response format variations and dependencies
00:22:41 Officially Supported v3 Feeds
00:23:33 Introduction to Probit Modeling
00:23:45 Introduction to Credential Persistence Feature
00:25:15 Focus on Security and Reliability of PowerShell Gallery
00:27:38 Team-Wide Bug Bash and Plans for Public Bug Bash
00:29:03 Setting Up and Registering Different Repositories
00:30:27 Switching to List View in History Predictor
00:32:25 Introduction to NuGet gallery and timely blog post
00:34:29 Warning message on package dependencies and future improvements
00:37:43 GitHub packages setup and finding packages
00:44:14 Additional resources and conclusionShow More
Sydney then goes on to define some key terms. PowerShell Get has different versions, V1 and V2, with V1 being the current version that ships with Windows and V2 being the latest stable version available with PowerShell 7. PowerShell Get V3, also known as PSResourceGet, is the focus of this discussion. It serves as a compatibility layer and allows users to use the familiar syntax of V2 while still utilizing the advanced features of PSResourceGet.
Throughout the episode, Sydney provides updates on the progress of the PowerShell Git project. They mention that in the past year, they have been working on rebuilding the APIs to improve performance, add telemetry calls, and have cleaner code. They faced challenges in building separate APIs for different repository types and had to make tough decisions regarding feature support. Testing was another significant aspect, and they are actively working with partner teams to ensure proper support. Despite the challenges, Sydney emphasizes the team's commitment to delivering the best PowerShell Git experience possible.
Sydney also covers various repository types supported by PowerShell Git, such as NuGet feeds, ADO public and private feeds, Artifactory, GitHub packages, MyGet, and local file-based feeds. They mention a credential persistence feature that integrates with Secret Management and demonstrate how to register and use different repositories, including local, NuGet gallery, and Azure Artifacts feeds.
The episode also touches on creating private feeds using Azure DevOps and setting up a secret store for storing credentials. Sydney provides step-by-step instructions and highlights some nuances for specific repository types like GitHub packages. They apologize for running out of time and not being able to demonstrate Artifactory, but mention that the process is similar to other repositories.
In conclusion, Sydney thanks the audience for attending the session and offers to answer any questions they may have. They also provide additional resources for documentation, examples, and feedback.
Chapters:
00:00:00 What’s new with PowerShell Repositories - Sydney Smith - PSConfEU 2023
00:00:07 Introduction to the PowerShell Get V3 project
00:03:05 Explanation of key terms: PowerShell Get V1, V2, and V3
00:07:35 Discussion about previous use of betas
00:07:47 Changes in beta version affecting repository registration
00:18:20 Motivation for building different API feeds
00:20:13 Difficulty in handling response format variations and dependencies
00:22:41 Officially Supported v3 Feeds
00:23:33 Introduction to Probit Modeling
00:23:45 Introduction to Credential Persistence Feature
00:25:15 Focus on Security and Reliability of PowerShell Gallery
00:27:38 Team-Wide Bug Bash and Plans for Public Bug Bash
00:29:03 Setting Up and Registering Different Repositories
00:30:27 Switching to List View in History Predictor
00:32:25 Introduction to NuGet gallery and timely blog post
00:34:29 Warning message on package dependencies and future improvements
00:37:43 GitHub packages setup and finding packages
00:44:14 Additional resources and conclusionShow More
Watch all recordings from PSConfEU MiniCon 2022
What's new in PowerShell 7 - Steve Lee
As we get closer to a release candidate for PowerShell 7.3, learn about the new capabilities and features in PowerShell 7 to be more productive.Principal Software Engineer Manager for the ...PowerShell Team delivering PowerShell 7, VSCode-PowerShell extension, PSEditorServices, PSScriptAnalyzer, PowerShellGallery, PowerShellGet, PowerShell dotnet-interactive Jupyter sub-kernel, Win32 OpenSSH, etc...
Notes from Steve Lee:
If you watch my session, I was getting $LASTEXITCODE being -1 during my demo, when it should have been 2. Turns out it was due to my profile calling `git` to show a custom prompt. So the lesson is to use `-noprofile` for demos 🙂Show More
What's new in PowerShell 7 - Steve Lee
As we get closer to a release candidate for PowerShell 7.3, learn ...
As we get closer to a release candidate for PowerShell 7.3, learn about the new capabilities and features in PowerShell 7 to be more productive.
Principal Software Engineer Manager for the ...PowerShell Team delivering PowerShell 7, VSCode-PowerShell extension, PSEditorServices, PSScriptAnalyzer, PowerShellGallery, PowerShellGet, PowerShell dotnet-interactive Jupyter sub-kernel, Win32 OpenSSH, etc...
Notes from Steve Lee:
If you watch my session, I was getting $LASTEXITCODE being -1 during my demo, when it should have been 2. Turns out it was due to my profile calling `git` to show a custom prompt. So the lesson is to use `-noprofile` for demos 🙂Show More
Principal Software Engineer Manager for the ...PowerShell Team delivering PowerShell 7, VSCode-PowerShell extension, PSEditorServices, PSScriptAnalyzer, PowerShellGallery, PowerShellGet, PowerShell dotnet-interactive Jupyter sub-kernel, Win32 OpenSSH, etc...
Notes from Steve Lee:
If you watch my session, I was getting $LASTEXITCODE being -1 during my demo, when it should have been 2. Turns out it was due to my profile calling `git` to show a custom prompt. So the lesson is to use `-noprofile` for demos 🙂Show More
Updating dbachecks to use Pester v5 using devcontainers and Profiler- Rob Sewell - PSCONFEU-MINICON
It was time that dbachecks was updated to use the latest version of ...
It was time that dbachecks was updated to use the latest version of Pester.
We also decided to improve the performance as we updated and to use dev containers to ensure ...the development environment was the same for everyone.
Let's take a look at somelessons we learnt and some of the tactics we used
Rob Sewell
Be-Whiskered Maker of Things
Microsoft MVP (verified)
Rob was a SQL Server DBA with a passion for PowerShell, Azure, Automation, and SQL (PaaS geddit?). Now he just helps people make things. He is a Cloud and Data Center MVP and a Data Platform MVP, co-leader of Data South West UK User Group and PSConf EU organiser and has spoken at and volunteered at many Data and PowerShell events all over the world. He is a proud supporter of the Data and PowerShell communities.
He relishes sharing and learning and can be found doing both via Twitter and his blog. He spends most of his time looking at a screen and loves to solve problems. He knows that looking at a screen so much is bad for him because his wife tells him so. Thus, he is often out riding his bike as his eyes are not good enough to play cricket any more
He has a fabulous beardShow More
We also decided to improve the performance as we updated and to use dev containers to ensure ...the development environment was the same for everyone.
Let's take a look at somelessons we learnt and some of the tactics we used
Rob Sewell
Be-Whiskered Maker of Things
Microsoft MVP (verified)
Rob was a SQL Server DBA with a passion for PowerShell, Azure, Automation, and SQL (PaaS geddit?). Now he just helps people make things. He is a Cloud and Data Center MVP and a Data Platform MVP, co-leader of Data South West UK User Group and PSConf EU organiser and has spoken at and volunteered at many Data and PowerShell events all over the world. He is a proud supporter of the Data and PowerShell communities.
He relishes sharing and learning and can be found doing both via Twitter and his blog. He spends most of his time looking at a screen and loves to solve problems. He knows that looking at a screen so much is bad for him because his wife tells him so. Thus, he is often out riding his bike as his eyes are not good enough to play cricket any more
He has a fabulous beardShow More
PowerShell Predictors Continued -Michael Greene and Steven Bucher
During PSConfEU 2022 [Steven showed the PowerShell predictors and some ...
During PSConfEU 2022 [Steven showed the PowerShell predictors and some of the ones avaiable such as the historical predictors, plugin, completion](https://www.youtube.com/watch?v=Q-hWc8dDwOE&list=PLDCEho7foSopV1zizsSn8s4PR5g6IvPlE&index=36&ab_channel=PowerShellConferenceEU).
This session is intended to focus on insights and progression, ...not "product demos".
Michael and Steven will cover:
- Why should you care?
- Predictors, Completers, and more
- Completers in PS functions
- Public POC on NL and scripting
- CoPilot and PowerShell
- Current plans
Steven Bucher
Product Manager
Product Manager on PowerShell team focused on supporting tooling around PowerShell, Predictors, and telemetry!
Michael Greene
Principal Group Program Manager, Command Line and PowerShell, Microsoft
Microsoft Principal Group Program Manager focused on PowerShell and command line experiences for Azure cloud. Previously, I worked on Azure Guest Configuration, PowerShell Desired State Configuration, was a member of the Windows Server CAT team focused on PowerShell, and I was a PM and a Service Engineer in Office 365.
Before moving to engineering, I was the nationwide technical sales person for Windows Server in Education.Show More
This session is intended to focus on insights and progression, ...not "product demos".
Michael and Steven will cover:
- Why should you care?
- Predictors, Completers, and more
- Completers in PS functions
- Public POC on NL and scripting
- CoPilot and PowerShell
- Current plans
Steven Bucher
Product Manager
Product Manager on PowerShell team focused on supporting tooling around PowerShell, Predictors, and telemetry!
Michael Greene
Principal Group Program Manager, Command Line and PowerShell, Microsoft
Microsoft Principal Group Program Manager focused on PowerShell and command line experiences for Azure cloud. Previously, I worked on Azure Guest Configuration, PowerShell Desired State Configuration, was a member of the Windows Server CAT team focused on PowerShell, and I was a PM and a Service Engineer in Office 365.
Before moving to engineering, I was the nationwide technical sales person for Windows Server in Education.Show More
Generic Data Types for People in a Hurry! - Mathias Jessen
The .NET base class library affords PowerShell users with an array of ...
The .NET base class library affords PowerShell users with an array of "archetypal" collection types: multiple kinds of Lists, Stacks, Sets, Dictionaries and so on. But why are there so ...many, what are they good for, and how do you use them?
I'll take the audience on a quick historical tour of fundamental data types in the context of computers, after which we'll examine the different types and their characteristica from inside PowerShell - exploring what kinds of problems each of the solve well, how to pick appropriate type constraints, and how to profile them for performance.
Mathias R. Jessen
Booking.com B.V
PowerShell Afficionado, Security Professional and PizzaphileShow More
I'll take the audience on a quick historical tour of fundamental data types in the context of computers, after which we'll examine the different types and their characteristica from inside PowerShell - exploring what kinds of problems each of the solve well, how to pick appropriate type constraints, and how to profile them for performance.
Mathias R. Jessen
Booking.com B.V
PowerShell Afficionado, Security Professional and PizzaphileShow More
Using REST APIs via PowerShell - Guy Leech
Whilst many PowerShell modules and SDKs are an alternative to calling ...
Whilst many PowerShell modules and SDKs are an alternative to calling REST APIs, calling them from PowerShell gives you platform independence & no pre-requisites which can be a barrier to ...adoption. This session shows how to use multiple vendor's REST APIs including Azure & one you know how to call one vendor's API, it's easy to use another's.
Notes and comments
I've learnt even more since originally submitting this session, especially for Azure! 😊
Guy Leech
Independent EUC Consultant/Developer
Microsoft MVP (verified)
Guy is a freelance consultant, speaker and developer, a passionate PowerShell scripter, a current Microsoft MVP (Cloud and Datacenter Management (there is no longer a PowerShell category)), Citrix Technology Professional (CTP), a VMware vExpert and a Parallels VIPP and a veteran of 25+ years in the Citrix, Microsoft and VMware End User Computing (EUC) space; presenting at conferences, publishing a multitude of useful scripts on GitHub and sharing useful EUC technical titbits almost daily on Twitter. He specializes in troubleshooting and automation for both end customers and software vendors.
Guy was the inventor and initially the sole developer of the security product that went on to become AppSense Application Manager and thence Ivanti Application Control.Show More
Notes and comments
I've learnt even more since originally submitting this session, especially for Azure! 😊
Guy Leech
Independent EUC Consultant/Developer
Microsoft MVP (verified)
Guy is a freelance consultant, speaker and developer, a passionate PowerShell scripter, a current Microsoft MVP (Cloud and Datacenter Management (there is no longer a PowerShell category)), Citrix Technology Professional (CTP), a VMware vExpert and a Parallels VIPP and a veteran of 25+ years in the Citrix, Microsoft and VMware End User Computing (EUC) space; presenting at conferences, publishing a multitude of useful scripts on GitHub and sharing useful EUC technical titbits almost daily on Twitter. He specializes in troubleshooting and automation for both end customers and software vendors.
Guy was the inventor and initially the sole developer of the security product that went on to become AppSense Application Manager and thence Ivanti Application Control.Show More
OpenSSH on Windows - Danny Maertens
What's new and where is Microsoft investing on the on-demand ...
What's new and where is Microsoft investing on the on-demand Win32-OpenSSH Windows Feature.
Let's discover the Yubikey & PKCS11 support, the SSH access to Azure Arc enabled server without requiring public ...IP or "line-of-sight".
Danny Maertens
Microsoft - Product Manager
Danny is the product manager for Azure Cloud Shell and SSH at Microsoft.Show More
Let's discover the Yubikey & PKCS11 support, the SSH access to Azure Arc enabled server without requiring public ...IP or "line-of-sight".
Danny Maertens
Microsoft - Product Manager
Danny is the product manager for Azure Cloud Shell and SSH at Microsoft.Show More
kbupdate - Scan and patch offline servers without WSUS - Chrissy LeMaire
Patching offline Windows Servers can be tedious and manual in small ...
Patching offline Windows Servers can be tedious and manual in small environments without WSUS or SCCM. kbupdate fills this gap and makes patching multiple servers from a DVD repository super ...easy. All from PowerShell and all for free. Join me in this session to see how you can easily search for, download and install patches across your enterprise.
Chrissy LeMaire
creator, dbatools.io
Chrissy LeMaire is a dual Microsoft MVP and GitHub Star. She is a well-known speaker and the creator of several PowerShell modules, including dbatools. Chrissy also holds an MSc. in Systems Engineering and currently works as an Automation Engineer in Europe.Show More
Chrissy LeMaire
creator, dbatools.io
Chrissy LeMaire is a dual Microsoft MVP and GitHub Star. She is a well-known speaker and the creator of several PowerShell modules, including dbatools. Chrissy also holds an MSc. in Systems Engineering and currently works as an Automation Engineer in Europe.Show More
[/vc_column][/vc_row]
Watch all recordings from PSConfEU 2022 – Vienna
PSConf.eu 2022 - Aftermovie
Check out what happened during PowerShell Conference Europe 2022 in Vienna!Stay tuned and follow us on twitter (https://twitter.com/PSConfEU) and LinkedIn (https://www.linkedin.com/showcase/psconfeu/) for notifications about future events!
Subscribe to our channel to ...get the latest content!Show More
PSConf.eu 2022 - Aftermovie
Check out what happened during PowerShell Conference Europe 2022 in ...
Check out what happened during PowerShell Conference Europe 2022 in Vienna!
Stay tuned and follow us on twitter (https://twitter.com/PSConfEU) and LinkedIn (https://www.linkedin.com/showcase/psconfeu/) for notifications about future events!
Subscribe to our channel to ...get the latest content!Show More
Stay tuned and follow us on twitter (https://twitter.com/PSConfEU) and LinkedIn (https://www.linkedin.com/showcase/psconfeu/) for notifications about future events!
Subscribe to our channel to ...get the latest content!Show More
A little glympse of PSConfEU 2022
Behind the scenes of PsConfEU 2022 in Vienna: Thorsten takes you an a ...
Behind the scenes of PsConfEU 2022 in Vienna:
Thorsten takes you an a quick tour through the venue - before the event starts. This is how it all began.
Thorsten takes you an a quick tour through the venue - before the event starts. This is how it all began.
Interview Tobias Weltner - PSConfEU 2022
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Host: Thorsten Butz
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Host: Thorsten Butz
Autom. 3rd party app. updates & packag. in MS ConfgMgr & Intune - Scott MacAllister - PSConfEU 2022
Full title: Automating third-party application updates and packaging ...
Full title: Automating third-party application updates and packaging in Microsoft ConfgMgr and Intune - Scott MacAllister - PSConfEU 2022
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
about_VideoProcessing - Thorsten Butz - PSConfEU 2022
## Caution The video above is processed and optimized in terms of ...
## Caution
The video above is processed and optimized in terms of video/audio quality. If you want to compare the mentioned demo video, please take your time to watch the ...pristine versions you find below:
## Untouched demo video
https://vimeo.com/721974571/6ee5affca1
## Processed demo video (with Intro/Outro)
https://youtu.be/DlCCimHl0LM
Slides and demos for this session:
https://github.com/thorstenbutz/conferences/tree/master/2022.PSConf.eu/about_VideoProcessing
More stuff at "thosten-butz.de".
Mind the podcast "Sliding Windows": https://www.slidingwindows.de
## More from PSConfEU
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
## Session description
Recording, editing, publishing - is there any relationship between video processing/publishing and PowerShell? Isn't it always just about ffmpg in this context?
First of all: native commands do not contradict the shell. And what about enhancing and uploading video files? How can i use the APIs of major video platforms? How to fix a defective audio track - from the command line?Show More
The video above is processed and optimized in terms of video/audio quality. If you want to compare the mentioned demo video, please take your time to watch the ...pristine versions you find below:
## Untouched demo video
https://vimeo.com/721974571/6ee5affca1
## Processed demo video (with Intro/Outro)
https://youtu.be/DlCCimHl0LM
Slides and demos for this session:
https://github.com/thorstenbutz/conferences/tree/master/2022.PSConf.eu/about_VideoProcessing
More stuff at "thosten-butz.de".
Mind the podcast "Sliding Windows": https://www.slidingwindows.de
## More from PSConfEU
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
## Session description
Recording, editing, publishing - is there any relationship between video processing/publishing and PowerShell? Isn't it always just about ffmpg in this context?
First of all: native commands do not contradict the shell. And what about enhancing and uploading video files? How can i use the APIs of major video platforms? How to fix a defective audio track - from the command line?Show More
Lunch Demo: The .NET eco system - Jareš Jakub - PSConfEU 2022
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Lunch Demo: SSDT - Sander Stad - PSConfEU 2022
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Lunch Demo: Create a Crescendo cmdlet - Adam Driscoll - PSConfEU 2022
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Watch all recordings from PSConfEU 2020
How I discovered classes (without much Class{}) - Stephane Van Gulick PSCONFEU
In this session you will learn how I learned all the fundamentals of classes and all the mistakes I made during the learning process.We will cover the vocabulary, all the ...basic concepts and end up demonstrating how to transform a regular script to a class based script.
At the end of this talk, you will have enough knlowledge to understand what using classes actually bring to your scripts, and how to start using them in production.Show More
How I discovered classes (without much Class{}) - Stephane Van Gulick PSCONFEU
In this session you will learn how I learned all the fundamentals of ...
In this session you will learn how I learned all the fundamentals of classes and all the mistakes I made during the learning process.
We will cover the vocabulary, all the ...basic concepts and end up demonstrating how to transform a regular script to a class based script.
At the end of this talk, you will have enough knlowledge to understand what using classes actually bring to your scripts, and how to start using them in production.Show More
We will cover the vocabulary, all the ...basic concepts and end up demonstrating how to transform a regular script to a class based script.
At the end of this talk, you will have enough knlowledge to understand what using classes actually bring to your scripts, and how to start using them in production.Show More
Realtime comms with PowerShell - SignalR & Azure Functions - Jan-Henrik Damaschke PSCONFEU 2020
Realtime communication with PowerShell - SignalR and Azure Functions ...
Realtime communication with PowerShell - SignalR and Azure Functions
After this session you know the basics of the SignalR service and how to use it in a serverless application written in ...PowerShell.
In this session we will see a simple real-time web application come to life by the power of PowerShell. The complete application logic and backend is written with PowerShell in Azure Functions. Only cloud native services and integrations are used to create a real-world single page web application for chatting and getting live feedback from the audience.Show More
After this session you know the basics of the SignalR service and how to use it in a serverless application written in ...PowerShell.
In this session we will see a simple real-time web application come to life by the power of PowerShell. The complete application logic and backend is written with PowerShell in Azure Functions. Only cloud native services and integrations are used to create a real-world single page web application for chatting and getting live feedback from the audience.Show More
State of the Shell - PSCONFEU 2020 - Keynote from Jeffrey Snover and Joey Aiello
The keynote for the European PowerShell Conference 2020 which was held ...
The keynote for the European PowerShell Conference 2020 which was held virtually on June 2nd and June 3rd 2020
PowerShell is all about making you successful and valuable – to your ...current, or next, employer. And to have fun with great technology and a great community. In 2019, the opportunities to use PowerShell continued to expand across OSes, Clouds, tools, and communities. Learn how we plan to continue democratizing the automation and management of cloud and hybrid resources with PowerShell 7. Additionally learn more about our plans to provide universal coverage for configuration management platforms.Show More
PowerShell is all about making you successful and valuable – to your ...current, or next, employer. And to have fun with great technology and a great community. In 2019, the opportunities to use PowerShell continued to expand across OSes, Clouds, tools, and communities. Learn how we plan to continue democratizing the automation and management of cloud and hybrid resources with PowerShell 7. Additionally learn more about our plans to provide universal coverage for configuration management platforms.Show More
[PowerShell edition] What the log?! So many events, so little time… Miriam Wiesner - PSCONFEU 2020
Detecting adversaries is not always easy. Especially when it comes to ...
Detecting adversaries is not always easy. Especially when it comes to correlating Windows Event Logs to real-world attack patterns and techniques.
Join me to find out how to match Windows Event ...Log IDs with the MITRE ATT&CK framework and methods to simplify the detection in your environment.
The PowerShell edition: see how to correlate events not only via the GUI, now you can automate it..!Show More
Join me to find out how to match Windows Event ...Log IDs with the MITRE ATT&CK framework and methods to simplify the detection in your environment.
The PowerShell edition: see how to correlate events not only via the GUI, now you can automate it..!Show More
Classes & runspaces together - Async logging in PowerShell - Jan-Henrik Damaschke - PSCONFEU 2020
Bringing classes and runspaces together - Async logging in PowerShell ...
Bringing classes and runspaces together - Async logging in PowerShell
After you watched this session you will have an understanding of multithreading, especially with runspaces in PowerShell. You will also have ...knowledge about how to abstract complex constructs with classes in PowerShell.
Did you ever had some issues with multithreading in PowerShell? In this session you will see a practical example for when multithreading in PowerShell really makes sense.
We will take a look at how to implement asynchronous logging and how to abstract a reusable class with PowerShell classes.Show More
After you watched this session you will have an understanding of multithreading, especially with runspaces in PowerShell. You will also have ...knowledge about how to abstract complex constructs with classes in PowerShell.
Did you ever had some issues with multithreading in PowerShell? In this session you will see a practical example for when multithreading in PowerShell really makes sense.
We will take a look at how to implement asynchronous logging and how to abstract a reusable class with PowerShell classes.Show More
Classes & runspaces together - Async logging in PowerShell - Jan-Henrik Damaschke - PSCONFEU 2020
Bringing classes and runspaces together - Async logging in PowerShell ...
Bringing classes and runspaces together - Async logging in PowerShell
After you watched this session you will have an understanding of multithreading, especially with runspaces in PowerShell. You will also have ...knowledge about how to abstract complex constructs with classes in PowerShell.
Did you ever had some issues with multithreading in PowerShell? In this session you will see a practical example for when multithreading in PowerShell really makes sense.
We will take a look at how to implement asynchronous logging and how to abstract a reusable class with PowerShell classes.Show More
After you watched this session you will have an understanding of multithreading, especially with runspaces in PowerShell. You will also have ...knowledge about how to abstract complex constructs with classes in PowerShell.
Did you ever had some issues with multithreading in PowerShell? In this session you will see a practical example for when multithreading in PowerShell really makes sense.
We will take a look at how to implement asynchronous logging and how to abstract a reusable class with PowerShell classes.Show More
Is DSC Dead? - Gael Colas and Michael Greene - PSCOFNEU 2020
Unless you are heavily involved with Desired State Configuration ...
Unless you are heavily involved with Desired State Configuration (DSC), and you've been paying attention to the DSC planning updates, the DSC Community Calls, you might have trouble seeing what's ...going on with DSC.
In this session, we'll try to briefly review the why and what of DSC, decrypt all the recent news and see how it looks today, and finally make some predictions on its evolution.
We'll review DSC's core principles and components, the differences between platform, solutions, resources and the community behind https://dsccommunity.org.
We will discuss how third parties, such as Chef, Puppet, Ansible, but also AWS, VMWare, Cisco are leveraging the technology.
Next, we'll see a demo the work done by the PowerShell team to make invoking DSC resources work from PowerShell 7 on any platform from the RFC I wrote. We will discuss scenarios, current limitations and some tricks and tips you may find useful.
Finally, we can't talk about the future of DSC without spending some time on Azure Policy Guest Configuration, which leverages the new codebase of a DSC agent (sometimes called DSCv2 or LCMv2). We'll look at how you can leverage DSC resources, enact changes, and how hybrid scenarios can be addressed with Azure ARC.
As I've been lucky to be contracted by the DSC team to work with them and the PowerShell team for several months, feel free to bring your questions and feedback as I'm happy to forward your feedback!Show More
In this session, we'll try to briefly review the why and what of DSC, decrypt all the recent news and see how it looks today, and finally make some predictions on its evolution.
We'll review DSC's core principles and components, the differences between platform, solutions, resources and the community behind https://dsccommunity.org.
We will discuss how third parties, such as Chef, Puppet, Ansible, but also AWS, VMWare, Cisco are leveraging the technology.
Next, we'll see a demo the work done by the PowerShell team to make invoking DSC resources work from PowerShell 7 on any platform from the RFC I wrote. We will discuss scenarios, current limitations and some tricks and tips you may find useful.
Finally, we can't talk about the future of DSC without spending some time on Azure Policy Guest Configuration, which leverages the new codebase of a DSC agent (sometimes called DSCv2 or LCMv2). We'll look at how you can leverage DSC resources, enact changes, and how hybrid scenarios can be addressed with Azure ARC.
As I've been lucky to be contracted by the DSC team to work with them and the PowerShell team for several months, feel free to bring your questions and feedback as I'm happy to forward your feedback!Show More
Become a parameter ninja. - James O'Neill- PSCONFEU 2020
PowerShell parameters. Easy, right ? We write them most days without ...
PowerShell parameters. Easy, right ? We write them most days without even thinking. But the functions we create could be better to use, with code which is clearer and shorter ...– in other words easier -if we got their parameters absolutely right.
This session will start with tips for recognising and improving parameters which ask their questions in the wrong way, or which don’t take the input that users want to supply. This leads into when to declare parameter types and when not to and good and bad use of validation attributes. It will look at parameters sets, and when dynamic parameters are a good idea (and when they should be avoided). It will cover the importance of argument completers, and different ways to write them which leads into the Ninja skills needed to create custom parameter attributes for tab-completing, transforming and validating values.Show More
This session will start with tips for recognising and improving parameters which ask their questions in the wrong way, or which don’t take the input that users want to supply. This leads into when to declare parameter types and when not to and good and bad use of validation attributes. It will look at parameters sets, and when dynamic parameters are a good idea (and when they should be avoided). It will cover the importance of argument completers, and different ways to write them which leads into the Ninja skills needed to create custom parameter attributes for tab-completing, transforming and validating values.Show More
Watch all recordings from PSConfEU 2019
Staffan Gustafsson - Improving Performance by Reducing Memory Allocations
Conference Home Page: http://www.psconf.euConference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Staffan Gustafsson - Improving Performance by Reducing Memory Allocations
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Anthony Allen - Learn to love the AST and make it work for you
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Christian Imhorst - PDF Hacks with PowerShell
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Daniel Silva - PowerShell on RaspberryPi - Let's open a door for your PowerShell ideas
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Mathias Jessen - RegEx 4.0 - ^(?<pp>a )?must-have tool(?(pp)|s)$
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Przemysław Kłys - Creating Microsoft Word documents without Word installed
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Jakub Jareš - Pester internals and concepts (v2)
(ReIssue) Conference Home Page: http://www.psconf.eu Conference Videos: ...
(ReIssue)
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Ben Gelens - DSCPullServerAdmin - An Admin module for DSC PullServer Database management (v2)
(ReIssue) Conference Home Page: http://www.psconf.eu Conference Videos: ...
(ReIssue)
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Watch all recordings from PSConfEU 2018
PoSh and IoT - Tom-Inge Larson, Julien Nury
Conference Home Page: http://www.psconf.euConference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
PoSh and IoT - Tom-Inge Larson, Julien Nury
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
(How to) Become a PowerShell Type System Ninja! - Mathias Jessen
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
A matter of trust: Authentication and authorization in the PowerShell - Thorsten Butz
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
TFS and VSTS through Infrastructure as Code - Jeff Wouters
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
A Historical Architectural Tour of PowerShell - Bruce Payette
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
PowerShell Engine Internals - Dongbo Wang
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Red vs. Blue – Ready, Steady, Fight! - Julien Reisdorffer, David das Neves
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Revoke-Obfuscation: PowerShell Obfuscation Detection (And Evasion) Using Science - Daniel Bohannon
Conference Home Page: http://www.psconf.eu Conference Videos: ...
Conference Home Page: http://www.psconf.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
Conference Videos: powershell.video
Conference Materials: https://github.com/psconfeu
Community: http://www.psusers.eu
