├── .gitignore ├── Final ├── Readme.md ├── media │ ├── pi-fb.gif │ ├── pi-color.png │ ├── pi-color2.png │ ├── pred-wlc.png │ ├── pi-arrow-Noun.gif │ ├── pi-arrow-param.gif │ ├── pi-arrow-verb.gif │ ├── pred-listview.png │ └── pi-color3-background.png ├── RFC0016-Census-Telemetry.md ├── RFC0021-Link-header-based-pagination-for-WebCmdlets.md ├── RFC0027-Snap-Preview.md ├── RFC0042-Send-MailMessage.md └── RFC0030-Abbreviation-Expansion-TabComplete.md ├── CommunityCall └── notes │ ├── .DS_Store │ ├── 20250320_ChatTranscript.md │ ├── 20190418_Notes.md │ ├── 20180517_Notes.md │ ├── 20230615_Notes.md │ ├── 20190718_Notes.md │ ├── 20230216_Notes.md │ ├── 20220421_Notes.md │ ├── 20250619_Notes.md │ ├── 20230518_Notes.md │ ├── 20190516_Notes.md │ ├── 20180719_Notes.md │ ├── 20230119_Notes.md │ ├── 20250717_Notes.md │ ├── 20210916_Notes.md │ ├── 20230316_Notes.md │ ├── 20250417_Notes.md │ ├── 20161208_Notes.md │ ├── 20220915_Notes.md │ ├── 20191017_Notes.md │ ├── 20211021_Notes.md │ ├── 20170720_Notes.md │ ├── 20240918_Notes.md │ ├── 20251016_Notes.md │ ├── 20220721_Notes.md │ ├── 20250918_Notes.md │ ├── 20240118_Notes.md │ ├── 20250821_Notes.md │ ├── 20220120_Notes.md │ ├── 20240815_Notes.md │ ├── 20210415_Notes.md │ ├── 20250320_Notes.md │ ├── 20200716_ChatTranscript.txt │ ├── 20230720_Notes.md │ ├── 20190620_Notes.md │ ├── 20250116_Notes.md │ ├── 20220217_Notes.md │ ├── 20190815_Notes.md │ ├── 20180816_Notes.md │ ├── 20211118_Notes.md │ ├── 20230817_Notes.md │ ├── 20190221_Notes.md │ ├── 20210218_Notes.md │ ├── 20220818_Notes.md │ ├── 20240321_Notes.md │ ├── 20231019_Notes.md │ ├── 20221020_Notes.md │ ├── 20190919_Notes.md │ ├── 20210715_Notes.md │ ├── 20190117_Notes.md │ ├── 20221117_Notes.md │ ├── 20220317_Notes.md │ ├── 20181220_Notes.md │ ├── 20220519_Notes.md │ ├── 20210520_Notes.md │ ├── 20210617_Notes.md │ ├── 20240215_Notes.md │ ├── 20180215_Notes.md │ └── 20180920_Notes.md ├── assets ├── MarkdownRendering │ ├── Bold.png │ ├── Code.png │ ├── Link.png │ ├── Bold-MD.png │ ├── Code-MD.png │ ├── Header1.png │ ├── Header2.png │ ├── Header3.png │ ├── Header4.png │ ├── Header5.png │ ├── Header6.png │ ├── Image.png │ ├── Italics.png │ ├── Link-MD.png │ ├── CodeBlock.png │ ├── Image-MD.png │ ├── SampleMD.PNG │ ├── CodeBlock-MD.png │ ├── Header1-MD.png │ ├── Header2-MD.png │ ├── Header3-MD.png │ ├── Header4-MD.png │ ├── Header5-MD.png │ ├── Header6-MD.png │ ├── InlineCode.png │ ├── Italics-MD.png │ ├── SampleVT100.PNG │ ├── SetextHeader1.png │ ├── SetextHeader2.png │ ├── SetextHeader1-MD.png │ └── SetextHeader2-MD.png └── Out-GridView │ └── out_gridview_mockup.png ├── .github ├── ISSUE_TEMPLATE.md ├── CODE_OF_CONDUCT.md ├── PULL_REQUEST_TEMPLATE.md └── SECURITY.md ├── notes ├── 20190626 - Committee Discussion Notes.md ├── 20190812 - RFC Discussion Notes.md ├── 20190708 - RFC Discussion Notes.md ├── 20190703 - Committee Discussion Notes.md ├── 20190701 - RFC Discussion Notes.md ├── 20190722 - RFC Discussion Notes.md ├── 20190624 - RFC Discussion Notes.md └── 20190610 - RFC Discussion Notes.md ├── README.md ├── tools └── Modules │ └── RFC │ ├── RFC.Types.ps1xml │ ├── RFC.psd1 │ └── RFC.Formats.ps1xml ├── RFCNNNN-New-RFC-Template.md ├── LICENSE └── Archive ├── Draft └── RFC0003-Lexical-Strict-Mode.md ├── Rejected ├── RFC0022-RFC-Test-Connection-Cross-Platform.md └── RFC0024-Performance-Testing.md └── Withdrawn ├── RFC0057-Cross-Platform-Out-GridView.md ├── RFC0054-String-Manipulating-Cmdlets.md └── RFC0001-Mutual-Exclusion-Parameters-and-Properties.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ -------------------------------------------------------------------------------- /Final/Readme.md: -------------------------------------------------------------------------------- 1 | Final RFCs go here 2 | -------------------------------------------------------------------------------- /Final/media/pi-fb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-fb.gif -------------------------------------------------------------------------------- /Final/media/pi-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-color.png -------------------------------------------------------------------------------- /Final/media/pi-color2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-color2.png -------------------------------------------------------------------------------- /Final/media/pred-wlc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pred-wlc.png -------------------------------------------------------------------------------- /CommunityCall/notes/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/CommunityCall/notes/.DS_Store -------------------------------------------------------------------------------- /Final/media/pi-arrow-Noun.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-arrow-Noun.gif -------------------------------------------------------------------------------- /Final/media/pi-arrow-param.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-arrow-param.gif -------------------------------------------------------------------------------- /Final/media/pi-arrow-verb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-arrow-verb.gif -------------------------------------------------------------------------------- /Final/media/pred-listview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pred-listview.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Bold.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Code.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Link.png -------------------------------------------------------------------------------- /Final/media/pi-color3-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/Final/media/pi-color3-background.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Bold-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Bold-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Code-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Code-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header1.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header2.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header3.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header4.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header5.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header6.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Image.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Italics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Italics.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Link-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Link-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/CodeBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/CodeBlock.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Image-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Image-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/SampleMD.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SampleMD.PNG -------------------------------------------------------------------------------- /assets/MarkdownRendering/CodeBlock-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/CodeBlock-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header1-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header1-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header2-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header2-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header3-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header3-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header4-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header4-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header5-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header5-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Header6-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Header6-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/InlineCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/InlineCode.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/Italics-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/Italics-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/SampleVT100.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SampleVT100.PNG -------------------------------------------------------------------------------- /assets/MarkdownRendering/SetextHeader1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SetextHeader1.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/SetextHeader2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SetextHeader2.png -------------------------------------------------------------------------------- /assets/Out-GridView/out_gridview_mockup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/Out-GridView/out_gridview_mockup.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/SetextHeader1-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SetextHeader1-MD.png -------------------------------------------------------------------------------- /assets/MarkdownRendering/SetextHeader2-MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PowerShell/PowerShell-RFC/HEAD/assets/MarkdownRendering/SetextHeader2-MD.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250320_ChatTranscript.md: -------------------------------------------------------------------------------- 1 | # PowerShell_OpenSSH Community Call-20250320 2 | March 20, 2025 3 | 4 | Oops! Something went wrong! 5 | 6 | The transcript for the MArch 20th 2025 community call was corrupted and is not complete for this 7 | month. Check the notes for more detail. 8 | 9 | eof 10 | -------------------------------------------------------------------------------- /notes/20190626 - Committee Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Committee Notes - June 26, 2019 2 | 3 | ## Attendees 4 | 5 | * Jim Truher 6 | * Dongbo Wang 7 | * Joey Aiello 8 | * Kenneth Hansen 9 | * Bruce Payette 10 | 11 | ## Agenda 12 | 13 | * Review labeled PowerShell issues 14 | * Review Monday's RFC notes 15 | * Review labeled RFC issues if we have time 16 | 17 | ## Notes 18 | 19 | * Long discussion on modules refactoring/modularizing, and the amount of work involved -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | - Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support) 11 | -------------------------------------------------------------------------------- /notes/20190812 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - July 22, 2019 2 | 3 | ## Attendees 4 | 5 | * Steve Lee 6 | * Jim Truher 7 | * Dongbo Wang 8 | * Joey Aiello 9 | 10 | ## Notes 11 | 12 | * Updating Policy RFC for acceptance 13 | * Need to make moves on improving Committee/RFC process 14 | * Publish blog 15 | * Formalize in RFC process 16 | * Formalize lifecycle for adding/removing members 17 | * Proceed with reaching out to proposed members 18 | * Merged Send-MailMessage RFC deprecation 19 | * Replied to Ilya's Culture/Comparison RFC 20 | * Merged Sydney's changes to the semantic versioning recommendation RFC 21 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 19 | 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PowerShell-RFC 2 | 3 | RFC documents for community feedback on proposed changes and improvements 4 | 5 | See https://github.com/PowerShell/powershell-rfc/blob/master/RFC0000-RFC-Process.md for process information 6 | 7 | Along with making PowerShell Open Source, we are also inviting the community to author RFCs on proposed 8 | design changes (instead of having long threads in issues). The PowerShell Team will meet once a week 9 | (depending on amount of feedback) to review the feedback and respond. 10 | 11 | We'll continue to refine this process as we learn from it. 12 | 13 | ## Code of Conduct 14 | 15 | Please see our [Code of Conduct](.github/CODE_OF_CONDUCT.md) before participating in this project. 16 | 17 | ## Security Policy 18 | 19 | For any security issues, please see our [Security Policy](.github/SECURITY.md). 20 | -------------------------------------------------------------------------------- /tools/Modules/RFC/RFC.Types.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GitPullRequest 4 | 5 | 6 | Number 7 | 8 | [int]($this.url.split("/")[-1]) 9 | 10 | 11 | 12 | Author 13 | 14 | $this.user.login 15 | 16 | 17 | 18 | Created 19 | 20 | created_at 21 | 22 | 23 | 24 | Updated 25 | 26 | updated_at 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /RFCNNNN-New-RFC-Template.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC 3 | Author: 4 | Status: 5 | SupercededBy: 6 | Version: . 7 | Area: 8 | Comments Due: 9 | Plan to implement: 10 | --- 11 | 12 | # Title 13 | 14 | Description and rationale. 15 | 16 | ## Motivation 17 | 18 | As a <>, 19 | I can <>, 20 | so that <>. 21 | 22 | ## User Experience 23 | 24 | Example of user experience with example code/script. 25 | Include example of input and output. 26 | 27 | ```powershell 28 | Get-Example 29 | ``` 30 | 31 | ```output 32 | Hello World 33 | ``` 34 | 35 | ## Specification 36 | 37 | ## Alternate Proposals and Considerations 38 | 39 | -------------------------------------------------------------------------------- /notes/20190708 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - July 8, 2019 2 | 3 | ## Attendees 4 | 5 | * Steve Lee 6 | * Jim Truher 7 | * Joey Aiello 8 | 9 | ## Notes 10 | 11 | * Review improvement of argument generation for native executables #90 12 | * AI next meeting: get quorum decision 13 | * okay implementing behind experimental feature 14 | * Environment variable cmdlets #92 15 | * Charu has the code, Jim wants to give it a look 16 | * Reviewed HTML cmdlets #137 17 | * Inspired meta conversation on when/how we take modules into PS Core 18 | * Jim: "we need a 'feeder' system that allows folks to incubate modules on the Gallery" 19 | * We need to publish a blog that gives our position on this 20 | * AngleSharp *seems* like the best option, but we should really see an implementation 21 | * Reviewed policy RFC #180 22 | * Jim had a couple concerns 23 | * Window of opportunity as PowerShell starts where they could execute code before machine takes precedence 24 | * User can use reflection to change object model built after policy has been applied 25 | -------------------------------------------------------------------------------- /notes/20190703 - Committee Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Committee Notes - July 3, 2019 2 | 3 | ## Attendees 4 | 5 | * Steve Lee 6 | * Jim Truher 7 | * Dongbo Wang 8 | * Joey Aiello 9 | * Kenneth Hansen 10 | 11 | ## Notes 12 | 13 | * Fix New-Item -Path/-Target with wildcard char #9259 14 | * No attached issue for discussion 15 | * Issue is that tab completion uses single quotes and escaped chars in what amounts to a literal path 16 | * Agreed not to fix it in the `New-Item` behavior, but we should fix it in the tab completion 17 | * OneDrive mode for offline vs. online files #9895 18 | * OneDrive uses "surrogate reparse points" for its files 19 | * Disagreement around whether PS should report the filesystem as-is reported by the API vs. what the shell tells users in the File Explorer 20 | * PS already matches `cmd` by reporting `Length` with parens for non-cached files 21 | * Agreed to leave files as reporting `l` in the mode 22 | * Jim was concerned .NET Core not making their Win32 wrapper API public 23 | * Might make sense to add a property for surrogate reparse points to make the info scriptable 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Microsoft Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /CommunityCall/notes/20190418_Notes.md: -------------------------------------------------------------------------------- 1 | * Community Call 2 | * working out kinks 3 | * will work on bridge to Twitch 4 | * PowerShell 7 5 | * TODO: link to blog 6 | * Will be shipping in Windows 10 and Windows Server (no ETA) 7 | * TODO: fill in notes 8 | * will still publish out-of-band releases of both preview and stable 9 | * Publishing a package of 6.2 in the Microsoft Store 10 | * `-Scope AllUsers` won't work because the user can't write to `$PSHome` 11 | * can't create a new `PSSessionConfiguration` 12 | * can't modify the PS configuration file in `$PSHome` 13 | * Telemetry notes 14 | * Passed 11M 15 | * Upgrading fast! 16 | * DSC and PS 7 17 | * Scenarios from you help us figure out what to build next 18 | * Talk about provider model opportunities 19 | * With OneGet/PackageManagement, there were multiple 20 | * Tracing/Logging 21 | * Alerts 22 | * Credentials 23 | * TODO: open a meta-issue where people can discuss 24 | * Azure Functions! 25 | * TODO: publish link to the repo 26 | * Q&A 27 | * Preview Azure modules on the test gallery? 28 | * We don't expect folks to find stuff there 29 | * If you find something, please report to the module owner or the Gallery -------------------------------------------------------------------------------- /CommunityCall/notes/20180517_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - May 17, 2018 2 | 3 | ## Notes 4 | 5 | * PowerShell Team has been less active on GitHub, 6 | as we've been working on helping some Windows partner teams port to PS Core 7 | * PowerShell Core 6.1 release will be delayed by about a month 8 | * Demo of ActiveDirectory module working within PS Core 9 | * Talk to AD team about OSS and Gallery? 10 | * WindowsPowerShellCompatibility Pack includes: 11 | * Windows Compatibility Pack for .NET Core assemblies 12 | * Implicit remoting over local loopback to Windows PowerShell 13 | * Hope is that WindowsPowerShellCompatibilityPack is a temporary stopgap, no plans to ship it as part of PowerShell Core 14 | * Rolling PSCoreWindowsCompat into WindowsPowerShellCompatibilityPack 15 | * Conferences are awesome, check out PowerShell Summit NA and PowerShell Conference EU videos on YouTube 16 | * Module development scenario needs work 17 | * Tyler has a `dotnet new` scenario for building a PS Standard module 18 | * Mark and Joel are working on https://github.com/PoshCode/ModuleBuilder 19 | * An officially supported OpenSSH-based server and client have been shipped in Windows 10 1803 20 | * Need to fix API docs Edit button going to private GitHub repo -------------------------------------------------------------------------------- /notes/20190701 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - July 1, 2019 2 | 3 | ## Attendees 4 | 5 | * Steve Lee 6 | * Dongbo Wang 7 | * Jim Truher 8 | * Joey Aiello 9 | 10 | ## Notes 11 | 12 | * Spoke to Charu, and she believes she has an implementation of Get/Set-EnvironmentVariable to share 13 | * Review `Out-GridView` RFC 14 | * Meta-question: do we need to review this module if it's only shipping in the Gallery? 15 | * RFC acceptance is not blocking publishing to the Gallery 16 | * Jim: "given our existing backlog, we should not spend too much time on RFCs that don't ship production code directly into PowerShell" 17 | * On its face, we don't see a problem publishing the module as written to the Gallery, but we don't 18 | believe Avalonia can ever be shipped as part of PowerShell. 19 | * Reviewed and merged `Test-Connection` RFC0037 (PR #172) 20 | * Reviewed #167 regarding `-Culture` and `-Comparison` parameters on `Select-String` 21 | * Shouldn't be too complicated: the discussion is difficult enough for us, much less for an IT admin 22 | * If you really want full functionality of comparers, it's fine to use C# APIs 23 | * Ultimately accepted Ilya's updated proposal 2 for its conformance to PowerShell's default case-insensitivity -------------------------------------------------------------------------------- /CommunityCall/notes/20230615_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - June 15 2023 2 | 3 | ## Agenda 4 | 5 | - PSResourceGet Release @anamnavi 6 | - 7.4 June release updates @adityapatwardhan 7 | - Docs update @sdwheeler 8 | - [Microsoft Build video](https://www.youtube.com/watch?v=QXxir1KqjNU) 9 | - [Crescendo Video series](https://www.youtube.com/playlist?list=PLdESG89G24aMfg9LHFfpdi4TsKoOZ1iUH) 10 | - [Package Survey](https://forms.office.com/r/hXQYXyzfeD) 11 | 12 | ## Community Demos 13 | 14 | - Remoting provider - Justin Grote 15 | 16 | ## Notes 17 | 18 | - PSResourceGet 0.5.22-preview is now available 19 | - Few breaking changes for naming, see all in the blog posted 20 | - Support for azure artifacts, GitHub Packages and Artifactory 21 | - https://devblogs.microsoft.com/powershell/psresourceget-preview-is-now-available/ 22 | - Releases for 7.2 and 7.3 this week, next week for 7.4 preview. 23 | - Docs Updates 24 | - Download as PDF feature is now working 25 | - Additions for PSGet (PSResourceGet) documentations 26 | - [Microsoft Build video](https://www.youtube.com/watch?v=QXxir1KqjNU) 27 | - [Crescendo Video series](https://www.youtube.com/playlist?list=PLdESG89G24aMfg9LHFfpdi4TsKoOZ1iUH) 28 | - [Package Survey](https://forms.office.com/r/hXQYXyzfeD) 29 | - Demos 30 | -------------------------------------------------------------------------------- /notes/20190722 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - July 22, 2019 2 | 3 | ## Attendees 4 | 5 | * Kenneth Hansen 6 | * Steve Lee 7 | * Jim Truher 8 | * Dongbo Wang 9 | * Joey Aiello 10 | 11 | ## Notes 12 | 13 | * Reviewing line continuation all up, including the merged [PS/PS PR #8938](https://github.com/PowerShell/PowerShell/pull/8938/files) 14 | and the open RFC [#179](https://github.com/PowerShell/PowerShell-RFC/pull/179/files) 15 | * Jim to write response on #179 about whitespace concerns vs. backticks 16 | * General agreement that #8938 should not have been merged without RFC, but we're okay with the approach today, 17 | and will leave it 18 | * As a lesson, we should be more vigilant on PRs, especially as the affect the language/parser 19 | * This breaks right-click paste to terminal (Ctrl+V still works because PSReadline) 20 | * Line continuation likely needs to be addressed all up in a single RFC (regarding all other operators) 21 | * There's a concern that the risk is high, requiring a significant amount of time to make sure we get right, 22 | and the benefit is only for a small number of users 23 | * We've discussed this at length, and the current agreement is that this is not a widespread or urgent problem: 24 | the risk is high, and we shouldn't continue spending time on it 25 | * Desire to write and review RFC process blog at Wed's meeting -------------------------------------------------------------------------------- /CommunityCall/notes/20190718_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - July 18, 2019 2 | 3 | ## Notes 4 | 5 | * Remember you can watch a mirror of the Community Call stream at https://twitch.tv/PowerShellLive 6 | * Released [PowerShell 7.0-preview.2](https://github.com/PowerShell/PowerShell/releases) on GitHub 7 | * .NET global tool demo 8 | * Allows you to install and update PowerShell with only the .NET SDK 9 | * Works cross-platform with the same install command: `dotnet tool install -g pwsh` 10 | * Works just the same as any other PowerShell 11 | * Also included by default in the .NET Docker SDK container images 12 | * Check out [PowerShell 7 roadmap](https://devblogs.microsoft.com/powershell/powershell-7-road-map/) 13 | * Also make sure to review [new RFCs that could land in 7](https://github.com/PowerShell/PowerShell-RFC/pulls) 14 | * [Telemetry](https://github.com/PowerShell/PowerShell-RFC/pull/158/files) coming in PowerShell 7.0-preview.3 15 | * Jim planning on doing some Twitch streams at https://twitch.tv/JWTruher to talk about the data, how it's being collected, how it's being used 16 | * Check @JWTruher, @TylerLeonhardt for notifications on when he goes online 17 | * Intro of Jason Helmick (@theJasonHelmick), newest member of the PowerShell PM team 18 | * AI: look into version normalization https://github.com/PowerShell/DscResources/issues/508 19 | * Bring Danny into the next call for Cloud Shell 20 | -------------------------------------------------------------------------------- /CommunityCall/notes/20230216_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - February 16 2023 2 | 3 | ## Agenda 4 | 5 | - openssh updates - @maertendMSFT 6 | - Logging updates @PaulHigin 7 | - Install-PowerShell - @mgreenegit 8 | - VS Code PowerShell preview(s) with Consistent References AKA symbols rewrite - Andy 9 | - Azure RM retires in a year reminder - @ Damien 10 | - Azure CLI update - @ Damien 11 | - WinGet PS Update - Demitrius 12 | - Docs Update - @sdwheeler 13 | - Community update - Mike 14 | - Directory Predictor - Justin 15 | - PSEdit - Adam 16 | - ChatGPT + PowerShell - Doug 17 | 18 | ## Notes 19 | 20 | - We are working on the 9.2 release for GitHub in the next few weeks 21 | - We have modified some behavior in 9.1 to be more consistent 22 | - FYI PowerShell under Windows will run in safe mode, WDAC can also run in audit mode (none of the 23 | restrictions apply but they will be logged) we are adding some logging on the PowerShell side 24 | - The maintainers have agreed to accept the RFC for Install-PowerShell, check out the RFC and help 25 | us consider edge cases 26 | - We have a new release of the PowerShell Preview extension which comes with improvements for 27 | references thanks to a community contributions 28 | - Azure RM modules are going out of support next year, February 2024 29 | - We have a preview of completors for Azure CLI in PowerShell 30 | - This month we have a new docs section for security articles including an article about preventing 31 | injection attacks 32 | - We also have a major update to the about PowerShell config 33 | - Look forward to PowerShell conferences, PSSummit, PSConfEU and PSDayUK 34 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220421_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - April 21, 2022 2 | 3 | ## Agenda 4 | 5 | - VSCode Extension release candidate @SydneyhSmith 6 | - `ReadKey` fix 😺 @andschwa 7 | - SSHArc @maertendMSFT 8 | - PowerShell remoting over SSHArc @SteveL-MSFT 9 | - Docs update @sdwheeler 10 | - Upcoming conferences @SydneyhSmith 11 | - PowerShell WG update @SteveL-MSFT 12 | - Predictors Damien 13 | 14 | ## Notes 15 | 16 | - Release candidate 2 is now available for the PowerShell preview extension, should GA soon 17 | - This release got delayed about a month ago as we discovered an underlying cause of many issues was discovered 18 | - We have addressed these `ReadKey` issues in the latest release 19 | - SSHArc became publically available this week 20 | - The Azure PowerShell cmdlets are under review and will be available soon 21 | - This means that you can now connect to your machines without a public IP 22 | - SSH for Arc blog: In preview: [SSH access to Azure Arc-enabled servers](https://techcommunity.microsoft.com/t5/azure-arc-blog/in-preview-ssh-access-to-azure-arc-enabled-servers/ba-p/3288597) 23 | - You can also do PowerShell remoting over SSHArc, RDP also works 24 | - [Docs updates page](https://docs.microsoft.com/powershell/scripting/community/2022-updates) is live, and shows what's been updated each month 25 | - Docs repo will be updating the branch name from staging to main 26 | - We look forward to seeing you at PSSummit and PSConf EU, we will also have a virtual session at Build next month 27 | - [Az tools predictor is now available](https://docs.microsoft.com/powershell/azure/az-predictor) 28 | - There is no GA date planned for PowerShellGet v3 but we are working towards a quality driven release 29 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250619_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - June 19, 2025 2 | 3 | ## Meeting notes 4 | 5 | **AI Shell Release:** Steven discussed the latest AI Shell release, highlighting improvements such as Mac OS support with Iterm 2, support for Microsoft Entra ID, and new commands to invoke AI Shell directly from the terminal. He also mentioned an experimental offline agent for Copilot plus PCs. 6 | 7 | **DSC Version 3.1 Release:** Jason announced the release of DSC version 3.1, which includes updates for internal partners like Winget and community contributions. He also mentioned the upcoming focus on Bicep for version 3.2 and the ongoing support from the DSC community. 8 | 9 | **PowerShell Gallery CDN Update:** Aditya provided an update on the CDN URLs for PowerShell Gallery and OneGet, mentioning the need for new firewall rules and the upcoming PSResourceGet preview. 10 | 11 | **Azure CLI and PowerShell Updates:** Alex shared updates on Azure CLI and PowerShell, including enhancements to authentication mechanisms, the introduction of the `Get-AzAccessToken` command, and the support for long-term and short-term release versions. He also mentioned improvements in response quality and performance for Azure Copilot. 12 | 13 | **PlatyPS Update:** Jason provided an update on the progress of PlatyPS, mentioning that it is close to being released as a release candidate and then moving towards general availability. He acknowledged the hard work of the internal content partner and Sean in testing and content remediation. 14 | 15 | **Docs Update:** Sean shared updates on the documentation, including a new article on optimizing parallel execution, updates to PSResourceGet documentation, and changes to the layout of the doc site. He also mentioned the ongoing work on PlatyPS documentation. -------------------------------------------------------------------------------- /CommunityCall/notes/20230518_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - May 18 2023 2 | 3 | Summary: This meeting covered updates on PowerShell Get 7.4, PSReadLine beta, VSCode extension 4 | updates, docs updates, and PowerShell Summit recap. The participants discussed the new features, bug 5 | fixes, and future improvements for each topic. 6 | 7 | 1. PowerShell Get 7.4 Update: 8 | 9 | - PowerShell Get 3.0 will be shipped side by side with PowerShell Get 2.2.5 in PowerShell 7.4. 10 | - This release includes several bug fixes and improvements, including improved performance for 11 | local repositories and handling of ADO feeds. 12 | - The module has been renamed to Microsoft.PowerShell.PSResourceGet to avoid breaking changes. 13 | - The new plan will be implemented starting with PowerShell 7.4 Preview 5. 14 | 15 | 1. PSReadLine Beta: 16 | 17 | - PSReadLine beta 2.3 has introduced a new tooltip feature for Listview in PSReadLine predictor. 18 | 19 | 1. VSCode Extension Updates: 20 | 21 | - The team has made improvements to handling out-of-support PowerShell versions. 22 | - The extension now provides better support and handles errors more gracefully. 23 | 24 | 1. Docs Updates: 25 | 26 | - New articles for Crescendo have been added, covering error handling and argument transformation. 27 | - The PowerShell Usage and Top Contributors BI pages are now linked on the Community update page. 28 | 29 | 1. Follow-up Items: 30 | 31 | - Continue working on bug fixes and improvements for PowerShell Get, PSReadLine, and VSCode 32 | extension. 33 | - Keep the community informed about any updates or changes. 34 | 35 | 1. Upcoming Events/Dates: 36 | 37 | - Microsoft Build, the big developer conference, scheduled for next week. 38 | - PS Conf EU, scheduled for next month. 39 | -------------------------------------------------------------------------------- /CommunityCall/notes/20190516_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - May 16, 2019 2 | 3 | * update on PS 7 4 | * first preview *should* come out next week 5 | * expect a roadmap to coincide with the preview.1 release 6 | * all the new .NET Core 3.0 types will be there 7 | * Out-GridView will not be part of preview.1 8 | * lots of functionality that the didn't make the cut for 6.2 9 | * .NET 5 blog post: https://devblogs.microsoft.com/dotnet/introducing-net-5/ 10 | * PSReadline repo has been officially transitioned to the PowerShell Team 11 | * more maintainers from within the PS team to get 2.0 to a GA quality release 12 | * blogs 13 | * [Compatibility rules for PSScriptAnalyzer](https://devblogs.microsoft.com/powershell/using-psscriptanalyzer-to-check-powershell-version-compatibility/) 14 | * [PowerShell in Azure Functions - Public Preview](https://devblogs.microsoft.com/powershell/public-preview-of-powershell-in-azure-functions-2-x/) 15 | * events 16 | * Build was a success last week 17 | * PSConfEU first week of June 18 | * PSConfAsia: September 19-21 19 | * RFCs 20 | * Simpler concurrency parallelism natively supported in PowerShell for people who don't want to manage their own thread jobs: https://github.com/PowerShell/PowerShell-RFC/pull/174 21 | * Test-Connection: https://github.com/PowerShell/PowerShell-RFC/pull/172 22 | * Support login shell in Unix: https://github.com/PowerShell/PowerShell-RFC/pull/171 23 | * enhancement to Culture/Comparison parameters: https://github.com/PowerShell/PowerShell-RFC/pull/167 24 | * docs 25 | * Sean working on a refactoring of WMF docs, merging 5.0 and 5.1 content together 26 | * No ETA, but still working on an internal module documentation pipeline 27 | * Q&A 28 | * https://github.com/PowerShell/PowerShell-RFC/issues/173 29 | * Windows Terminal 30 | -------------------------------------------------------------------------------- /CommunityCall/notes/20180719_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - July 19, 2018 2 | 3 | ## Notes 4 | 5 | * 6.0.3 and 6.1.0-preview.4 released later this week 6 | * Working through some issues with Ubuntu 18.04, that package may ship slightly later 7 | * Microsoft Update 6.0.3 servicing release won't show up for 2 or 3 weeks 8 | * Active Directory module in RSAT in latest Windows Insider build is PS Core compatible 9 | * Modules in Windows will have a `CompatiblePSEdition` marked in their manifest as `Desktop` and/or `Core` 10 | * Release cadence of PowerShell Core 11 | * Originally committed to 6 month cadence 12 | * Still trying to stay on 6 months, but moving over to late Aug/late Feb releases 13 | * Make sure you update VS Code to address a 14 | [critical security vulnerability](https://github.com/powershell/announcements/issues/5) 15 | * Keith has taken over as the PM on OpenSSH 16 | * Sudden uptick in DSC resource downloads in [PowerShell Gallery](https://powershellgallery.com/stats) 17 | * New UI coming for PowerShell Gallery, 18 | check out [the preview](https://www.preview.powershellgallery.com) and give us 19 | [feedback](https://github.com/PowerShell/PowerShellGallery/issues) 20 | * Manual Nupkg download 21 | * Ability to update your own profile 22 | * API keys can only be copied at key generation time 23 | * In the future, PowerShellGet will install as CurrentUser if you're non-admin 24 | * Documentation rendering engine changing to Markdig (CommonMark) in Aug/Sept 25 | * Some formatting may break in content, keep your eyes peeled and file issues 26 | * SDK documentation is off of MSDN and in docs.microsoft.com 27 | * Needs lots of love, keep those PRs coming! 28 | * At some point, we'll do a major refactor of the table of contents and informational architecture 29 | * AI Joey: include Michael Greene on the next call to talk DSC Core 30 | * AI Joey: talk to Automation team about shipping ISE extension/add-on for VS Code/VS 31 | -------------------------------------------------------------------------------- /CommunityCall/notes/20230119_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - January 19 2023 2 | 3 | ## Agenda 4 | 5 | - 2023 Team investments blog post @SteveL-MSFT 6 | - Triple slash comments @SteveL-MSFT @sdwheeler 7 | - PowerShell Gallery update - @adityapatwardhan 8 | - PowerShellGet Update - @alerickson 9 | - OpenSSH Release - @tgauth 10 | - CloudShell Predictors - Damien 11 | - VS Code January Stable Release - @andschwa 12 | - PowerShell and DSC for WinGet - Demetrius 13 | - Discussions, backporting, graph v2 14 | - Demos 15 | 16 | ## Notes 17 | 18 | - Look forward to the 2023 team investments blog later this month 19 | - In the last month there have been a few new PowerShell docs including one about [configuring a light theme](https://learn.microsoft.com/en-us/powershell/scripting/learn/shell/using-light-theme?view=powershell-7.3) 20 | - There was also an update to the [Crescendo docs](https://learn.microsoft.com/en-us/powershell/utility-modules/crescendo/overview?view=ps-modules) 21 | - We are starting an effort to clean up the docs for the triple slash help information, please file issues/prs in the PowerShell/PowerShell source repo 22 | - The [PowerShell Gallery statistics page](https://www.powershellgallery.com/stats) is now working again, this also fixes statistics for individual packages 23 | - [A preview release of PowerShellGet 3.0 (beta 18)](https://devblogs.microsoft.com/powershell/powershellget-3-0-preview-18/) which includes bug fixes is now available 24 | - the new release for OpenSSh is now available for install 25 | - [A new stable release of the PowerShell extension for VSCode](https://devblogs.microsoft.com/powershell/powershell-extension-for-visual-studio-code-january-2023-update/) is now available, this includes a number of debugger fixes 26 | - The [latest release of WinGet](https://github.com/microsoft/winget-cli/releases/tag/v1.4.10173) includes a PowerShell module 27 | - There has also been work to build DSC resources for WinGet 28 | - Next week Az Predictors will be available and enabled by default in Cloud Shell 29 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250717_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - July 17, 2025 2 | 3 | ## Meeting notes 4 | 5 | **PowerShell Summit North America:** Jason Helmick announced that the PowerShell Summit North America has opened its call for presentations. He encouraged participants to submit their presentations and highlighted the opportunity for sharing solutions and ideas at the summit. 6 | 7 | **PlatyPS Release Candidate:** Jason Helmick and Sean Wheeler discussed the release candidate of PlatyPS, a tool for authoring help files in Markdown and converting them to various formats. They highlighted the improvements in the content pipeline and the upcoming general availability of the tool. 8 | 9 | **PlatyPS Documentation Updates:** Sean Wheeler provided updates on the PlatyPS documentation, including the reorganization of content, renaming of branches, and the introduction of a new command help object model. He emphasized the improved workflow and higher quality documentation. 10 | 11 | **PSResourceGet Update:** Amber Erickson announced the release of version 120 preview one of PSResourceGet, which includes dependency support for V3 repositories and several bug fixes. She thanked Olav Brooklyn for his community PR contribution. 12 | 13 | **RFC for PowerShell Documents:** Justin Chung discussed the RFC for moving PowerShell documents from OneDrive to local app data or customizable locations. He emphasized the importance of avoiding SFI incidents and invited community members to provide input before the deadline in August. 14 | 15 | **PowerShell Conference Europe Recap:** Steven Bucher and Tess Gauthier shared their experiences from the PowerShell Conference Europe, highlighting the presentations on various topics, the opportunity to meet community members, and the collaborative atmosphere. Steven provided a link to the recordings of the sessions. 16 | 17 | **Azure PowerShell Coverage Gaps:** Ayan Mullick suggested creating a coverage table for Azure PowerShell modules to identify gaps in functionality. Alex Wang acknowledged the need for such a table and mentioned ongoing efforts to compare gaps between different client tools. 18 | -------------------------------------------------------------------------------- /CommunityCall/notes/20210916_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell/OpenSSH Community Call Sept 16th, 2021 2 | 3 | ## Agenda and Notes 4 | 5 | * OpenSSH [Balu] 6 | * Working on compliance related issues with some telemetry added to Windows inbox 7 | * Based on 8 | * Updating to 8.6 in Win10+ 9 | * PowerShell 7.2 Preview.10 [Steve] 10 | * Preview.10 expected this month instead of RC.1 11 | * RC.1 pushed to next month, staying aligned with .NET 6 expecting GA in Nov 12 | * Will have additional RCs if needed 13 | * PowerShellGallery [Amber] 14 | * Planned live migration from classic web service to ARM on Sept 27th 15 | * We'll update the banner and status in https://aka.ms/psgallerystatus as it progresses 16 | * No expectation of impact, has been validated with our internal test gallery 17 | * PowerShellGet v3 demo [Anam] 18 | * Strongly typed objects being returned demo 19 | * Open to discussion on better support for module authors to get download data for their modules 20 | * Open a different discussion on a reputation system for modules 21 | * VSCode-PowerShell updates [Andy] 22 | * Awesome new changelog 23 | * More frequent releases 24 | * Support for terminal*based debugging in VSCode 25 | * Continuing work on stability which require substantial changes 26 | * PowerShell Standard Library [Jim] 27 | * Working on integrating with PS7 releases so a new version is published along side 28 | * FileUtility demo [Steve] 29 | * Side project experiment 30 | * Hopefully a preview to PSGallery and repo public by end of Sept 31 | * Team update [Joey] 32 | * Leaving Microsoft (yesterday last day) 33 | * Going to a startup 34 | * Reach out to Joey on Twitter 35 | * Q&A 36 | * Are the docs for using PSStandardLibrary up to date? [Steve to follow*up with Sean] 37 | * PowerShell support GitHub Codespaces * extension is already there 38 | * https://aka.ms/psgithubbi up to date? Looks like it stopped updating mid-Aug, Steve to follow-up 39 | * Community Demo 40 | * Pester Adapter [Justin Grote] 41 | * https://www.youtube.com/watch?v=7rG8nAsp5MM&t=7280s 42 | * https://marketplace.visualstudio.com/items?itemName=pspester.pester-test 43 | -------------------------------------------------------------------------------- /CommunityCall/notes/20230316_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - March 16 2023 2 | 3 | ## Agenda 4 | 5 | - PowerShell 7.4 preview 2 @adityapatwardhan 6 | - PowerShellGet 3.0 preview 20 @anamnavi 7 | - PSReadLine 2.3.0beta0 release @StevenBucher98 8 | - Docs update @sdwheeler 9 | - ConvertTextTable demo @JamesWTruher 10 | - Update on SSH mark of the web @ Tess Gauthier 11 | - Updated release of PSDesiredStateConfiguration v2 @anmenaga 12 | - VSCode preview extension update @andschwa 13 | 14 | ## Community Demos 15 | 16 | - Windows Terminal Shell integration 17 | - PowerShell Assistant 18 | 19 | ## Notes 20 | 21 | - PS 7.4.0-preview.2 release and based on .NET 8 preview2 22 | - Expect to go back to monthly releases 23 | - Thank you to Carlos and Martin for community contributions! 24 | - PSGet 3.0 preview 20 coming soon! 25 | - rewrite to be off of NuGet APIs 26 | - Pref improvements 27 | - Hope to ship with next PowerShell preview and closer to RC! 28 | - Doc announcement, different versions of PSGet and so are moving the docs to its own doc set and 29 | pages for a version selector to navigate 30 | - Sometime in April 31 | - PSReadline 2.3.0preview 0 update 32 | - Scrollable listview 33 | - Auto adjusting listview 34 | - Deduplication the results 35 | - Docs Update 36 | - Create classed based DSC resources for machine config 37 | - 7.4 preview data 38 | - Contributing quality improvements doc and host a Doc-a-thon at PSSummitNA in April!! 39 | - Convert text table demo 40 | - SSH Mark of the web 41 | - Removing mark of the web from ftp upload, 42 | - fully remove in ftp and smp, not worth the impedance on user experience 43 | - PS Desired state configuration module 44 | - released patch version 2.06 has mostly bug fixes 45 | - InvokeDSCResource is no longer experimental feature 46 | - Shipped with software bill of Materials SBOM 47 | - Available on PSGallery 48 | - VSCode extension 49 | - Prerelease and stable are going to be in one extension but have a switch 50 | - Conferences coming up 51 | - End of April, PSSummitNA in Bellevue 52 | - Mid June, PSConfEU 53 | - Windows Terminal Demo 54 | - PowerShell assistant 55 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250417_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - April 17, 2025 2 | 3 | ## Meeting notes 4 | 5 | **PowerShell 76 Preview 4:** Sydney provided updates on PowerShell 76 Preview 4, emphasizing the importance of testing and identifying potential issues early in the cycle. They mentioned that the general availability (GA) is expected around November and encouraged the community to check out the preview. 6 | 7 | **PowerShell Docker Images:** Sydney announced changes to the PowerShell Docker images, which will now be produced by the .NET team for faster image availability and more consistency across the ecosystem. They provided links to the GitHub announcement and documentation for further information. 8 | 9 | **PowerShell Gallery Search Issue:** Sydney addressed an ongoing issue with search results not returning on the PowerShell Gallery. They mentioned that the team is working on resolving the issue and has implemented more logging and monitoring. The gallery is also undergoing infrastructure changes to improve performance. 10 | 11 | **DSC Documentation Updates:** Sean and Mikey discussed updates to the DSC documentation, including an overhaul of the table of contents, expanded reference content, and upcoming schema updates. Mikey mentioned plans for tutorials on writing resources in various languages. 12 | 13 | **PowerShell Summit Recap:** Sydney and Sarah shared their experiences from the PowerShell Summit in Bellevue, highlighting the community engagement, presentations, and hands-on experiences. Steven added that the summit was a great time to reconnect with community members and discuss future projects. 14 | 15 | **Upcoming Conferences:** Steven provided information on upcoming conferences, including the Midwest Management Summit, Microsoft Build, and PowerShell Conference EU. He encouraged attendees to check out the schedules and sessions for these events. 16 | 17 | **Ryan's PS Profile Demo:** Ryan demonstrated their PS profile project, explaining the architecture decision records and the layout of their repository. They shared insights on optimizing the profile for different environments and mentioned that the repository would be published soon. 18 | -------------------------------------------------------------------------------- /notes/20190624 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - June 24, 2019 2 | 3 | ## Attendees 4 | 5 | No quorum today... 6 | 7 | * Jim Truher 8 | * Dongbo Wang 9 | * Joey Aiello 10 | 11 | ## Notes 12 | 13 | * PSGet 3.0 RFC has been updated, need to review with Steve when he's back 14 | * Closed PR #138 on the basis that it misunderstood the current process 15 | * Cursorily reviewed and briefly discussed PR 202 for side-by-side `pwsh` support 16 | * Initial reaction is that this is explicitly a non-goal 17 | * We are primarily trying to follow a fix-forward approach to `pwsh` 18 | * Complexity of managing multiple namespaces in package managers is very high 19 | * Also discouraged by distros 20 | * Process on aging PRs out? 21 | * `Waiting on Author` for some period of time? 22 | * Open question: do we give it a number and reject it, or do we just close the PR? 23 | * The former provides more visibility to others who may want to pick it up 24 | * PR after would move it to 2-Draft-Accepted with the existing number 25 | * Probably won't use automation to remove `Waiting on Author` 26 | * Only the author's response would change it 27 | * Still haven't codified the way that experimental features reduce the burden to RFCs 28 | * Jim: "code speaks louder than words" 29 | * Jim did ulimit/umask implementation before he submitted the PR 30 | * At a bare minimum, input/output examples are necessary 31 | * Dongbo: "if you're really going to implement it, you need to think about all the details up front" 32 | * We don't want to think of the implementation plan, but having a design is critical 33 | * One great example is Test-Connection changes (#172) 34 | * Only 121 lines, and it gives everything you need to know about input, output, parameter sets, etc. 35 | * We may need to be more direct about possible breakage that RFCs cause 36 | * Reviewed login shell RFC (PR #186) 37 | * Pending performance measurements of Rob's new method, we will take his method of `pwsh -l` / `pwsh -LoginShell` instead of using `pwsh-login` 38 | * Open question: on a container, does Docker implicitly start the pwsh entrypoint from sh? 39 | -------------------------------------------------------------------------------- /CommunityCall/notes/20161208_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call Notes for Dec. 08, 2016 (Audio recording [here](https://www.youtube.com/watch?v=N_i0He9jauY)) 2 | 3 | * Rejecting [RFC0011](../X-Rejected/RFC0011-Dot-Referencing-With-Static-Integers.md) on the basis that people can have folders full of scripts that begin with a number 4 | * Accepting [RFC0012](../4-Experimental-Accepted/RFC0010-SSH-Remoting-Cmdlets.md) for SSH parameter sets, but we should generally fix the parameter set problem: 5 | - Kirk is willing to take on an RFC for better Formatting and Output of `Get-Command -Syntax` 6 | - We should also close on the RFC for mutually exclusive parameter sets 7 | * [#2290: Add Get-FileEncoding cmdlet or function.](https://github.com/powershell/powershell/issues/2290) 8 | - Generally agree that `Get-FileEncoding` and `ConvertFrom-FileEncoding` would be useful, especially as we move to a cross-plat world (PowerShell on Linux, Bash on Windows, etc) 9 | - Kirk points out that it would be useful to have this functionality downlevel, and so putting it in Utility might be undesirable 10 | * [#1103: PowerShell Scripts require .ps1 extension](https://github.com/powershell/powershell/issues/1103) 11 | - Without any regard for perf, we probably want to allow no extension AND a shebang 12 | - HOWEVER, `Get-Command` will probably slow down due to having to open every file with a `+x` flag. 13 | - Current POR: Remove the requirement for a file extension and see how the perf impacts Get-Command and tab completion. 14 | * [#621: Fix Remove-Item ](https://github.com/powershell/powershell/issues/621) 15 | - Committee agrees that removing a symbolic link should not require `-Force` 16 | - We should also fix the bug in 5.1 where the link doesn't ever get removed 17 | - `Remove-Item` should never remove the contents of a link's target when removing the link (even w/ `-Force` or `-Recurse`) 18 | * [#2820: Empty key name converting to PSObject](https://github.com/PowerShell/PowerShell/pull/2820) 19 | * Given the improvements being made to the Utility module, it would be useful to have those changes on downlevel versions of PowerShell (kind of like how we ship Archive today) 20 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220915_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - September 15th 2022 2 | 3 | ## Agenda 4 | 5 | SSH server fingerprint validation discussion @maertendMSFT 6 | PSDocker image naming changes @TravisEz13 7 | Docs update @sdwheeler 8 | PowerShellGet release @anamnavi 9 | VSCode August release @andschwa 10 | Community news @compwiz32 11 | Demo modules @psDevUK 12 | Demo Out-ConsoleGridView @ckinde 13 | Demo SecretManagment @compwiz32 14 | Demo lazy-posh-git @bergmeister 15 | 16 | ## Notes 17 | 18 | - PSDocker, renaming and simplyfying tags and removing older images that have 19 | known vulnerabilities 20 | - Docs update: New overview page for What's New across versions of PS7, 21 | huge update to DSC documentation including PSDesiredStateConfiguration module, 22 | refresh of docs for PS extension for VSCode (our content team has taken 23 | ownership of this content). Docs repo participating in Hacktoberfest and issues 24 | will be tagged appropriately. 25 | - PowerShellGet 3.0-beta17 was released this month. Next preview will focus 26 | on performance improvements and bug fixes. 27 | - VSCode August stable release: includes intern project for a walkthrough experience, 28 | LSP (Language Server Protocol) library updated should help with performance and 29 | stability. Next release will have references perf fix for folders that have 30 | many files, shell integration, debug launch configuration, and other bug fixes. 31 | - Community news update: Hacktoberfest is coming next month (5 PRs get a t-shirt). 32 | PSConfEU minicon coming Sept 27th. Automation Summit Dec 6th. PowerShell Summit 33 | April 2023, CFP (Call For Papers) opens Oct 1st. PowerShell.org calendar working 34 | again. 35 | - Adam Bacon demo a large set of script, binary, and crescendo modules. 36 | - Charlie Kindel walked through maintainer experience and changes to Out-ConsoleGridView 37 | module. 38 | - Mike Kanakos demoed SecretManagement module using local and cloud vaults showing 39 | how to easily create and retrieve secrets. 40 | - Christoph Bergmeister demoed lazy-posh-git module which is a PowerShell module 41 | that provides a lazy loading wrapper around posh-git and benefits of proxy commands. 42 | -------------------------------------------------------------------------------- /CommunityCall/notes/20191017_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - August 15, 2019 2 | 3 | ## Notes 4 | 5 | * Preview releases 6 | * Recently released preview.4 with ternary operator and -ErrorAction Break 7 | * Holding preview.5 by ~1 week to move to .NET Core 3.1 8 | * Includes new ErrorView and Get-Error 9 | * Also adding new `$OutputPreference` variable to turn off VT100 10 | * WinPS wrapper coming in preview.6 11 | * Calls out to Windows PS for incompatible modules (like IISAdministration) 12 | * Using IPC/named pipes instead of implicit remoting in WindowsCompatibility module 13 | * Please help us out by validating preview releases! 14 | * PowerShell 7 GA 15 | * Two more preview in Oct and Nov 16 | * Then RC in December to align with .NET Core 3.1 GA 17 | * And GA (hopefully!) in January 18 | * Number of open PRs and RFCs that will likely not make it into 7.0 19 | * What does .NET Core 3.1 bring us? 20 | * Mostly (for us) is that it's an LTS release that's supported for ~3 years 21 | * How does Steve record GIFs? 22 | * macOS has built in screen record support, then he uses an online tool to convert MOV->GIF 23 | * Sean uses Screen2Gif for recording 24 | * Usage 25 | * Daily usage has spiked heavily as seen on aka.ms/psgithubbi 26 | * Will add new telemetry from preview.3+ soon 27 | * Ignite 28 | * PowerShell PMs and Tyler Leonhardt are all attending Ignite 29 | * We'll be at the booth, many of us are speaking, stay tuned to Twitter 30 | * Documentation 31 | * Cmdlet reference for 3.0/4.0/5.0 is being archived to a new location 32 | * If not today, then after Ignite 33 | * https://docs.microsoft.com/previousversions/powershell 34 | * Docs contributor guide on PowerShell-Docs repo is now live on https://docs.microsoft.com/contribute 35 | * Reduces duplication of Markdown guidance from Microsoft Docs 36 | * VSCode-PowerShell support for PowerShell? 37 | * Blog coming soon with timeline on PSReadline coming into VSCode-PowerShell 38 | * More stability improvements as well 39 | * Demo from Jim on stat and mode added to Get-ChildItem output on Unix 40 | * Feedback here: https://github.com/PowerShell/PowerShell/issues/10462 -------------------------------------------------------------------------------- /CommunityCall/notes/20211021_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - October 21, 2021 2 | 3 | ## Agenda 4 | 5 | * PowerShell 7.2 RC1 (Jason) 6 | * Windows Update (Travis) 7 | * Update: PowerShell Gallery - ARM Migration (Amber) 8 | * Update: PowerShellGet (Sydney) 9 | * Update: DSC v2/v3 (Jason) 10 | * Crescendo Preview 4 (Jason) 11 | * Update: VSCode pipeline work (Rob) 12 | * Document update (Sean) 13 | 14 | ## Notes 15 | 16 | * We are getting very close to PowerShell 7.2 RC1-- watch twitter/release page 17 | * This is an LTS release, with a focus on stability-- thanks to all the community feedback 18 | * This is a "go-live", meaning it is supported in production 19 | * We are targeting November for the 7.2 release 20 | * November is PowerShell's 15th birthday (will celebrate at next community call) 21 | * Modules are where a lot of innovation is happening 22 | * We will have a PowerShell session BRK260 at Ignite (PowerShell UnPlugged) 23 | * We will also have an Ask the Experts at Ignite on November 3rd 24 | * Check out our FAQ on the Microsoft Update options 25 | * Working on migrating PowerShell Gallery from RDFE to ARM 26 | * Because this work is cross regional it was a larger work item 27 | * This shouldn't impact the Gallery but the change should occur next week (Tuesday/Wednesday) 28 | * Please open up an issue on GitHub with any questions/concerns 29 | * We will keep the status page updated 30 | * Thanks for testing out our PowerShellGet preview release, expect another release in November 31 | * We are working with Guest Configuration for a DSC release in early spring 2022 32 | * Check out the roadmap blog, DSC community call for more information/updates 33 | * DSC v2 will stay as is 34 | * Crescendo preview 4 will be available early next week 35 | * This is our last planned preview before an RC release 36 | * This preview adds help parsers as an experimental feature 37 | * Check out the blog series on Cresendo 38 | * Key infrastructure and robustness changes to VSCode 39 | * Streamlined release infrastructure 40 | * Updates to the thread handling has been going on-- just about ready for the preview release issue #1295 41 | * VSCode pipeline updates will be available in our preview extension next week 42 | -------------------------------------------------------------------------------- /notes/20190610 - RFC Discussion Notes.md: -------------------------------------------------------------------------------- 1 | # RFC Meeting - June 10, 2019 2 | 3 | ## Attendees 4 | 5 | * Steve Lee 6 | * Dongbo Wang 7 | * Joey Aiello 8 | 9 | ## Action Items 10 | 11 | * Joey: ping @charub 12 | * Joey: write committee member RFC 13 | * Steve: re-rev PowerShellGet 3 RFC 14 | * Steve: PR for experimental features 15 | 16 | ## Notes 17 | 18 | * Experimental Features 19 | * Agreement to take the following out of experimental due to low risk and interactivity: 20 | * Temp drive 21 | * Abbreviation expansion 22 | * Will wait for feedback to see if this should be configurable to "off" 23 | * Will wait on Cloud Shell -> Exchange Online usage to take implicit remoting batching out of experimental 24 | * Check to see if they enable it already today 25 | * Will wait on "Telemetry 2.0" before we make general decision on how to take features out of experimental 26 | * Fuzzy matching suggestion on CommandNotFound should be blocked on suggestion framework fixes 27 | * suggestions are batched to the end of a script 28 | * not shown in VS Code 29 | * Outside Committee members 30 | * AI Joey: Need to write an RFC on process for accepting outside committee members 31 | * Nomination will be fuzzy (based on very holistic criteria) 32 | * Needs formalized requirements on how they get accepted 33 | * Requirements to stay on should be defined 34 | * Apache +0/-0 system 35 | * Requirements should maybe be loose initially just to get moving 36 | * Definitely need to standard for removing people based on non-participation criteria (e.g. code of conduct) 37 | * Should start small (probably with one, maybe two people) 38 | * Geographic tradeoff: domestic is good for calls, international would push asynchronicity 39 | * Start by looking at Apache Foundation and Debian to see their process 40 | * Reviewed and commented on Test-Connection (#172) 41 | * Agreed to use label "Review - Committee" for RFCs that have been partially reviewed/discussed 42 | and may be waiting on additional review 43 | * Need to close on PowerShell 6 specific module path (#133) once we have quorum 44 | * @charub is back, we need to close with her on whether Environment Variable (#92) code exists 45 | -------------------------------------------------------------------------------- /CommunityCall/notes/20170720_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - July 20, 2017 2 | 3 | ## Agenda 4 | 5 | * Roadmap blog 6 | * Try out your stuff on .NET Standard 2.0 (Beta.4) 7 | * https://github.com/PowerShell/PowerShell/issues/4062 8 | * Maintainers? RFCs? 9 | 10 | ## Notes 11 | 12 | * PSSA rules for xCLR/x-plat/xPS 13 | * active analysis vs. static analysis: appcompat toolkit doing this for a while 14 | * Ping Darwin for pointer 15 | * ETW/perf counters in .NET Full 16 | * Figuring out order of loading Nuget dependencies is tricky 17 | * Trevor would love better tooling on dependency management 18 | * Need to think through scenario where a dependency is only required on one platform 19 | * VSSetup for Windows, nothing for mac/Linux 20 | * Would be nice to point at a module folder or manifest (not installed from the Gallery) and get all the dependencies 21 | * npm install, dotnet restore, etc. 22 | * Examples on calling native libraries on macOS/Linux 23 | * Example: Gather hardware metrics (disk, cpu, etc.) 24 | * Used iStats Ruby gem that uses Ruby native library to call into native macOS library 25 | * Pointer to examples of native PInvokes on non-Windows: 26 | https://github.com/PowerShell/PowerShell/blob/master/src/System.Management.Automation/CoreCLR/CorePsPlatform.cs 27 | * MSI plan is to move away from side-by-side 28 | * Upgrade via MSI for patch versions 29 | * Side by side via MSI for new minor versions (6.1, 6.2, 7.0, etc) 30 | * Look into standard MSI rules; currently not supposed to do side-by-side with minor versions 31 | * Theoretically, every file GUID remains the same, folders associated with the component 32 | * Side by Side via ZIP will always work 33 | * https://github.com/PowerShell/PowerShell-RFC/pull/97 34 | * Jupyter spec calls for ZeroMQ 35 | * Tell David about this 36 | * Not really related to dependencies, but does Core already support Desired State Configuration declarative 'function' types? 37 | * Look into environment variable for PowerShell version 38 | * What's the Python/Ruby equivalent here? 39 | * Do package managers on Linux support install-time environment variable creation? 40 | * Overriding process level; not having to parse a path at the process level 41 | * Swag for the next call? 42 | * Talk to Michael Greene -------------------------------------------------------------------------------- /CommunityCall/notes/20240918_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - September 19, 2024 2 | 3 | ## Meeting Notes: 4 | 5 | - PlatyPS Update : Jason provided an update on PlatyPS, announcing that it will be shipped by the 6 | end of the year. He explained the challenges of authoring help in MAML and YAML and demonstrated 7 | the performance and scalability improvements in the new version. Jason also mentioned that Jim 8 | Truher, who has been instrumental in the redesign, will be retiring next month. 9 | - PSResourceGet Release : Sydney announced the recent preview release of PSResourceGet, highlighting 10 | the new Compress-PSResource cmdlet and its functionality. They encouraged the community to test 11 | and provide feedback on this new feature. 12 | - PowerShell 7.5 Release : Michael reminded everyone that PowerShell 7.5 is nearing general 13 | availability and is expected to be released later this year. He also noted that PowerShell 7.2 14 | will reach its end of life on November 8th, 2024. 15 | - MiniCon Announcement : Sydney announced the upcoming MiniCon, a virtual and free conference 16 | organized by PSConfEU. They encouraged participants to register and mentioned that several team 17 | members, including themselves, Michael, and Jim, will be presenting sessions. 18 | - PSResourceGet Feedback : Sydney addressed questions from the community regarding PSResourceGet. 19 | They mentioned that the team is actively working on moving the install path out of OneDrive and 20 | supporting Azure Container Registry (ACR) for module storage. 21 | - DSC V3 Demo : Steve demonstrated new features in DSC V3, including the WMI adapter for inventory 22 | and baseline security checks. He showcased how DSC V3 can be used to audit systems and mentioned 23 | plans for future enhancements. 24 | - WAM Feature Feedback : Alex provided feedback on the Wham feature, which allows users to log into 25 | Azure through Azure CLI and PowerShell. He discussed the issues encountered, the impact on users, 26 | and the steps taken to resolve the problems. 27 | - Azure CLI Tab Completion : Jeremy announced the release of the tab completion feature for Azure 28 | CLI in PowerShell, which helps users by providing command parameter suggestions. He shared 29 | documentation on how to enable this feature. 30 | 31 | 32 | -------------------------------------------------------------------------------- /CommunityCall/notes/20251016_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - October 16, 2025 2 | 3 | ## Meeting notes 4 | 5 | **PowerShell Community Call Introduction:** Michael welcomed everyone to the PowerShell community call, reminding participants about the recording and the code of conduct. He also mentioned the contribution guide and the PowerShell repo for future agenda discussions. 0:05 6 | 7 | - **Ignite Sessions Announcement:** Steven announced the upcoming Ignite event from November 18-21, where he, Jamie, and Caro will discuss AI enhancements in Azure client tools. They will be available at the monitoring and management booth. 1:27 8 | 9 | - **PowerShell Extension Release:** Andy provided an update on the new stable release of the PowerShell extension, highlighting the inclusion of PS Readline 244 and its screen reader support. He also mentioned community contributions and new features like path mapping for remote debugging. 2:55 10 | 11 | - **DSC Preview 6 Update:** Steve Lee discussed the release of DSC Preview 6, mentioning improvements in build times and contributions from the community. He also highlighted the goal of achieving bicep capability in the upcoming releases. 4:47 12 | 13 | - **New DSC Resource for PowerShell Profile Management:** Aditya demonstrated a new DSC resource for managing PowerShell profiles, explaining its schema and showing how to set and get profile values. 7:10 14 | 15 | - **PowerShell 7.6 Preview 5 Release:**Dongbo provided an update on the PowerShell 7.6 Preview 5 release, highlighting fixes for out grid view, name pipe listener issues, and environment variable updates for package managers. 9:38 16 | 17 | - **Win32 OpenSSH 10.0 Release:** Tess announced the upcoming Win32 OpenSSH 10.0 release, highlighting post-quantum hybrid algorithm support for key exchange and process separation of the SSH server by functionality. 16:34 18 | 19 | - **PowerShell Documentation Updates:**Sean Wheeler discussed updates to the PowerShell documentation, including improvements to the PS Readline user experience and new articles on using the latest version of PlatyPS. 17:50 20 | 21 | - **Community Call Schedule:** Michael mentioned that the October call is typically the last community call of the year led by the team, and suggested starting a discussion in the PowerShell repo for a community-led call. 21:41 22 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220721_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - July 21, 2022 2 | 3 | ## Agenda 4 | 5 | - PowerShell 7.3 preview 6 @Steve 6 | - PowerShellGet preview @SydneyhSmith 7 | - Demo Get-WhatsNew @theJasonHelmick @sdwheeler 8 | - Docs Update @sdwheeler 9 | - PowerShell module paths @mgreenegit 10 | - Archive rewrite update @ayousuf23 11 | - VSCode walkthrough update @S-Hakim 12 | - Community corner update @theJasonHelmick 13 | - Contribute to PowerShell using GitHub codespaces @JustinGrote 14 | 15 | ## Notes 16 | 17 | - We released [PowerShell 7.3 preview 6](https://github.com/PowerShell/PowerShell/releases/tag/v7.3.0-preview.6) on Monday (July 18th) 18 | - There were a few fixes that came in this release including a fix to Out-GridView, 19 | tab completion fixes, SHA hash update, check out the full list of changes in 20 | the [Changelog](https://github.com/PowerShell/PowerShell/releases/tag/v7.3.0-preview.6) 21 | - The PowerShell experiemental feature `PSNativePSPathResolution` will no longer be available in the next preview release (Preview 7) 22 | - PowerShellGet preview 15 has been delayed but is likely to release next week 23 | - We are hoping to release `Get-WhatsNew` next week once the CI is complete 24 | - This cmdlet will allow you see what is new in PowerShell from console 25 | - The `Get-WhatsNew` module will be published to the Gallery and compatible with PowerShell 5.1 26 | - The repository is already open source for `Get-WhatsNew` please give us feedback [there](https://github.com/powershell/whatsnew) 27 | - In June docs created new content for SecretManagement, and PSReadLine 28 | - PSReadLine 2.2.6 enables Predictive Intellisense by default-- check out [the blog](https://devblogs.microsoft.com/powershell/psreadline-2-2-6-enables-predictive-intellisense-by-default/) 29 | - Check out [this issue](https://github.com/PowerShell/PowerShell-RFC/issues/327) if we should include `SecretManagement` and `SecretStore` in PowerShell 30 | - Check out [this issue](https://github.com/PowerShell/PowerShellGet/issues/724) if we should change the default installation path for user modules 31 | - We have published an RFC for the rewrite of the Microsoft.PowerShell.Archive cmdlet, look forward to a preview coming soon 32 | - We are working on a walkthrough for the PowerShell extension for VSCode 33 | - There is an open PR to have a dev container for contributing to PowerShell 34 | -------------------------------------------------------------------------------- /tools/Modules/RFC/RFC.psd1: -------------------------------------------------------------------------------- 1 | # 2 | # Module manifest for module 'RFC' 3 | # 4 | # Generated by: jimtru 5 | # 6 | # Generated on: 4/22/19 7 | # 8 | 9 | @{ 10 | 11 | # Script module or binary module file associated with this manifest. 12 | RootModule = 'RFC.psm1' 13 | 14 | # Version number of this module. 15 | ModuleVersion = '0.0.1' 16 | 17 | # Supported PSEditions 18 | # CompatiblePSEditions = @() 19 | 20 | # ID used to uniquely identify this module 21 | GUID = 'e05ba184-7bd8-4a16-9f41-93d7c7bd4ee6' 22 | 23 | # Author of this module 24 | Author = 'jimtru' 25 | 26 | # Company or vendor of this module 27 | CompanyName = 'Microsoft' 28 | 29 | # Copyright statement for this module 30 | Copyright = 'Copyright (c) Microsoft Corporation. All rights reserved.' 31 | 32 | # Description of the functionality provided by this module 33 | # Description = '' 34 | 35 | 36 | # Type files (.ps1xml) to be loaded when importing this module 37 | TypesToProcess = @('RFC.Types.ps1xml') 38 | 39 | # Format files (.ps1xml) to be loaded when importing this module 40 | FormatsToProcess = @('RFC.Formats.ps1xml') 41 | 42 | # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. 43 | FunctionsToExport = @( 44 | 'Get-MaxRFCNumber', 'Get-MaxRFC', 'Get-PullRFCNumber', 'Get-RFCPullRequest', 45 | 'Get-HighestPullRFCNumber', 'Get-NextRFCNumber', 'Get-NextRFCFileName', 'Get-GitFork', 46 | 'Get-GitBranchesFromFork', 'Get-GitTreeFromBranch', 'Get-LastCommit', 'Get-RepoFileList', 47 | 'Get-PR', 48 | "Set-Header", "Get-Header", "Remove-Header" 49 | ) 50 | 51 | # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. 52 | CmdletsToExport = @() 53 | 54 | # Variables to export from this module 55 | VariablesToExport = '*' 56 | 57 | # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. 58 | AliasesToExport = @() 59 | 60 | # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. 61 | PrivateData = @{ 62 | 63 | PSData = @{ 64 | 65 | } # End of PSData hashtable 66 | 67 | } # End of PrivateData hashtable 68 | 69 | } 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250918_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - September 18, 2025 2 | 3 | ## Meeting notes 4 | 5 | - **Introduction:** Sydney welcomed everyone to the September 2025 PowerShell Community Call, reminding participants that the meeting is recorded and emphasizing the importance of the code of conduct. The agenda and community demo requests are shared via GitHub discussions. 1:36 6 | 7 | - **PS Resource GET Preview Release:** Anam discussed the recent release of PS Resource GET 120 Dash Preview 3, highlighting new features like pagination support for MCR and several bug fixes, including issues with lockdown machines and the module prefix parameter. 3:19 8 | 9 | - **PS Gallery Issue:** Aditya explained the recent PS Gallery outage on September 8th, caused by an expired certificate on the CDN. The issue was resolved by purging the CDN caches, and documentation was updated to reflect the changes. 6:10 10 | 11 | - **Mini Con Announcement:** Steven announced the upcoming Mini Con, a virtual conference hosted by the PowerShell Conference EU site, and encouraged participants to submit sessions. Several team members, including Steve, Dongbo, and Autumn, will be presenting. 7:50 12 | 13 | - **PowerShell 7.6 Update:** Sydney provided an update on the PowerShell 7.6 release, mentioning a delay in the preview release due to package dependency issues. The next preview release is expected in early October, followed by an RC state and then GA. 9:18 14 | 15 | - **DSC Updates:** Steve mentioned the release of DSC 3.2 preview 5, highlighting new functions, initial DCMCP support, and various bug fixes. He acknowledged the community's contributions and feedback. 10:26 16 | 17 | - **Documentation Updates:** Sean provided updates on recent documentation changes, including minor updates for PowerShell 7.5.3 and 7.4.12, PS Readline 2.44 beta 4, and AI Shell preview 7. He highlighted the fix for the out grid view problem and the addition of GPT5 support in AI Shell. 12:22 18 | 19 | - **Pixel Posh Demo:** Dieter presented Pixel Posh, a tool for generating random backgrounds using PS SVG. He demonstrated various background types and explained its use case for differentiating between VMs. 15:41 20 | 21 | - **Turtle Graphics Demo:** James showcased Turtle Graphics in PowerShell, demonstrating its ability to create complex geometric shapes and fractals. He highlighted its potential for data visualization and educational purposes. 21:21 -------------------------------------------------------------------------------- /CommunityCall/notes/20240118_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - January 18 2024 2 | 3 | ## Agenda 4 | 5 | - VSCode stable update (Sydney) 6 | - PowerShell 7.5 preview (Dongbo) 7 | - Improvements to cmdlets (Steve) 8 | - PSResourceGet servicing release (Sydney) 9 | - March community call (Steven) 10 | - Change in WAM (Damien) 11 | - Auth command AzPS (Damien) 12 | - Docs update (Sean) 13 | - WinGet Command not found (@crutkas) 14 | - Community Demos 15 | - Justin Grote - ModuleFast 0.1.0 Release 16 | - Ryan Wakefield - New version of the original Test-PendingReboot.ps1 17 | 18 | ## Notes 19 | 20 | - Quarterly releases of stable vscode 21 | - Preview releases of vscode in between those quarterly releases 22 | - Added a lot of improvements 23 | - 7.5 preview 1 will be out Tuesday 24 | - New processes for being on working groups will be incoming 25 | - Cmdlet improvements 26 | - L ots of new improvements to cmdlets that are requested from the community 27 | - however it often introduces unexpected behavior 28 | - GH discussion: https://github.com/orgs/PowerShell/discussions/21089 29 | - PSResourceGet servicing release, bug fixes and hoping to get release out this month 30 | - https://github.com/PowerShell/PSResourceGet/projects/27 31 | - March community call will be more focused to be in the Asia timezones. 32 | - WAM by default for CLI/PS for Windows 33 | - WAM = Web account manager, remove the need for launching the browser and work with Windows broker. 34 | - Faster signle sign on. 35 | - Support only on Windows currently. 36 | - For CLI looking at March 2024 roll out and PowerShell is May 2024 37 | - CLI: https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli-web-account-manager 38 | - PS: https://learn.microsoft.com/en-us/powershell/azure/authenticate-interactive?view=azps-11.2.0#web-account-manager-wam 39 | - Auth command AzPS 40 | - Output improvements 41 | - Docs updates 42 | - No new content released but minor updates all around 43 | - Big update for DSC v3 documentation update for the 3.0 alpha 4 release 44 | - https://learn.microsoft.com/powershell/scripting/community/2023-updates 45 | - https://learn.microsoft.com/en-us/powershell/dsc/changelog?view=dsc-3.0 46 | - WinGet Command Not Found now available via PowerToys, if you dont have a CLI tool installed and is available on WinGet you will get suggested how to install it 47 | - https://learn.microsoft.com/en-us/windows/powertoys/cmd-not-found 48 | - Community Demos 49 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250821_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - August 21, 2025 2 | 3 | ## Meeting notes 4 | 5 | **Tech Mentor Conference Recap:** Jason, Sean Wheeler, Stephen Judd, and James Petty attended the Tech Mentor conference, delivering multiple PowerShell sessions and engaging with a diverse audience, including new IT professionals like Levi, highlighting the importance of community growth and beginner support. 6 | 7 | **PowerShell 7.6 Preview and Release Planning:** Dongbo provided an update on the status of PowerShell 7.6 Preview 5, noting internal blockers and the importance of community testing and feedback as the team approaches the long-term service release (LTS), with Jason and Sydney emphasizing quality over release dates. 8 | 9 | **AI Shell Demo and Integration:** Dongbo demonstrated the AI Shell tool, detailing its integration with PowerShell, available commands, error resolution features, and support for MCP servers, showcasing its utility for both beginners and experienced users in automating and troubleshooting tasks. 10 | 11 | **DSC v3 Preview and Bicep Integration:** Steve presented updates on DSC v3, highlighting recent contributions from Heiss and Thomas, the addition of a DC function list command, and experimental support for consuming Bicep files directly with the DSC executable, while cautioning that Bicep integration is still in progress. 12 | 13 | **PSReadLine Accessibility Improvements:** Speaker 1 showcased major accessibility enhancements to PSReadLine for screen reader users, detailing technical changes to rendering, differential text output, and improved integration with VS Code, aiming to make PowerShell more usable for visually impaired users. 14 | 15 | **DSC Documentation Updates:** Mikey and Sean provided updates on DSC documentation, announcing new schemas for standard output expectations, ongoing work on a resource design guide, and contributions from Heiss in drafting and fixing reference documentation. 16 | 17 | **PowerShell for Data Analysis and Visualization:** Andrei demonstrated PowerShell's capabilities in data analysis and visualization, integrating .NET Interactive, Jupyter Notebooks, and Vega grammar to process and visualize data, including graph-based representations and design structure matrices for complex Bicep templates. 18 | 19 | **Upcoming Demos and Community Contributions:** James and Dieter noted that their planned demos on graphic tools in PowerShell were rescheduled for next month, with repo links to be shared in the chat for interested participants. 20 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220120_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - January 20, 2022 2 | 3 | ## Agenda 4 | 5 | - Next 7.3 preview release (Aditya) 6 | - VSCode updates (Andy) 7 | - PowerShellGet 3.0 preview 12 (Anam) 8 | - PowerShellGet and nuget provider (Amber) 9 | - DSC Docs update (Sean) 10 | - Graph migration for Azure PowerShell (Damien) 11 | - Community Demo if available (Chris) 12 | - Questions 13 | 14 | ## Notes 15 | 16 | - We shipped PowerShell 7.2! Thanks for all of the feedback... 17 | - We are focusing on our engineering system for the month of January, we will ship 7.3 preview 2 in February 18 | - PowerShell 7.3 preview 1 is already available 19 | - We have had 4 releases of the PowerShell extension for VSCode since the last call (mostly preview releases) 20 | - This shows our work on the build pipeline is paying off-- thanks for all the feedback 21 | - Thank you to Justin for joining as a co-maintainer for the VSCode and PSES repos, thanks also to Patrick! 22 | - All of our tests are re-enabled after the pipeline re-write (no more deadlocks) in our VSCode extension 23 | - This allows us to accept new PRs without risk of regression 24 | - Latest PSReadline preview is now in PowerShell Preview extension 25 | - Last PowerShell Preview extension release had a dozen bug fixes 26 | - We shipped preview 12 of PowerShellGet 3.0 with lots of completed paramters/parameter sets -- check out the Changelog for all of the changes 27 | - This preview includes wildcard support for `-Repositry` in `Find-PSResource` 28 | - This preview also includes better prerelease versioning support 29 | - We have published a new blog post for issues with the nuget bootstrap 30 | - Look forward to a DSC roadmap 31 | - We have updated the PSDSC documentation 32 | - AzureAD Graph API will retire June 30, 2022 33 | - Going forward Az PowerShell will leverage the Microsoft.Graph SDK 34 | - Az 7+ is using MS Graph-- released in early December 35 | - KeyVault, AKS, SQL, Resources, Synapse have completed migration 36 | - StorageSync, HDInsight are finishing the migration 37 | - Call to action is to plan your migration as soon as possible 38 | - GitHub codespaces is awesome-- check it out-- thanks Chris for the demo! 39 | - PSSA v2 has been put off in favor of other perf work in the VSCode extension 40 | - Look forward to the patyPS v2 releases, work is continuring 41 | - We have been paused on the Microsoft update work but continuing work on that 42 | - We are waiting on any semantic version support until .NET supports it 43 | -------------------------------------------------------------------------------- /Final/RFC0016-Census-Telemetry.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC0016 3 | Author: Steve Lee, Jim Truher 4 | Status: Final 5 | SupercededBy: n/a 6 | Version: 0.3 7 | Area: Host 8 | Comments Due: Done 9 | Feedback: https://github.com/PowerShell/PowerShell-Language-RFC/issues/# 10 | --- 11 | 12 | # PowerShell Census Telemetry 13 | 14 | Add basic census telemetry to PowerShell. 15 | 16 | ## Motivation 17 | 18 | Downloads numbers do not tell us if we are successful in growing usage of PowerShell. 19 | The platform (Windows, Linux, Mac) usage data helps to prioritize new feature work and investments. 20 | 21 | ## Specification 22 | 23 | On every startup of the PowerShell Console host, telemetry will be sent via [ApplicationInsights](https://azure.microsoft.com/en-us/services/application-insights/) to collect the following information: 24 | - `[System.Runtime.InteropServices.RuntimeInformation]::OSDescription` (equivalent to `uname -a` on Unix) 25 | - GitCommitId (from $psversiontable) 26 | 27 | Performance will be measured to ensure collecting and sending telemetry does not have an impact to PowerShell startup time. 28 | Target is <5ms impact. 29 | 30 | Telemetry is only collected if the file DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY exists in $PSHome. 31 | Eventually, we want to adopt [RFC0015 Startup Configuration](https://github.com/PowerShell/PowerShell-RFC/blob/master/1-Draft/RFC0015-PowerShell-StartupConfig.md) as the way to enable/disable telemetry. 32 | 33 | ## Design 34 | 35 | ApplicationInsights provides a mechanism for sending a [`CustomEvent`](https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics) which is essentially three elements: 36 | - The name of the event 37 | - A dictionary of properties 38 | - A dictionary of metrics 39 | 40 | For PowerShell Core purposes we will send only the name of the event and a dictionary of properties consisting of the list shown in the the specification. 41 | Initially, we will not provide any metrics, although we can easily do so at a later time. 42 | 43 | ## Alternate Proposals and Considerations 44 | 45 | None 46 | 47 | --------------- 48 | ## PowerShell Committee Decision 49 | 50 | ### Voting Results 51 | 52 | Jason Shirk: Accept 53 | 54 | Joey Aiello: Accept 55 | 56 | Bruce Payette: Accept 57 | 58 | Steve Lee: Accept 59 | 60 | Hemant Mahawar: Accept 61 | 62 | ### Majority Decision 63 | 64 | Commmittee agrees that this RFC satisfies the initial telemetry for census data. Future telemetry changes will be new RFCs. 65 | 66 | ### Minority Decision 67 | 68 | N/A 69 | -------------------------------------------------------------------------------- /CommunityCall/notes/20240815_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - August 15, 2024 2 | 3 | ## Meeting Notes: 4 | 5 | - PowerShell Releases: Sydney announced the release of PowerShell A74 and A72, emphasizing the 6 | importance of updating due to security patches. Additionally, she highlighted the upcoming end of 7 | life for PowerShell 7/2, urging users to upgrade to PowerShell 74. 8 | - PowerShell Environment Variables: Jim discussed a breaking change in .NET Preview 6 affecting how 9 | environment variables are removed in PowerShell, providing a demonstration and solution for 10 | adapting to this change. 11 | - PowerShell Telemetry: Steve addressed an issue with the MSI installer for PowerShell 7 not 12 | preserving the option to opt-out of telemetry upon updates, announcing a fix that ensures user 13 | choices are preserved. 14 | - DSC V3 Release: Steve shared updates on the DSC V3 release, mentioning challenges with the release 15 | pipeline but expressing optimism for a release within the month. 16 | - PowerShell Gallery Statistics: Amber updated on the status of the PowerShell Gallery statistics 17 | pipeline, noting its restoration and the implementation of alerts to monitor its functionality. 18 | - PowerShell Container Images: Sydney explained the delay in releasing PowerShell container images 19 | since April due to major infrastructure changes, with an expectation to resume releases in August. 20 | - PowerShell Community Events: Sydney and Michael highlighted upcoming PowerShell community events, 21 | including PowerShell Saturday and PSConfEU, encouraging community participation and collaboration. 22 | - PowerShell Module Installation: Sydney addressed concerns about PowerShell modules syncing to 23 | OneDrive, suggesting a workaround by configuring OneDrive to not sync PowerShell files, while 24 | acknowledging the complexity of the issue. 25 | - PowerShell Command Not Found: Thomas demonstrated an innovative use of the command not found 26 | feedback provider in PowerShell to suggest installations for missing commands, leveraging package 27 | managers like PS Resource Git and SCOOP. 28 | 29 | # Action items: 30 | 31 | - PowerShell Releases: Update to the latest PowerShell 7.4 release for security patches (All participants) 32 | - PowerShell Container Images: Complete the infrastructure changes to resume Docker children release 33 | process (Infrastructure Team) 34 | - PowerShell Saturday Event: Promote the PowerShell Saturday event 35 | through social media to increase attendance (Community Members) 36 | -------------------------------------------------------------------------------- /CommunityCall/notes/20210415_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - April 15, 2021 2 | 3 | ## Agenda 4 | 5 | * Rob/Danny to cover PSArm preview 1 6 | * Sydney/Amber on PowerShellGet v3 update and PowerShellGallery outage 7 | * Steve on 7.2, MU, and minimal PowerShell update 8 | * Dongbo on `Clean` block update 9 | * Jim on native command passing change 10 | * Community Demos 11 | * Q&A (https://github.com/PowerShell/PowerShell-RFC/issues/282) 12 | 13 | ## Notes 14 | 15 | * PSArm preview 1, released March 31st 2021--many similarities and shared infra with Bicep 16 | * Approach is to create a PowerShell specific experience 17 | * Check out the GitHub repo (https://github.com/PowerShell/PSArm) for more information 18 | * PowerShellGet v3—making progress to have a release later this month or early next month, this 19 | release will be complete in terms of the cmdlet interface (but not necessarily feature-complete 20 | but hopefully fairly close) 21 | * Planning to start accepting community contributons in May 22 | * PowerShell Gallery had an outage on March 22nd due to a certificate issue 23 | * We have a few repair items to further automate this process to avoid this issue in the future 24 | * PowerShell 7.2 continuing with monthly preview releases 25 | * Currently having a discussion is happening on 7.2 preview releases 26 | https://github.com/PowerShell/PowerShell/discussions/15236 27 | * Currently exploring pulling out parts of SMA to create a smaller PowerShell version 28 | * This journey will go beyond 7.2 timeframe (maybe 7.4) 29 | * Dongbo will be working on driving the `Clean` block update in the 7.2 timeframe, PR is currently 30 | open and feedback is welcome 31 | * Original PR for the 'CleanUp' PR: Implement Cleanup { } Function Block by vexx32 · Pull Request 32 | #9900 · PowerShell/PowerShell (https://github.com/PowerShell/PowerShell/pull/9900) 33 | * The draft PR for the alternative implementation: [WIP] Clean block prototype with error handling 34 | by daxian-dbw · Pull Request #15177 · PowerShell/PowerShell 35 | (https://github.com/PowerShell/PowerShell/pull/15177) 36 | * Target for completion is May release (as an experimental feature), if not it will ship in June 37 | * We have created a new experimental feature `PSNativeCommandArgumentPassing`begining in 7.2 38 | preview5 39 | * We would love feedback on this new experimental feature 40 | * Justin Grote provided a demo of "Press" a tool he is working on for Module CI 41 | (https://github.com/justingrote/press) 42 | 43 | Thank You! 44 | 45 | 46 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250320_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - March 20, 2025 2 | 3 | Meeting notes: 4 | 5 | **DSC V3 Updates:** Jason provided updates on DSC V3, including the general availability announcement for release version 3.0.0 and the release of DSC version 3.1.0 Preview 1. He explained the concept of desired state configuration and how it simplifies configuration management by allowing users to define desired states in a configuration file. Jason also highlighted the decoupling of DSC from PowerShell and the support for multiple languages for writing resources. 6 | 7 | **DSC V3 Features and Future Plans:** Jason discussed the new features of DSC V3, including the ability to write configurations in JSON or YAML, and the support for resources written in various languages like Go, C#, and Python. He also mentioned the ongoing work to make it easier for resource owners to elevate their resources to DSC V3. Jason encouraged the community to provide feedback and share scenarios to help improve the platform. 8 | 9 | **Minor Releases:** Sydney announced a few minor releases from the team, including a PS resource get release 1.1.1, which had some bug fixes and unblocked some partners. She also mentioned a new release of Script Analyzer (1.24.1) with community contributions and a preview release of the VS Code extension containing the updated Script Analyzer. 10 | 11 | **AI Shell Updates:** Steven shared updates on AI Shell, including broader support for Azure PowerShell and PowerShell-generated commands from the Azure agent. He demonstrated the improved parameter replacement feature and the support for various OpenAI-compatible models. Steven also highlighted improvements in native command error handling and the easier deployment of Azure OpenAI instances with Bicep templates. 12 | 13 | **Documentation Updates:** Sean provided updates on the documentation, mentioning that Mikey has been working on the DSC V3 docs, which should be available soon. He also highlighted the update to the FAQ for Microsoft Update and the community contributions from SurfingAllElephant and Arihein. Sean mentioned the ongoing process of syncing documentation changes for Script Analyzer 1.24. 14 | 15 | **Azure Trusted Signing Demo:** Jordan demonstrated the use of Azure Trusted Signing and code signing certificates within PowerShell. He explained the process of signing a PowerShell script using Azure Trusted Signing and highlighted the challenges with the current implementation in PowerShell. Jordan suggested improvements to make Azure Trusted Signing more viable within PowerShell and encouraged the community to provide feedback. 16 | -------------------------------------------------------------------------------- /CommunityCall/notes/20200716_ChatTranscript.txt: -------------------------------------------------------------------------------- 1 | Steve Lee (POWERSHELL) 2 | Good morning! 3 | 4 | Joel Sallow 5 | *waves* Hullo everyone :D 6 | 7 | Joel Sallow 8 | *waves* Hullo everyone :D 9 | 10 | Jon J. 11 | Mornin' 12 | 13 | Darwin 14 | I'm here 15 | 16 | Darwin 17 | I'm here 18 | 19 | Jon J. 20 | Mornin' 21 | 22 | Michael B 23 | I'm here too 24 | 25 | Michael B 26 | I'm here too 27 | 28 | Matthewjdegarmo 29 | I'm here! 30 | 31 | Matthewjdegarmo 32 | I'm here! 33 | 34 | Jeremiah Strong 35 | I'm watching! 36 | 37 | Jeremiah Strong 38 | I'm watching! 39 | 40 | JB "AspenForester" Lewis 41 | here! 42 | 43 | Jeff Hick 44 | Long time supporter, first time meeting. 45 | 46 | JB "AspenForester" Lewis 47 | here! 48 | 49 | Jeff Hick 50 | Long time supporter, first time meeting. 51 | 52 | Hello!! 53 | Where's the link to post todays questions 54 | 55 | *waves* Hello, folks 56 | Community Call, this Gus Spier. Comm check? 57 | 58 | Hello!! 59 | Thanks 60 | 61 | *waves* Hello, folks 62 | Community Call, this Gus Spier. Comm check? 63 | 64 | Hello!! 65 | Thanks 66 | 67 | Hello!! 68 | Where's the link to post todays questions 69 | 70 | Steve Lee (POWERSHELL) 71 | https://github.com/PowerShell/PowerShell-RFC/issues/257(Hello!! asked "Where's the link to post todays questions") 72 | 73 | kvprasoon 74 | Great to see Jeff Hicks in call :-) 75 | 76 | Anonymous 77 | please install windows update :) 78 | 79 | kvprasoon 80 | Great to see Jeff Hicks in call :-) 81 | 82 | Anonymous 83 | please install windows update :) 84 | 85 | Hello!! 86 | Maybe honor the order if it's a mandatory positional parameter! 87 | 88 | Joel Sallow 89 | yeah. Hashtables get reused all the time. The one-time specified parameter should win, it has a more narrow "scope" 90 | 91 | Michael B 92 | thanks for the docs update! 93 | 94 | Jeff Hick 95 | I can't teach without access to good help files. 96 | 97 | Hello!! 98 | Maybe honor the order if it's a mandatory positional parameter! 99 | 100 | Joel Sallow 101 | yeah. Hashtables get reused all the time. The one-time specified parameter should win, it has a more narrow "scope" 102 | 103 | Michael B 104 | thanks for the docs update! 105 | 106 | Jeff Hick 107 | I can't teach without access to good help files. 108 | 109 | Jason Helmick 110 | :) me too(Jeff Hick asked "I can't teach without access to good help files.") 111 | 112 | kvprasoon 113 | Steve said it w/o saying ;-) it 114 | 115 | kvprasoon 116 | Steve said it w/o saying ;-) it 117 | 118 | JB "AspenForester" Lewis 119 | Thanks everyone! helpful and insghtful as always! 120 | 121 | -------------------------------------------------------------------------------- /CommunityCall/notes/20230720_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call Highlights - July 20th 2023 Meeting Summary 2 | 3 | The PowerShell community call took place in July, covering a wide range of topics, updates, and 4 | demos. Below are the key highlights from the meeting: 5 | 6 | ## 1. PSResource Git and Public Bug Bash 7 | 8 | Sydney updated the community on PSResource Git, mentioning the first beta release and the upcoming 9 | preview. The next preview is expected to include published support, credential persistence, error 10 | messaging improvements, and support for pre-release dependencies. PSResource Git is now available in 11 | the 7.4 preview of PowerShell. 12 | 13 | Additionally, a live public bug bash for PSResource Git will take place on July 27th. This event is 14 | open to everyone and will provide an opportunity to address bugs and offer feedback. 15 | 16 | ## 2. Feedback Providers and JSON Adapter Demos 17 | 18 | A demo of the new experimental feature "feedback providers" was conducted. This feature aims to 19 | offer users feedback as they interact with the PowerShell shell. Two new feedback providers have 20 | been introduced: CommandNotFound and JSON Adapter. These providers improve the user experience, 21 | making it more seamless and efficient. 22 | 23 | ## 3. Pester Test Extension 24 | 25 | The Pester Test Extension for VS Code was showcased, focusing on its recent improvements. With 26 | better logging and Mac/Linux/CodeSpaces support, the extension enhances the pester test development 27 | experience. Additional integrations like refresh, cancel, and reset buttons add convenience for 28 | users as they work on their tests. 29 | 30 | ## 4. PowerShell Conference Europe 31 | 32 | Sydney and Steven attended the PowerShell Conference Europe, sharing their experience at the event. 33 | They discussed various topics, including the upcoming virtual mini-conference, PSResource Git, and 34 | PowerShell extension demos. 35 | 36 | ## 5. DSC V3 and YAML Based Configuration 37 | 38 | An update on DSC V3 was provided, which includes a shift to JSON and YAML for configuration. The new 39 | approach aims to offer a general platform for configuration as code, supporting Windows, Linux, and 40 | macOS systems. 41 | 42 | ## 6. Community Demos and Topics 43 | 44 | The call concluded with an open discussion session, inviting community members to share their demos, 45 | feedback, and questions. The community was encouraged to participate in upcoming events and share 46 | topics for future calls. 47 | 48 | Stay tuned for the next PowerShell community call to join the conversation, share your insights, and 49 | learn about the latest PowerShell developments! 50 | -------------------------------------------------------------------------------- /CommunityCall/notes/20190620_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - June 20, 2019 2 | 3 | ## Releases 4 | 5 | * [PowerShell 7.0-preview.1](https://github.com/powershell/powershell/releases) 6 | * [PS 7 roadmap blog](https://devblogs.microsoft.com/powershell/powershell-7-road-map/) 7 | * Preview.2 expected mid-July 8 | * [PSScriptAnalyzer 1.18.1](https://devblogs.microsoft.com/powershell/release-of-powershell-script-analyzer-1-18-1/) 9 | * Install the latest from the Gallery and VS Code will automatically pick it up 10 | * 2x perf in may cases since 1.18.0 11 | 12 | ## RFCs for review 13 | 14 | * [PowerShellGet 3.0](https://github.com/PowerShell/PowerShell-RFC/pull/185) 15 | * [ForEach-Object parallel](https://github.com/PowerShell/PowerShell-RFC/pull/194) 16 | * [Chaining operator (|| &&)](https://github.com/PowerShell/PowerShell-RFC/pull/192) 17 | * Demo 18 | * [`pwsh -Login`](https://github.com/PowerShell/PowerShell-RFC/pull/186) 19 | * Demo 20 | * [Test-Connection](https://github.com/PowerShell/PowerShell-RFC/pull/172) 21 | * [Improvements to `&` background operator](https://github.com/PowerShell/PowerShell-RFC/pull/193) 22 | * [Flatten the module manifest structure](https://github.com/PowerShell/PowerShell-RFC/pull/188) 23 | * [Improvements to error handling](https://github.com/PowerShell/PowerShell-RFC/pull/187) 24 | * [`umask` and `ulimit` cmdlets](https://github.com/PowerShell/PowerShell-RFC/pull/183) 25 | * [Multi-line continuance](https://github.com/PowerShell/PowerShell-RFC/pull/179) 26 | 27 | ## Agenda 28 | 29 | * Got some feedback on RFC process, working to make some changes to process and automation 30 | * Review and add comments to https://github.com/PowerShell/PowerShell-RFC/issues/195 31 | * Per Jaykul's recommendation check out Pull Panda 32 | * vexx32 recommends checking out RubberDuck.io 33 | * PowerShell Gallery downtime 34 | * Last Tuesday (6/11), we were down from ~3 hours from 8:15a - 11:15a PDT 35 | * Problem in key rotation that has been addressed with fixes to automation 36 | * Thanks for reaching out and bearing with us! 37 | * Status currently hosted at https://github.com/PowerShell/PowerShellGallery/blob/master/psgallery_status.md 38 | * Where can we put this that is better? Is there something else we can do for better alerting? 39 | * PS 7 documentation 40 | * New folder has been created at https://github.com/MicrosoftDocs/PowerShell-Docs/tree/staging/reference/7 41 | * Make changes there for new features, if it's applicable to 6 and 7, make the changes in both places 42 | * This will show up in the version picker on Microsoft Docs while still in preview (as non-default) 43 | -------------------------------------------------------------------------------- /CommunityCall/notes/20250116_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell OpenSSH Community Call Notes - January 16, 2025 2 | 3 | ## Meeting Notes: 4 | 5 | **AI Shell Release:** Steven introduced a new CLI tool called AI Shell, designed to connect 6 | PowerShell and Shell instances to various AI assistants. He demonstrated its features, including the 7 | ability to run commands and resolve errors with AI assistance. 8 | 9 | **PSResourceGet Version 1.10:** Anam discussed the recent release of PSResourceGet version 1.10, 10 | which includes bug fixes for repositories like Artifactory and Azure DevOps, as well as increased 11 | publishing support for container registry repositories. 12 | 13 | **PowerShell Gallery CDN Migration:** Aditya provided an update on the migration of the PowerShell 14 | Gallery CDN from Hio to a new provider due to Hio's bankruptcy. The migration is complete, and all 15 | traffic is now serviced by the new provider. 16 | 17 | **PowerShell 7.6 Preview 2 Release:** Aditya announced the release of PowerShell 7.6 Preview 2, 18 | which includes updates based on .NET 9 and various changes since the last release. 19 | 20 | **OpenSSH Folder Permission Issues:** Tess provided an update on the OpenSSH folder permission 21 | issues that started after the October Windows Update. Changes to address these issues will be 22 | available in a future Windows Update starting at the end of February. 23 | 24 | **PowerShell Extension Release:** Andy mentioned an upcoming PowerShell extension release that will 25 | include a fix for assembly conflicts caused by Serilog. A prerelease will be available soon, 26 | followed by a stable release. 27 | 28 | **Bicep DSC Prototype:** Andy demonstrated a prototype for using Bicep to write DSC configurations, 29 | showing how Bicep can emit ARM templates that DSC understands. 30 | 31 | **PowerShell Documentation Updates:** Mike Robbins highlighted recent updates to PowerShell 32 | documentation, including new articles on type conversion and comments, as well as updates to the PS 33 | Script Analyzer rules documentation. 34 | 35 | **MFA Enforcement for Command Line Tools:** Damien reminded everyone about the upcoming MFA 36 | enforcement for command line tools like Azure CLI and Azure PowerShell, advising users to migrate to 37 | managed identities or service principals. 38 | 39 | **WebSockets in PowerShell:** James demonstrated the use of WebSockets in PowerShell, showing how to 40 | create a real-time object pipeline and a debuggable event-driven microservice. 41 | 42 | **PowerShell Summit and PSConfEU:** Steven mentioned the upcoming PowerShell Summit North America 43 | and PSConfEU, encouraging participants to check the schedules and attend these events. -------------------------------------------------------------------------------- /CommunityCall/notes/20220217_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - February 17, 2022 2 | 3 | ## Agenda 4 | 5 | - new WG members (Michael) 6 | - docs update (Sean) 7 | - moving to .NET 7 (Aditya) 8 | - demo the completion-based predictor (Dongbo) 9 | - VSCode extension update (Andy) 10 | 11 | ## Notes 12 | 13 | - Welcoming new [New WG Members](https://github.com/PowerShell/PowerShell/commit/7dd0c43fb391c322d2ed01f1df26154a765455f8) 14 | - Benchmark working group, DSC WG, few others 15 | - Big THANK YOU to the community 16 | 17 | - Docs Update 18 | - [about_Calling_Generic_Methods](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_calling_generic_methods?view=powershell-7.3) 19 | - 7.3 prerelease, new functionality to use generic methods in generic classes 20 | 21 | - Move to .NET 7 22 | - Planning to do preview release 7.3 preview 2 23 | - Based on .NET 7 preview 1 24 | - Few known issues noted 25 | - Not able to register a new package source 26 | - Switch off ready to run 27 | - More details in release notes 28 | 29 | - Demo the completion-based predictor 30 | - New Predictor based on PS tab completion 31 | - Able to start prediction based on tab completion of parameters 32 | - Will be open sourced and announced when it happens 33 | - It will only be supported in PS 7.2+, dependent on newer APIs 34 | 35 | - VS Code Extension Update 36 | - 2-3 preview releases since last community call 37 | - Lots of fixes with prompt handling, debugger issues 38 | - Much closer to stable experience! Please keep testing and submitting bugs 39 | - [Release Notes](https://github.com/PowerShell/vscode-powershell/releases/tag/v2022.2.1-preview) 40 | 41 | - Getting PowerShell Core in Windows 42 | - Size issue, exclusion for Windows Lifecycle 43 | - We are continually work on options to bring PS Core inbox in Windows 44 | 45 | - Microsoft Learn PowerShell Collaboration 46 | - We have some existing courses 47 | - Currently working with MSFT learn to get content out, not really certification style content 48 | - PS is a tool and is included in a lot of existing 49 | - PS is not captured in Az-204 exam as an option for a tool 50 | - C# and Visual Basic only, we would love to see PS as an option but matters about the 51 | certification requirements 52 | 53 | - MS Graph transition 54 | - MS modules and Az modules will be going forward changing into new graph 55 | - #1 priority to get communication of the transition out there 56 | - Known and being work on 57 | 58 | - We love to get anyones feedback on the PowerShell experience and how to enhance other cli 59 | experiences like kubectl etc 60 | -------------------------------------------------------------------------------- /Final/RFC0021-Link-header-based-pagination-for-WebCmdlets.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC0021 3 | Author: Steve Lee 4 | Status: Final 5 | SupercededBy: N/A 6 | Version: 0.1 7 | Area: Cmdlets 8 | Comments Due: 3/10/2017 9 | --- 10 | 11 | # Support for Link header based pagination for WebCmdlets 12 | 13 | Invoke-RestMethod makes it easy to automate against REST APIs. 14 | The standard for pagination based on https://tools.ietf.org/html/rfc5988#page-6 relies on a response header that you can only get via Invoke-WebRequest and requires each script to parse and utilize. 15 | 16 | ## Motivation 17 | 18 | REST APIs have a standard for pagination that Invoke-WebRequest and Invoke-RestMethod should adopt to simplify scripts so script authors don't have to write similar code for pagination. 19 | 20 | ## Specification 21 | 22 | Invoke-WebRequest would expose a RelationLink property in the output object. 23 | The RelationLink property would be a hash table of the relation links from the Link header. 24 | The `rel` value would be the key and the URL would be the value in the hash table. 25 | 26 | Example: 27 | ``` 28 | Link: ; 29 | rel="previous"; title*=UTF-8'de'letztes%20Kapitel, 30 | ; 31 | rel="next"; title*=UTF-8'de'n%c3%a4chstes%20Kapitel 32 | ``` 33 | 34 | This would result in RelationLink property hash table consisting of: 35 | 36 | |Key|Value| 37 | |---|---| 38 | |previous|/TheBook/chapter2| 39 | |next|/TheBook/chapter4| 40 | 41 | Since `title` is not a relation link, it is not exposed by this RFC. 42 | Malformed Link headers that do not conform to RFC5988 will be quietly ignored making this loose validating. 43 | 44 | Invoke-RestMethod would expose a `-FollowRelLink` switch to automatically follow the relation `next` links to the end if it exists. 45 | 46 | For use cases that have to throttle REST API calls (such as querying GitHub API), recommendation would be to use Invoke-WebRequest for finer control. 47 | 48 | ## Alternate Proposals and Considerations 49 | 50 | None 51 | 52 | ## PowerShell Committee Decision 53 | 54 | ### Voting Results 55 | 56 | Jason Shirk: Accept 57 | 58 | Joey Aiello: Accept 59 | 60 | Bruce Payette: Accept 61 | 62 | Steve Lee: Accept 63 | 64 | Hemant Mahawar: Accept 65 | 66 | ### Majority Decision 67 | 68 | Commmittee agrees that this RFC satisfies the motivation for pagination in webcmdlets. Requests: 69 | 70 | - Resolve relative URLs to absolute URLs for Invoke-WebRequest which is needed for Invoke-RestMethod capability 71 | - `-FollowRelLink` should have a way to limit the number of links to follow, default should be MaxInt. When non-success code is received, it should output where it stopped. 72 | 73 | ### Minority Decision 74 | 75 | N/A 76 | -------------------------------------------------------------------------------- /Archive/Draft/RFC0003-Lexical-Strict-Mode.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: 0003 3 | Author: Jason Shirk 4 | Status: Draft 5 | Area: Strict Mode 6 | Comments Due: 3/31/2016 7 | --- 8 | 9 | # Strict Mode 10 | 11 | Strict mode is a feature of PowerShell designed to catch scripting errors at runtime. 12 | It has been present since V1. 13 | In V1, it was a runspace wide setting controlled by the command `Set-PSDebug`. 14 | V2 added the command `Set-StrictMode` which is dynamically scoped, 15 | so it is possible to turn on strict mode is more limited fashion. 16 | 17 | Scripts and modules that enable strict mode often must disable strict mode 18 | when calling a ScriptBlock or command that was not tested with strict mode. 19 | Strict may report errors in the called commands and these errors are not always bugs. 20 | It is possible to write good PowerShell that reports an error in strict mode. 21 | 22 | ## Motivation 23 | 24 | This proposal suggests a way to make strict mode more useful so that more scripts and modules 25 | can turn it on and leave it on without worrying about the commands or ScriptBlocks that they call. 26 | 27 | ## Specification 28 | 29 | Global or dynamic scoping of strict mode causes problems for disciplined script authors 30 | who attempt to leave strict mode on for their scripts/modules and call scripts written by less disciplined authors. 31 | Today, a disciplined script author must typically disable strict mode when releasing the scripts. 32 | 33 | This RFC proposes a way of specifying strict mode to apply lexically: 34 | 35 | ```PowerShell 36 | using strict 37 | 38 | param([ScriptBlock]$sb) 39 | 40 | # Invoked script block not run in strict mode. 41 | & $sb 42 | 43 | # Error when property doesn't exist 44 | $sb.MissingProperty 45 | ``` 46 | 47 | Like all other using statements, `using strict` must appear before any code in the file. 48 | The syntax maybe be extended to provide finer grained control over which strict mode diagnostics are enabled. 49 | As proposed, it would enable all strict mode errors (like `Set-StrictMode -v Latest`). 50 | 51 | ### Alternate Proposals and Considerations 52 | 53 | #### Change Set-StrictMode 54 | 55 | We could change `Set-StrictMode` to work lexically. 56 | This option is attractive as it requires no new syntax. 57 | 58 | It would "break" people who rely on it working from the global scope, 59 | for example when they set it in their profile. 60 | 61 | This could also cause problems when running a script or module on an older 62 | version of PowerShell where `Set-StrictMode` uses dynamic scoping instead of lexical scoping. 63 | 64 | #### Open Questions 65 | 66 | * Should `Set-StrictMode -Off` have any effect? 67 | * Should there be an easy way to use lexical strict mode to apply to a module that consists of multiple ps1 files? 68 | Maybe a module manifest entry? -------------------------------------------------------------------------------- /CommunityCall/notes/20190815_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - August 15, 2019 2 | 3 | ## Agenda 4 | 5 | * RFCs 6 | * Process overall 7 | * Blog to come 8 | * Make sure to check out 9 | * Foreach-Object -Parallel 10 | * Ternary 11 | * Secrets management 12 | * PowerShellGet 3.0 13 | * Point to Jason 14 | * Preview 3 release 15 | * Out-GridView 16 | * Stance on Windows 17 | * ISE 18 | * Remainder of questions 19 | 20 | ## Notes 21 | 22 | * RFCs 23 | * Keep eyes peeled for blog on RFC process 24 | * Check out [7.0-Consider](https://github.com/PowerShell/PowerShell-RFC/pulls?q=is%3Aopen+is%3Apr+milestone%3A7.0-Consider) milestone on PowerShell-RFC repo to give opinion on RFCs 25 | PS Team would like for 7.0 26 | * Also looking at community RFCs 27 | * Jason is putting together a YouTube video on RFC process and ErrorView in particular 28 | * Current ErrorView tends to obscure a lot of the important aspects of the error message with verbosity, 29 | and we're looking to simplify it significantly. 30 | * PowerShell 7 releases 31 | * 7.0-Preview.3 is releasing next week 32 | * There will be a preview.4 33 | * We would like to ship at the end of this calendar year to align (roughly) with .NET Core 3.1 GA 34 | * Desire to have a release candidate (RC) in November 35 | * Only critical bug fixes assuming that there are no major problems with this release 36 | * If something is experimental in RC, it will stay experimental in GA 37 | * Out-GridView working fully cross-platform with `-PassThru` support 38 | * Also has a "Show Code" button that saves your column filters as `Where-Object` filters 39 | * Con: ships at 280 MBs due to native GUI code for each OS 40 | * Looking for opportunities to reduce this in the future 41 | * One hacky proposal: delete the other native dependencies at install time 42 | * Check out the repo at https://github.com/powershell/GraphicalTools 43 | * Long-term, we have a desire to support RIDs at install-time in the Gallery, no ETA there 44 | * Update on putting SQL module on GitHub? 45 | * Nothing to share right now 46 | * Guest management cmdlets on macOS/Linux 47 | * The WindowsCompatibility module works through Windows PowerShell / .NET 48 | in order to run those Windows PS cmdlets. 49 | We may invest in native binary wrappers for macOS/Linux in the future, 50 | but nothing we're committing to now. 51 | * Code/test coverage 52 | * Jim looking to tools like Coverlet for cross-platform code coverage 53 | * Jim will create an issue in the PowerShell issue for anyone looking to help out there 54 | * Backlog of community PRs 55 | * Team is focused on some feature work, and will pivot back to more PR reviews soon -------------------------------------------------------------------------------- /CommunityCall/notes/20180816_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - August 16, 2018 2 | 3 | ## Agenda 4 | 5 | * Release of the RC 6 | * PS Core Cmdlet Coverage on Windows 7 | * Get-* returns $null or non-terminating 8 | 9 | ## Notes 10 | 11 | * Release of 6.1.0-RC should come in this week (by EOD Friday) 12 | * Assume that any open PRs are not going to be merged for 6.1.0, 13 | they'll have to go into 6.2.0 14 | * If you feel strongly your PR needs to be in 6.1.0 for some reason, 15 | cc @SteveL-MSFT and @joeyaiello in the PR 16 | * Targeting the end of the month for the GA of 6.1.0 17 | * 1900+ (I found more after the call!) cmdlets are marked as compatible in the next iteration of Windows 10 18 | https://docs.microsoft.com/en-us/powershell/gallery/concepts/item-manifest-affecting-ui 19 | * Any way to mark a module as compatible with just Windows, or Windows and Linux 20 | * Why not build modules that abstract "universal" concepts (e.g. scheduled tasks) 21 | on both Windows and Linux 22 | * Difficult to merge layers of abstraction 23 | * Would be awesome to see an RFC of how a universal cron/schedtask module might look 24 | * https://github.com/PowerShell/PowerShell/issues/7541 25 | * Let's define top scenarios that we think are useful to be universal 26 | * Should these be owned/driven by PS Team, or should they 27 | * Darwin: give us examples, help the community drive 28 | * Mark: make things pluggable, tell distros/versions to implement interfaces 29 | * Smaller and larger PowerShell packages? 30 | * People agree it would be useful to have composable PowerShell distributions 31 | * We would like to release a minimal Docker instance that others can fork and grow 32 | * Scenarios around cross-repository dependencies that would be useful 33 | * E.g. Customizations on Chocolatey packages 34 | where both internal PS and Chocolatey repos are trusted 35 | * One request for a PS module for deploying internal Nuget/PSGallery repos 36 | * Can we have a trusted repository with rubberstamped components? 37 | * Looking into validating/trusting namespaces with the PS Gallery, 38 | would require new features in PS Gallery 39 | * Alternate proposal: new repository that's fully trusted, 40 | works with existing PS repository semantics 41 | * PowerShell Gallery UI refresh is not final 42 | * Get-* returns non-terminating error when value doesn't exist? 43 | * Discussion happening here: https://github.com/PowerShell/PowerShell/pull/7434 44 | * Annoying to have to handle the error 45 | * Realistically, many Get-* cmdlets should have a Test-* (e.g. Test-Module) 46 | * ConPTY will make OpenSSH better! https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/ -------------------------------------------------------------------------------- /CommunityCall/notes/20211118_Notes.md: -------------------------------------------------------------------------------- 1 | 2 | # PowerShell Community Call - November 18, 2021 3 | 4 | ## Agenda 5 | 6 | * December (Steve) 7 | * 7.2 GA (Steve) 8 | * 7.3 roadmap (Steve) 9 | * PS7 in Windows? (Steve) 10 | * VSCode-Extension update (Sydney/Andy) 11 | * PowerShell Gallery migration (Amber) 12 | * How can the community help the team? (Jason) 13 | * Updateable Help Update (Aditya) 14 | * PSScriptAnalyzer docs (Sean) 15 | * PSReadLine 2.2 update (Dongbo) 16 | * Welcome Michael (Michael) 17 | * Q&A 18 | 19 | ## Notes 20 | * Happy 15th birthday PowerShell! PowerShell is all about the community- thanks for all the support! 21 | * Welcome Steven to the PM team 22 | * We reached GA for PowerShell 7.2, check out the blog post and what's new documentation for details 23 | * Please let us know if there are any issues 24 | * We will be working on a PowerShell 7.3 roadmap/PowerShell all up in the coming months 25 | * We are looking into geting PowerShell 7 in Windows, we are working on an RFC on the approach for this 26 | * The two big challenges are size (PowerShell 7 needs to ship .Net with it) and support lifecycle (.Net only has a 3 year support lifecycle vs Windows requires 5) 27 | * We released an update to our PowerShell Preview extension for VSCode in October 28 | * Thank you so much to all the community support on this Preview release 29 | * We expect this work to come to the stable extension in the coming months, we are working through bugs and updating our tests 30 | * PowerShell 7.3-preview.1 is expected in December 31 | * We plan to have our next preview release of PowerShellGet in December 32 | * We have completed the PowerShell Gallery migration and hope to address more issues in the coming months 33 | * The community can help by inviting more folks into the feedback loop for PowerShell 34 | * We want to hear about the challenges you are facing in your work 35 | * Look forward to a new effort to help feature teams have an awesome PowerShell experience 36 | * The updatable help pipeline will point to the correct docs in the first servicing release for 7.2 37 | * We have started moving PSSA docs out of the source repo and into the Microsoft Docs platform 38 | * We are targeting GA for PSReadLine 2.2 in January, current focus is on stability 39 | * PowerShell 7.2 is compatible with PSReadLine 2.2 beta4 40 | * PSReadline 2.2 is compatible back to Windows PowerShell, but not all of the features will be available-- the AzPS predictor is only available on PowerShell 7.2+ 41 | * We are continuing work on OpenSSH-- look for multiple updates in the new year 42 | * Steve will open an issue in the RFC repo for folks to comment if they would like to join the committees 43 | * We dont have any plans for the providers, but it is not forgotten work 44 | * We will have more to announce on DSCv3 next year 45 | -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin) and [PowerShell](https://github.com/PowerShell). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /tools/Modules/RFC/RFC.Formats.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | RepoFileTable 5 | 6 | RepoFile 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Rightsize 18 | path 19 | FileUrl 20 | 21 | 22 | 23 | 24 | 25 | 26 | PullRequestTable 27 | 28 | GitPullRequest 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | RightNumber 41 | author 42 | gupdated 43 | Title 44 | 45 | 46 | 47 | 48 | 49 | 50 | GitForkInfoTable 51 | 52 | GitForkInfo 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | gpushed_at 63 | html_url 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /CommunityCall/notes/20230817_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - August 17 2023 2 | 3 | ## Agenda 4 | 5 | - Bug Bash recap @SydneyhSmith (Thank you community for joining!) 6 | - PSResourceGet Release @SydneyhSmith 7 | - Crescendo RC release @theJasonHelmick 8 | - DSC v3 @mgreenegit 9 | - Docs Update @sdwheeler 10 | - VSCode Extension preview release @andyleejordan 11 | - Azure PowerShell version update in-tool notification @dcaro 12 | - Conference recap @sdwheeler 13 | 14 | ## Notes 15 | 16 | - Very successful bug bash! Thank you to everyone who participated! (bug bash is an opportunity to 17 | try out new scenarios with new code and find bugs) 18 | - Found 20 bugs that were resolved in beta 24 for PSResourceGet 19 | - PSResourceGet beta 24 release - 20 | https://devblogs.microsoft.com/powershell/psresourceget-preview-24-is-now-available/ 21 | - Nothing blocking us from releasing a RC, expect in hopefully a month. 22 | - Crescendo 1.1.0 RC release - 23 | https://devblogs.microsoft.com/powershell/announcing-powershell-crescendo-1-1-0-rc1/ 24 | - Crescendo GitHub: https://github.com/PowerShell/Crescendo 25 | - Crescendo Docs: 26 | https://learn.microsoft.com/en-us/powershell/utility-modules/crescendo/overview?view=ps-modules 27 | - DSC v3 - Not dead! 28 | - DSCv3 repo: https://github.com/PowerShell/DSC 29 | - DSCv3 docs: https://learn.microsoft.com/en-us/powershell/dsc/overview?view=dsc-3.0 30 | - DSCv3 CLI docs: https://learn.microsoft.com/en-us/powershell/dsc/reference/cli/dsc?view=dsc-3.0 31 | - DSCv3 Samples site: https://powershell.github.io/DSC-Samples/ 32 | - DSCv3 Samples repo: https://github.com/PowerShell/DSC-Samples 33 | - Not taking PRs yet but feel free to submit issues and check it out! 34 | - Docs Update 35 | -https://learn.microsoft.com/en-us/powershell/scripting/community/2023-updates?view=powershell-7.3 36 | - Many DSC docs linked above, 55 new docs! Also new tutorial site (linked above) 37 | - Import PSGetRepository cmdlet 38 | https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.psresourceget/import-psgetrepository?view=powershellget-3.x 39 | - https://learn.microsoft.com/en-us/powershell/dsc/overview?view=dsc-3.0\ 40 | - VSCode extension release 41 | https://github.com/PowerShell/vscode-powershell/releases/tag/v2023.9.0-preview 42 | - No longer using month year day release version name 43 | - cwd setting and pwd setting support tildel 44 | - PSReadLine beta is in the release 45 | - Az update tool notification 46 | - Helps notify users that they are on an older version of Az.* cmdlets 47 | - Works for any Az.* cmdlet and likely release in the next month. 48 | - Conference recap 49 | - SQL Saturday 50 | - PowerShell on the River 51 | - Demos can be found here: 52 | https://github.com/PowerShell/vscode-powershell/releases/tag/v2023.9.0-preview 53 | - Spice World in Austing soon! 54 | - Community Support 55 | - Get involved! 56 | - Demos 57 | -------------------------------------------------------------------------------- /Archive/Rejected/RFC0022-RFC-Test-Connection-Cross-Platform.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC0022 3 | Author: Jody Whitlock 4 | Status: Rejected 5 | SupercededBy: RFC0037 6 | Area: Commands 7 | Comments Due: 8 | --- 9 | 10 | # Get-TestConnection cmdlet for non-Windows Systems 11 | 12 | Test-Connection, introduced in PowerShell 2.0 under the Microsoft.PowerShell.Management class provided a mechanism for sending ICMP echo requests within the PowerShell language and have the results returned as a PowerShell object that could be manipulated as such. 13 | 14 | While it's true that Test-Connection has evolved very little over the years and versions of PowerShell, on only need to look at the legacy that this cmdlet builds on, the ping command. This simple command has mostly remained unchanged for as long as the ICMP protocol has existed. It's a very simplistic function that while simplistic fills a massive void in network troubleshooting and validation of communication capabilities. 15 | 16 | ## Motivation 17 | 18 | The motivation for this RFC is as simple as the ping command itself; provide a Test-Connection cmdlet that can run on any platform that PowerShell can. This means stripping out some of the WSMan specific remoting capabilities that have been added to allow for distributed execution and removing WMI based methods and classes in favor of pure C# code. 19 | 20 | This could also be back-ported into the Windows implementation, which while immediately removing the remoting capability would increase the performance of the cmdlet by not requiring WMI accessors and allow for tighter integration between multiple platforms that this cmdlet could run on. 21 | 22 | It would also serve as a framework for further enhancement, such as using SSHRemoting to enable the distributed approach to performing a distributed ping, while allowing for some built in governor mechanism to prevent abuse of the distributed nature. 23 | 24 | Lastly, and most importantly, while the current Test-Connection cmdlet in the Windows invocation of PowerShell is limited, it is used extensively to check for the existence and responsiveness of remote systems. By not providing a non-Windows specific implementation that is as close in parameter set and return types then existing code must be re-written to overcome this limitation, or adoption of PowerShell on non-Windows platforms may be barred by the lack of this simple but widely used functionality. 25 | 26 | ## Specification 27 | 28 | ## Alternate Proposals and Considerations 29 | 30 | An alternate proposal is to not implement Test-Connection but rather build a new cmdlet from the ground up to replace Test-Connection entirely. This would be similar in impact to not implementing Test-Connection cross-platform by requiring an unknown amount of code changes to occur before adoption on non-Windows platforms can occur. 31 | 32 | This may also lend to those that require this functionality to create seperate code-bases and modules to fill the gap, leading to many custom solutions and suffering from the lack of standards and community collaboration. -------------------------------------------------------------------------------- /CommunityCall/notes/20190221_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call 2 | 3 | ## Action Items 4 | 5 | * Joey: move everyone to a Teams call 6 | 7 | ## Agenda 8 | 9 | * Recent/Upcoming Releases 10 | * Future branding/releases 11 | * .NET Core 3.0 12 | * PSSA rules 13 | * Support lifecycle 14 | * Sydney: proposed RFC 15 | * Blog updates 16 | * Time for Q&A 17 | 18 | ## Notes 19 | 20 | * Just shipped 6.1.3 as a servicing update 21 | * 6.2.0-RC should be released next week 22 | * Planned final release pending any problems with the RC will be in March 23 | * Still based on .NET Core 2.1 24 | * Non-goal: doing a new release of PowerShell Core that doesn't care about backwards compatibility 25 | * With .NET Core 3.0, we'll have more of what was more available in .NET Framework 26 | * GUI Windows APIs (WinForms and WPF) 27 | * Managed C++ 28 | * More Windows-specific APIs 29 | * After we move to 3.0, we'll be going through a compatibility exercise 30 | * Initial pass will be against inbox Windows modules 31 | * After that, we'll start looking at other first-party modules 32 | * O365, Azure AD, long tail, etc. 33 | * Desire to look at popular community modules 34 | * Almost finished with PS Script Analyzer compatibility rules 35 | * These rules will use compatibility catalogs to inform users about what might not be available in any given environment 36 | * Mix and match OS, versions of .NET, versions of PowerShell, etc. 37 | * Remoting from Linux to Windows 38 | * Joey still owes a remoting matrix for more details 39 | * This will include a link to a community effort to make remoting from Linux using Kerberos easier 40 | * Support lifecycle will likely snap to .NET Core's support lifecycle 41 | * .NET Core 3.0 is non-LTS 42 | * Some .NET Core 3.x in the future will be LTS, and so will the corresponding PowerShell 43 | * Proposed new telemetry 44 | * We use telemetry to prioritize where we focus our time 45 | * Today, this is especially in regards to which platforms, distros, and versions are important 46 | * We'd like to use it to understand more, e.g. usage of experimental features 47 | * Privacy and performance are the top priorities in our implementation 48 | * Also want to make sure that our telemetry is valuable to the community in addition to Microsoft 49 | * To that end, we'll make our data available in a public PowerBI dashboard 50 | * Will be publishing an RFC with our proposal, please provide comments 51 | * Also thinking about giving module/extension authors the ability to easily implement their own telemetry 52 | * Blog moved to https://devblogs.microsoft.com/powershell 53 | * Redirects are in place from the old MSDN blog 54 | * Only thing not migrated were comments 55 | * Conferences coming up 56 | * MVP Summit 57 | * PowerShell + DevOps Global Summit 58 | * PSConfEU 59 | * PSConfAsia 60 | * We're using the `6.3-consider` milestone to place work that we're considering for the next release 61 | * No committments yet! 62 | * If your favorite work isn't marked, make sure to comment and @mention @SteveL-MSFT -------------------------------------------------------------------------------- /Archive/Withdrawn/RFC0057-Cross-Platform-Out-GridView.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: '0057' 3 | Author: John Zeiders 4 | Status: Withdrawn 5 | SupercededBy: 6 | Version: 0.1 7 | Area: Commands 8 | Comments Due: 6/25/2019 9 | --- 10 | 11 | # Cross Platform Out-GridView 12 | 13 | Out-Gridview was a popular command in Windows PowerShell. 14 | Its dependence on Windows Presentation Foundation API's meant that it didn't make it into PowerShell Core. 15 | 16 | > The Out-GridView cmdlet sends the output from a command to a grid view window where the output is displayed in an interactive table. 17 | 18 | # Motivation 19 | 20 | The feature is a commonly cited reason for not migrating to Powershell Core and its implementation will help further adoption. 21 | 22 | # Specification 23 | 24 | ## cmdlet 25 | 26 | The cmdlet will be a modern implementation of [Out-GridView](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-gridview?view=powershell-5.1) and also cross platform supported. 27 | 28 | ```powershell 29 | Out-GridView 30 | [-InputObject ] 31 | [-Title ] 32 | [-PassThru] 33 | [] 34 | 35 | Out-GridView 36 | [-InputObject ] 37 | [-Title ] 38 | [-Wait] 39 | [] 40 | 41 | Out-GridView 42 | [-InputObject ] 43 | [-Title ] 44 | [-OutputMode ] 45 | [] 46 | ``` 47 | 48 | ## GUI 49 | 50 | The GUI will be implemented on top of [Avalonia UI Framework](https://github.com/AvaloniaUI/Avalonia). 51 | The project was chosen for its active development, implemented capabilities, modeling of WPF, and cross platform support. 52 | 53 | A new feature `Show Script` will be added that will generate an equivalent PowerShell script that represents the filters manually applied to Out-GridView. 54 | The goal being to enable better automation at scale while also allowing graphical editing of filters. 55 | 56 | Wireframe of the new design. 57 | The wireframe is intended for visual reference, it is **not** a pixel perfect representation. 58 | The most important part to note is the new layout for filters as opposed to the original "Criteria Panel". 59 | 60 | ![Out-GridViewMockup](https://github.com/PowerShell/PowerShell-RFC/blob/9112feb522323ffbb55782ada8cdb6d618bbd83b/assets/Out-GridView/out_gridview_mockup.png) 61 | 62 | ## Module 63 | 64 | Out-GridView will be added to the PowerShell Graphical Tools Module Microsoft.PowerShell.GraphicalTools. 65 | Forming the basis for future cross-platform graphical commands. 66 | 67 | ## Removed Features 68 | 69 | * Search in Column - Better solved by filters 70 | 71 | # Alternative Proposals and Considerations 72 | 73 | ## GUI Frameworks 74 | 75 | ### Electron 76 | 77 | Despite it's popularity as a cross-platform framework, it's slow boot times make it the wrong choice for a command that is frequently used to create confirmation and selection prompts. 78 | 79 | ### Web 80 | 81 | An interesting concept, particularly interesting for the ability to integrate directly into VSCode. 82 | However, the dependency on having a browser pre-installed makes it less than ideal. 83 | -------------------------------------------------------------------------------- /CommunityCall/notes/20210218_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - February 18, 2021 2 | 3 | ## Agenda 4 | 5 | * PowerShell 7.2 preview 3 release 6 | * New Community Blog 7 | * Community Demos 8 | * https://twitter.com/SQLvariant demo on PowerShell Notebook 9 | * https://twitter.com/JustinWGrote demo on his profile.ps1 10 | * https://twitter.com/adamdriscoll demo on TUI designer 11 | * [Q&A](https://github.com/PowerShell/PowerShell-RFC/issues/278) 12 | 13 | ## Notes 14 | 15 | * PowerShell 7.2 preview 3 release 16 | * Released 2 days ago (2/16) 17 | * Marks the first release with .NET 6 (preview 1) 18 | * New progress bar demo 19 | * Renders much faster than the existing graphical progress bar 20 | * Width, color, and style (e.g. italic) now customizable 21 | * Old progress bar still available as "classic" 22 | * Just like existing implementation today and not shown in transcript 23 | * No styling on top because of security presenting access to console buffer on non-Windows 24 | * Could potentially look into re-adding on Windows, but not a priority today 25 | * DSC for PowerShell 7 26 | * Scoped entirely to Get-DscResource, Invoke-DscResource and Configuration compilation 27 | * We do not currently have plans for an LCM, pull server, or Configuration execution 28 | * New Community blog 29 | * Sean Kearney has been keeping the lights on with the Hey, Scripting Guy! blog since 30 | Ed Wilson retired 31 | * Huge shout-out to Thomas Lee (@doctordns) who reached out to offer time to revitalize old 32 | Hey, Scripting Guy posts and write new ones 33 | * New community blog moved to GitHub and redesigned around community contributions 34 | * You can contribute posts, edits, and ideas directly via GitHub 35 | * @SQLVariant / Aaron Nelson on managing PowerShell and SQL Notebooks 36 | * Check out Doug Finke's [PowerShellNotebook module](https://www.powershellgallery.com/packages/PowerShellNotebook/) 37 | * SASS cmdlets in SqlServer module also working in PS7 now! 38 | * Demos from outside the PowerShell Team 39 | * Today, if you're interested, post in the Q&A issue thread on PowerShell-RFC repo for 40 | the community call you'd like to present in 41 | * @adamdriscoll on a terminal UI (TUI) designer 42 | * Many PowerShell "UIs" use `gui.cs` as a cross-platform TUI library 43 | * TUI designer generates gui.cs-based TUIs (from within a TUI!) 44 | * Check out Adam's blog for more info 45 | * TUIs are awesome for remoting, no context switching, and more! 46 | * Update on PowerShellGet 3.0 47 | * Focused efforts on PowerShell Gallery since our outage in October 48 | * Now, focus is back on PowerShellGet 3.0, planning for new preview release in March 49 | * Targeting late Spring / early Summer to ship in PS7, 50 | * Targeting mid- / late summer to GA 51 | * Top considered post-GA features for 3.1 may include NuGet dependency support 52 | * Next RC for SecretManagement targeting first week or two of March 53 | * Last RC release was in January 54 | * Based on customer feedback, decided to add secret metadata as a feature before we GA 55 | * That metadata feature will be included in the next RC release 56 | * Hoping for GA in April-ish timeframe 57 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220818_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - August 18th 2022 2 | 3 | ## Agenda 4 | 5 | - New team member intro, PS7.3 roadmap and PS7.4-preview plan @SteveL-MSFT 6 | - VSCode updates/regression tests @andschwa 7 | - Daily builds on .NET 7 RC1 @adityapatwardhan 8 | - PowerShellGet updates @anamnavi 9 | - Walk-through demo (Sarah) 10 | - Archive module updates (Abdullah) 11 | - Archive 2.0 Roadmap (Steve) 12 | - Docs update @sdwheeler 13 | - Get-WhatsNew is now available @theJasonHelmick 14 | - Community updates @compwiz32 15 | - Please preload topics/questions/demos 16 | 17 | ## Notes 18 | 19 | - Welcome Alyssa! Focusing on PSGet and PSGallery 20 | - 7.3 RC next month in September. Much more conservative on changes to take, reducing 21 | regression/instability risk 22 | - 7.4 previews towards the end of the year 23 | - 7.0 in support until December 2022 24 | - Max three releases a month, if no 7.0/7.2 release then we will have 7.4 preview. 25 | - Soon moving master branch to consume .NET SDKs RC 26 | - Few .NET regressions we found because of that we have not been shipping ready to run binaries 27 | for 7.3 previews 28 | - Try and use daily builds soon! Would love feedback on it 29 | - Made a LOT of progress with vscode ext tests, few key ones: 30 | - Debugger breaking in untitled script, have unit tests 31 | - dot sourcing operator regression tests 32 | - end to end integration testing for VIM 33 | - PowerShellGet Updates 34 | - Preview release 3.0-preview16- currently not supported on PowerShell 7.0, 7.1 or 7.2-preview1 35 | due to dependency issues. 36 | - Refactor ScriptFile cmdlets 37 | - Refactored Update-ModuleManifest 38 | - Authenticode check for Install-PSResource 39 | - Next preview is focused on performance\ 40 | - PowerShell VSCode Walkthrough- thank you for the surveys hopefully release soon 41 | - Preview 2 of Archive cmd released last week 42 | - Various bug fixes and rewrites of cmdlets in C# 43 | - Preview 3 should come soon with tar, gz support and many more 44 | - Archive 2.0 will be worked on in the future, just no ETA at this time 45 | - Doc's Update 46 | - "Optimizing Shell experience" has few new pages - user documentation for PSReadLine 47 | - Update to doc page of PS VSCode extension on VSCode page and will be keeping up to date in future 48 | - Big updates to PowerSHellGet help for existing cmdlets and keeping up to date with previews 49 | - Shout out to Mikey! Desired State Configuration 2.0 documentation!! 50 | - Get-WhatsNew cmdlet has been released! - gives you latest "whats new" and sets up message of the day 51 | - Give us feedback on our repo 52 | - Community Updates - Celebrate the community 53 | - Automation summit - https://www.automationsummit.org/ 54 | - PSConfEU videos: https://www.youtube.com/c/PowerShellConferenceEU 55 | - PowerShell Southamption group - https://www.meetup.com/PowerShell-Southampton/ 56 | - PowerShell org calendar - https://powershell.org/calendar/ 57 | - Highlighting some modules! 58 | - WebJEA - https://github.com/markdomansky/WebJEA 59 | - RoboCopy PS module - https://www.powershellgallery.com/packages/RoboCopy/ 60 | -------------------------------------------------------------------------------- /CommunityCall/notes/20240321_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - March 21 2024 2 | 3 | ## Agenda 4 | 5 | - SSH Inbox @maertendMSFT 6 | - PSResourceGet Updates @SydneyhSmith 7 | - PS Gallery Updates @SydneyhSmith 8 | - VSCode Updates @SydneyhSmith 9 | - DSC v3 Update Michael Greene! 10 | - PSSA Release @JamesWTruher 11 | - PSRL Release @StevenBucher98 12 | - Doc Updates @sdwheeler 13 | 14 | ## Notes 15 | 16 | ## Sydney Smith (SHE/HER) - 1:54 17 | 18 | - Explains the trial of an evening change occurring once every six months to accommodate different time zones, particularly Asia and Australia. 19 | - Indicates that while the call's regular time will be maintained, occasional adjustments aim for inclusivity. 20 | - Thanks attendees and announces a brief waiting period for late arrivals. 21 | - Acknowledges Jason's welcome message in the chat. 22 | - Informs about the call being recorded and available on YouTube. 23 | - Highlights the adherence to the code of conduct and encourages participation. 24 | 25 | ## Danny Maertens - 5:22 26 | 27 | - Provides updates on Win32 OpenSSH, which will be installed by default in Windows Server 2025. 28 | - Emphasizes security measures and invites feedback. 29 | 30 | ## Sydney Smith (SHE/HER) - 6:29 31 | 32 | - Updates on PS Resource Get: 33 | - Released patch version 103 for bug fixes. 34 | - Announces nearing completion of PS Resource Get Preview 1 with support for container registries. 35 | - Demonstrates registering a repository from Azure Container Registry (ACR) and discusses authentication integration with Azure Identity SDK. 36 | 37 | ## Sydney Smith (SHE/HER) - 14:15 38 | 39 | - Clarifies James Brundage's inquiry about PS Resource Get compatibility with Docker and ACR. 40 | - Discusses potential name conflict concerns and assures compatibility efforts. 41 | - Updates on PSGallery: 42 | - Highlights UI changes and explains the difference between package owners and authors. 43 | - Addresses future plans for PSGallery and potential migration to V3 or integration with Azure Container Registry. 44 | 45 | ## Sydney Smith (SHE/HER) - 32:56 46 | 47 | - Provides an update on the VS Code extension: 48 | - Mentions the recent preview update. 49 | - Highlights module updates and removal of the Command Explorer from default visibility. 50 | 51 | ## Michael Greene (POWERSHELL) - 26:53 52 | 53 | - Discusses DSC V3 progress: 54 | - Delays code completion to mid-April. 55 | - Highlights abstraction between DSC and resources, aiming for compatibility and flexibility. 56 | - Outlines plans for adapters and cross-language resource support. 57 | 58 | ## Jim Truher - 33:09 59 | 60 | - Announces Script Analyzer 1.22 release. 61 | - Acknowledges community contributions. 62 | 63 | ## Steven Bucher - 34:29 64 | 65 | - Reports PSReadline 2.4.0 beta release focused on bug fixes. 66 | - Encourages feedback for further improvements. 67 | 68 | ## Sean Wheeler - 35:20 69 | 70 | - Provides updates on documentation: 71 | - Mentions updates for PowerShell 7.5, DSC, and Script Analyzer. 72 | - Highlights changes and additions to documentation content. 73 | 74 | ## Sydney Smith (SHE/HER) - 37:26 75 | 76 | - Concludes the main agenda items. 77 | - Offers Jordan the opportunity for a demo. 78 | -------------------------------------------------------------------------------- /CommunityCall/notes/20231019_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - October 19 2023 2 | 3 | ## Agenda 4 | 5 | - PSResourceGet GA - @SydneyhSmith @anamnavi @alerickson (Anam, Amber) 6 | - Stable Release of VSCode @andyleejordan 7 | - PSReadLine GA @StevenBucher98 8 | - 7.4 RC @SteveL-MSFT 9 | - OpenSSH 9.4 @tgauth (Tess) 10 | - Az CLI/PS Updates @dcaro 11 | - Docs Update - @sdwheeler 12 | - GitHub Issues Updates Nov 1st @SteveL-MSFT 13 | - Ignite @StevenBucher98 @SydneyhSmith 14 | - November Community Call date change @StevenBucher98 @SydneyhSmith 15 | - Community Demo/Announcements/Discussions 16 | - PSSummit CFP - James Petty 17 | 18 | ## Notes 19 | 20 | - Action packed agenda 21 | 22 | - PSResourceGet GA 1.0 23 | - will be included in 7.4 previews/rc 24 | 25 | - New vscode extension stable release 26 | - Many bug fixes and stabilization 27 | - latest PSRL 2.3.4 is include 28 | - See release change notes for all the other fixes 29 | 30 | - PSReadLine GA 2.3.4 31 | - Mostly fixes and improvements to 'listview' for predictive intellisense 32 | 33 | - PS 7.4 34 | - Should hit RC 1 later this month 35 | - Ideally a GA Nov, may have 7.5 preview in December, not guaranteed 36 | 37 | - OpenSSH 9.4 release 38 | - incorporated some security fixes 39 | - Check out release notes! 40 | - ssh server, now starting server will check permissions of ssh folder that user and admins have 41 | access 42 | - Don't forget to submit issues 43 | https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v9.4.0.0p1-Beta 44 | 45 | - Az CLI/PS Updates 46 | - Improve addressing scenarios for client tools 47 | - nothing changes cmdline view but have better consistency between CLI tools and portal 48 | - End state identical with portal, idempotence, allows a "WhatIf" scenario 49 | - Public preview is not available 50 | https://techcommunity.microsoft.com/t5/azure-tools-blog/announcing-template-based-previews-of-azure-cli-and-azure/ba-p/3933802 51 | - Important for us to get feedback about problems or unexpected behavior 52 | - Here is form to submit feedback: 53 | https://forms.office.com/pages/responsepage.aspx?id=v4j5cvGGr0GRqy180BHbR9sm3BhP_m5Cnz-z5SzAEL9UN0FUN1pET1VFMUYxT1g5ME5HTENZUlo1OC4u 54 | 55 | - DSC v3 is making great progress in the repo 56 | - Now is a great time to join and start testing! 57 | 58 | - Doc updates 59 | - Crescendo 60 | - Feedback provider docs 61 | - PSResourceGet docs 62 | - DSC docs and samples 63 | - Still time to submit PRs for Hacktoberfest 64 | 65 | - PowerShell Repo GitHub Issue Update 66 | - Enacting on Nov 1st, bot to mark issues with no activity and a different bot will close the issue after 7 days of that label. 67 | - Recommend you use latest version of PowerShell and submit a new issue. 68 | 69 | - November Community call will be **Nov 30th** 70 | 71 | - December community call will be community ran, see discussion topic for more information 72 | 73 | - Ignite Nov 14–17 we have two PowerShell specific sessions 74 | - PowerShell discussion panel 75 | - Secret Management demo 76 | 77 | - PS Summit CFP is now open https://sessionize.com/pshsummit24 78 | 79 | - PSConfEU miniConf next week Oct 24th https://psconf.eu/ 80 | 81 | - Community demos 82 | -------------------------------------------------------------------------------- /CommunityCall/notes/20221020_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - October 20th 2022 2 | 3 | ## Agenda 4 | 5 | 7.3 rc updates, Windows 7 support updates @adityapatwardhan 6 | OpenSSH updates, SSH server fingerprint validation discussion @maertendMSFT 7 | Docs Update + Hacktoberfest @sdwheeler 8 | PSSA Release @JamesWTruher 9 | PowerShell Unplugged 10 | Community updates 11 | 12 | ## Notes 13 | 14 | - Steve communicated that November will be the last community call for 2022 due to vacations and 15 | disruptions in Dec. No feedback was given. 16 | 17 | - Aditya communicated that due to compliance, future releases of PS will drop support for Windows 7. 18 | No feedback was given. 19 | 20 | - Danny gave an update on OpenSSH releases coming up. Asked for validation regarding fingerprint 21 | validation. Asked for use cases or if anyone is already validating fingerprints. Feedback was 22 | given that this support should also be extended to RDP. Communicated that Az PS SSH is now 23 | available, including `Enter-AzVM`. Question, whether we could include the module as default with Az 24 | PS. Damien mentioned it could be in the future. Question if Arc will support RDP. Danny explained 25 | that it already works. Question on x509 cert auth for SSH. ALso a bug was raised from GitHub. Bug 26 | link: https://github.com/PowerShell/Win32-OpenSSH/issues/1971 27 | 28 | - There was GREAT discussion about SSH. The community is confirmed that SSH is the way forward. 29 | Content creators are interested in working with PMs to create how-to information publicly. Danny 30 | explained that SSH on Server is not on by default and appreciates all the asks to change that. 31 | Requested a GH issue to document votes. 32 | 33 | - There was a lot of discussion about SSH auth. In the case of double-hop, PS using JEA works well. 34 | For SSH, auth is lost on the double-hop. Danny explained that this is a known problem. 35 | 36 | - Sean presented on new docs content about how to create a class based DSC resource. Also presented 37 | on Hacktoberfest coming up soon. Pointed out that people do not have to be experts. There is a lot 38 | of content that just needs formatting or polishing. He explained how to find the specific items 39 | that need assistance. Questions included checks about DSC content including Reasons information. 40 | 41 | - Jim discussed new progress in PSSA. He expressed thanks for community contribution from Chris. New 42 | features are available including interactive use cases. He explained which features are being 43 | retired and how to find more information. No major feedback. Additional shout-outs to Chris for so 44 | much work, and he was on the call to hear the gratitude. 45 | 46 | - The community mentioned that the SpiceWorld session was great this year. 47 | 48 | - **PowerShell UnPlugged** 49 | [Video](https://www.thomasmaurer.ch/2022/10/powershell-unplugged-2022-edition/) 50 | 51 | - Mike asked the community to submit proposals for PS Summit 2023. He also spoke about how new 52 | presenters could get help both for content and just overall reducing anxiety about public 53 | speaking. Also provided information about the Onramp for entry-level people. 54 | 55 | - Community asked about FIDO2 support for SSH reaching Windows. 56 | -------------------------------------------------------------------------------- /CommunityCall/notes/20190919_Notes.md: -------------------------------------------------------------------------------- 1 | ## Notes 2 | 3 | * Releases 4 | * 7.0.0-preview.4 out later today, blogpost to come with GIFs on features 5 | * Working towards ~December Release Candidate, ~January General Availability 6 | * Bound to .NET Core 3.1 and their dates 7 | * Will get LTS support for 7.0 and .NET Core 3.1 8 | * PowerShell Script Analyzer 1.18.3 released with a critical bugfix (get it from the Gallery!) 9 | * RFCs 10 | * Going through an exercise of rewriting our processes and principles around PowerShell and RFCs 11 | * Want to provide more transparency and dependability, but also the Committee is an executive body that sometimes has to make unpopular decisions 12 | * "We want to be sure we don't preclude behavior when we add behavior." - Jim 13 | * PowerShellGet 3.0 14 | * We want to make sure that new modules are well-tested and used in production 15 | before they ship into PowerShell 16 | * PSGet 3.0 will be in preview in 7.0 GA, and will not make it's way into PS until 7.x 17 | * Some PS Team owned cmdlets are missing in PS Core vs. Windows PS 18 | * We cannot legally use private/undocumented Windows APIs from PowerShell as it ships outside of Windows* 19 | * Some "work just fine" when sideloading inbox Windows modules (like `Microsoft.PowerShell.LocalAccounts`), 20 | but others cannot be imported because they have the same name as existing PS Core modules 21 | * For these, use the `WindowsCompatibility` module to call into them via Windows PowerShell 22 | * DSC 23 | * `Invoke-DscResource` being made available cross-platform in 7.0 24 | * Not calling through a Local Configuration Manager (LCM), 25 | but invoking directly in user context via PowerShell 26 | * `Configuration` blocks now compile correctly on macOS as well 27 | * Still some bugs/kinks that need to be documented, but it's a good start 28 | * 3.0, 4.0, and 5.1 documentation is being maintained on `PowerShell-Docs` and `windows-powershell-docs` repos, 29 | but hasn't been finding it's way into updateable help 30 | * Sean has a blog post on platyPS and using the Markdown source in the docs repo 31 | to manually update your console help on downlevel versions 32 | * Currently in the process of archiving (read-only) the 3.0, 4.0, and 5.0 help 33 | (5.1 will continue to be maintained) 34 | * PS Conference Asia 35 | * Demos 36 | * `ForEach-Object -Parallel` is awesome, check out the demo and Paul's blog post 37 | * Go through GitHub Issues 38 | * Q&A 39 | * Conditional chain operator (`&&` and `||`) going to make it in time for PS7? 40 | * Would like to make this into 7.0-preview.5 as experimental 41 | * Is PS Conf Asia being streamed online? 42 | * We don't believe so, but there will likely be recordings 43 | * When does 6.2 support end? 44 | * 6 months after 7.0 GAs, roughly July of next year 45 | * Is this being recorded? 46 | * Yes, we record all Community Calls and put them on YouTube, 47 | easy to find at https://aka.ms/PSCommunityCall 48 | * `@@` "generalized splatting" will likely not make it for PS 7.0, 49 | no one from our team is working on that 50 | * Is Dispose() work being done? 51 | * Joel Sallow needs us to finish his RFC before he can finish code -------------------------------------------------------------------------------- /CommunityCall/notes/20210715_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - July 15, 2021 2 | 3 | ## Agenda 4 | 5 | - PowerShell 7.2 update (Steve) 6 | - Datetime JSON serialization fix 7 | - DetailedView ErrorView 8 | - `-View` tab completion 9 | - FileInfo colors 10 | - Microsoft Update update (Travis) 11 | - SecretManagement 1.1 release (Paul) 12 | - PowerShellGet 3.0 update (Anam) 13 | - Crescendo preview 3 (Jason) 14 | - PSArm update (Danny) 15 | - Demos 16 | - Copilot (Steve) 17 | 18 | ## Notes 19 | 20 | * PowerShell 7.2 preview 8 coming out in the next week or so 21 | * JSON serialization DateTime fix no longer includes extended members 22 | * @Jaykul: Would be useful to also support auto-casting to `DateTimeOffset` when getting that 23 | from remote JSON 24 | * `$ErrorView = 'DetailedView'` will give you the full `Get-Error` output at failure time 25 | * this is great for CI/CD where the session is lost after execution is finished 26 | * `Get-Foo | Format-Table -View ` now has proper completions, 27 | making formatter views more discoverable and potentially useful 28 | * Added colorization as an experimental feature to `Get-ChildItem` output 29 | * Microsoft Update is now working as an opt-in for 7.2 preview customers 30 | * Resolved some minor issues during preview 7 31 | * You can still opt in via [these blog instructions](https://devblogs.microsoft.com/powershell/preview-updating-powershell-7-2-with-microsoft-update/), 32 | but you can also use the MSI now to opt-in to both 7.2 updates and MU in general 33 | * SecretManagement 1.1 going to GA this/next week after a small brekaing change preview from last month 34 | * Check out [this blog](https://devblogs.microsoft.com/powershell/secretmanagement-module-v1-1-0-preview-update/) 35 | for more info 36 | * PowerShellGet 3.0 37 | * `Find-` has been merged in, `Install-` and `Save-` are going through bug bashes before we merge them 38 | * Expect a new preview within the next couple weeks 39 | * Working towards GA this year depending on feedback for backwards-compatibility to 2.x 40 | * Crescendo preview 3 41 | * Will include breaking changes on schema updates in order to handle multiple command 42 | definitions within a single JSON 43 | * Better output parsing for creating objects from text 44 | * Adding native command elevation 45 | * platyPS 2.0 preview 2 46 | * New release coming within the next couple weeks, look to blogs for new features 47 | * Used across Microsoft for 1st party modules, driving consistency in module reference documentation 48 | * PSArm update 49 | * Working very closely with the Bicep team, 50 | we want to take advantage of their momentum as much as possible going forward 51 | * Will be sharing a blog update within the next couple weeks 52 | * Demo: GitHub Copilot 53 | * Update on Windows 11 54 | * No major changes from PowerShell on the first release 55 | * We are aggressively investigating and having discussions on how PowerShell 7 can be more inbox 56 | * Could be installed by default from Store 57 | * Investigating FoD 58 | * Dependent on our ability to make minimal PS7 small enough for Windows requirements 59 | * Updating PackageManagement and PowerShellGet will only happen after we've validated strong 60 | compatibility from 2.x to 3.x 61 | -------------------------------------------------------------------------------- /Archive/Rejected/RFC0024-Performance-Testing.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: 3 | Author: Aditya Patwardhan 4 | Status: Rejected 5 | SupercededBy: 6 | Version: 0.2 7 | Area: Testing 8 | Comments Due: 10/15/2017 9 | Plan to implement: Yes 10 | --- 11 | 12 | # Performance testing for PowerShell 13 | 14 | This RFC proposes the plan to add AppInsights instrumentation to collect performance telemetry from daily CI runs. 15 | This RFC specifies the additional telemetry that will be added. 16 | 17 | ## Motivation 18 | 19 | To validate the performance of PowerShell, we need to gather performance measurements at regular intervals. 20 | This will enable us in visualizing performance trends and help us identify performance regressions. 21 | 22 | ## Specification 23 | 24 | This RFC proposes to add AppInsights telemetry data points to gather performance metrics. 25 | These metrics will be collected only during daily CI runs in AppVeyor and Travis CI. 26 | Typically, we would need large number of iterations to get stable numbers. 27 | A [metric aggregator](https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#trackmetric) will be used to compose the data from iterations and then upload the telemetry data points. 28 | This will avoid throttling and dropping of events. 29 | 30 | The metric collection code will be within a `#ifdef` and will only be compiled in when PowerShell is built with `Performance` configuration. 31 | There will be no performance metric collection code in official builds. 32 | 33 | ### Proposed performance test scenarios 34 | 35 | * PowerShell startup time for cold and warm start. 36 | 37 | * `Get-Command` for a particular module. 38 | 39 | * `Get-Help` for non-existent command, about topic and cmdlet. 40 | 41 | * `Import-Module` for script-based, binary modules. 42 | 43 | * `Get-Module -ListAvailable` of a scoped PSModulePath constrained to test modules. 44 | 45 | * Parsing of scripts, classes. 46 | 47 | Telemetry events will be added to PowerShell code at appropriate locations to collect these metrics. 48 | Before recording data points, it will be verified that we are running a daily run in AppVeyor or Travis CI. 49 | PowerBI dashboard will be created to visualize the metrics. 50 | 51 | ### Environment 52 | 53 | * PowerShell assemblies are CrossGen'ed. 54 | * PSModulePath will be scoped to performance test modules path. 55 | * Windows, Linux and MacOS have separate AppInsights streams, so they can be tracked separately. 56 | * All measurements will be for test artifacts to reduce variance due to product module changes. 57 | 58 | ## Alternate Proposals and Considerations 59 | 60 | AppInsights was chosen to achieve cross platform compatibility. 61 | Another alternative would be to develop a framework to log metric as cross platform module. 62 | It would be lot of work to create a precise and reliable framework. 63 | 64 | Defining goals for these metrics is out of scope for this RFC. 65 | 66 | DotNet / CoreFX uses [xUnit performance framework](https://github.com/Microsoft/xunit-performance). 67 | It requires us the develop the tests in C# and hence we would have to use Powershell APIs to execute tests. 68 | The lowest granularity for measurement we get would be around `PowerShell.AddScript().Invoke()`. 69 | This would be too broad of a measurement and might hide the scenario under test. 70 | -------------------------------------------------------------------------------- /CommunityCall/notes/20190117_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - January 17, 2019 2 | 3 | ## Notes 4 | 5 | * PowerShell-Docs repo move postponed to next week (1/23) 6 | * Will be migrating from PowerShell GitHub org to MicrosoftDocs 7 | * only affects contributors, docs will remain in place on docs.microsoft.com 8 | * contributors should update their remotes 9 | (see [this blog post](https://blogs.msdn.microsoft.com/powershell/2019/01/07/the-powershell-docs-repo-is-moving/)) 10 | * PowerShellGet released an update a couple days ago 11 | * a few bug fixes, including removal of Gallery availability checks that impacted some folks 12 | * PowerShell Core 6.1.2 released 2 days ago (1/15) 13 | * servicing release, make sure you update 14 | * 6.2 release 15 | * Preview.4 coming out next week 16 | * includes ExperimentalFeature cmdlets, fuzzy command matching, perf fixes 17 | * will likely be last Preview release before our RC next month 18 | * the bar for contributions will be going up as we approach our RC 19 | * after 6.2 (6.3+) 20 | * moving to .NET Core 3.0, first preview shipping after 6.2 GA in March 21 | * w/ 6 month release cadence, would GA ~September 2019 22 | * support lifecycle 23 | * will likely be updating this in the future, keep your eyes peeled on aka.ms/pslifecycle 24 | * will likely align closer to .NET support lifecycle, includes a possible LTS at some point 25 | * documentation hosted by Gallery (CAB/XML) 26 | * looking into company wide solution for this problem, would like to expose it to community as well 27 | * early days 28 | * packaging a script as an application package with all its dependencies 29 | * hard problem, not something we've looked into lately 30 | * Twitch livestreaming 31 | * Tyler has been live coding every Thursday at 10a at twitch.tv/TylerLeonhardt 32 | * also check out a new feed stood up by markekraus at twitch.tv/PowerShellLive 33 | * auto-hosts lots of different PS streamers in one channel 34 | * more and more PS livestreamers are popping up 35 | * reach out to Tyler on Twitter if you're interested in setting up your own channel 36 | * PowerShell RFCs: "they seem a bit stale, what's the progress on that?" 37 | * stood up a new 1.5 hour weekly meeting to JUST review RFCs 38 | * recently closed on RFC0002 (taking longer than expected) 39 | * if you are ready to implement a feature and the RFC is stagnant, @mention Steve and Joey, and we'll see if we can "experimentally approve" so you can implement a PR behind a feature flag 40 | * VS Code PS extension and Editor Services 41 | * (soon) we're releasing an update to VS Code extension 42 | * will also be releasing a preview extension solution 43 | * will include PSReadline support (will also require PowerShell 5.1) 44 | * this preview will be update more frequently than the stable extension 45 | * will just be named differently than the stable one 46 | * thanks to Bergmeister we now have Run/Debug Pester tests 47 | * Cloud Shell 48 | * tracking module updates (e.g. Az) 49 | * a few minor things, like updating the MOTD 50 | * PowerShell Core in Azure Functions 51 | * Currently being developed in [this repo](https://github.com/azure/azure-functions-powershell-worker) 52 | * Please reach out to Joey on Twitter if you're interested in the private preview -------------------------------------------------------------------------------- /CommunityCall/notes/20221117_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - November 17th 2022 2 | 3 | ## Agenda 4 | 5 | - PS7.3 GA - @SteveL-MSFT 6 | - FeedbackProvider - @daxian-dbw 7 | - Update on PSGallery stats - @alerickson 8 | - OpenSSH 9.1 - @tgauth 9 | - Crescendo 1.1.0-preview @theJasonHelmick 10 | - VSCode Updates @andshwa 11 | - Docs Update @sdwheeler 12 | - PowerShellGet interface work @anamnavi 13 | - AzPS Compat Issue - Damien Caro 14 | - Community Update 15 | - Community Demos 16 | - Justin Grote - Module Fast 17 | - Mike Kanakos 18 | 19 | ## Notes 20 | 21 | - 7.3 Updates 22 | - 7.3 GA release! Non-LTS release, 18months of support aligned with .NET 7. 23 | - 7.0 will be out of support Dec 3rd 24 | - 7.2 in support till Nov 2024 25 | - 7.4 will be next LTS release, first preview may not be until Jan 26 | - Plan to have servicing release in December for 7.3, please continue to report issues with 7.3! 27 | - Feedback Provider - replacing current the error suggestions for mistyped cmdlets/cmds which is 28 | just fuzzy matching 29 | - two feedback providers are included. Can test out with next 7.4 preview. 30 | - unix command not found but in PowerShell 31 | - feedback provider but also uses the same information for predictor results. 32 | - PowerShell Gallery Stats 33 | - statistics issues again, pipeline is outdated and complex, unsure when we are going to have this 34 | issue resolved. 35 | - workaround, email psgallerysupport@microsoft.com and be able to run a specific query 36 | - Or open an issue on the PowerShellGallery github 37 | - OpenSSH 38 | - Spending more time working on triaging github repo 39 | - Windows inbox, open work item for windows update bug with config changes after updates 40 | - Crescendo 1.1.0 preview 41 | - Close to releasing new preview! Possibly next week (Nov 21- ) 42 | - New schema, for new features, bypass output handler entirely 43 | - Improved error handling 44 | - Check out crescendo deep dive for London Working Group meeting in Jan 45 | - VS Code Updates 46 | - Stable update 2022.11.0 47 | - Focused on client side of things, fresh new modern linter in strict mode, able to make 48 | improvements on client side going forward 49 | - Regression of OnIdle handler, but is now fixed! 50 | - Pipeline was silently overwriting out release bits, caused a preformance issue but is now fixed 51 | and with regression tests 52 | - "PowerShell Editor services DryIoc error" is now fixed 53 | - Docs Update 54 | - Lots of community involvement lately! Hacktoberfest shout out to Emil Larsson! 55 | - Considering doing a live hack-a-doc session at PSSummit 56 | - CloudShell documentation 57 | - PSGet Interface work 58 | - Working on performance improvement for find and install scenarios 59 | - Thanks to community for feedback 60 | - AzPS Compat Issue 61 | - With 7.3 relying on .NET7 has introduced a breaking change for AzPS modules, automappers 62 | - 9-10 modules that have been impacted by this. Identified in July but still working on resolving 63 | - Patch is released with a new AzPS module. 64 | - Going to work on postmortem and will implement ability to check on previews in build pipelines 65 | - Community Update 66 | - Recognize the community for coming out in force for PSSummit CfP! Almost 200 submissions for talks! 67 | - HUGE THANKS!! 68 | - PSSummit is April, PSConfEU is June 69 | - Community Demos! 70 | - Module Fast 71 | - SendMailMessage 72 | -------------------------------------------------------------------------------- /CommunityCall/notes/20220317_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - March 17, 2022 2 | 3 | ## Agenda 4 | 5 | - Move to .NET 7 - Aditya 6 | - Local SessionConfiguration support – Paul 7 | - Custom ConnectionInfo 8 | - AMSI and WDAC enhancements 9 | - Additional Azure Mariner support - Travis 10 | - More Windows ARM64 support 11 | - Making it easier to find out what’s new in PowerShell – Jason 12 | - Crescendo 1.0 13 | - PlatyPS 2.0 14 | - PSDesiredStateConfiguration 3.0 15 | - Docs update - Sean 16 | - CompleterPredictor - Dongbo 17 | - Module Isolation 18 | - PowerShellGet 3.0 - Anam 19 | - PowerShell Gallery 20 | - PowerShell VSCode Extension – Andy 21 | - OpenSSH for Windows – Balu/Danny 22 | - Questions 23 | 24 | ## Notes 25 | 26 | - Theme of today's call is the teams' 2022 investments 27 | - We have released servicing updates for PowerShell 7+ 28 | - The latest preview release is still on .Net 6, but future will .Net 7 29 | - We are making improvements to local SessionConfiguration support probably by adding a new keyword 30 | - This would allow for support of things like SSH endpoints, setting language mode, import modules ect. 31 | - Look out for an RFC on this work item 32 | - The PR is out for Custom Remote Connections based on [this RFC](https://github.com/PowerShell/PowerShell-RFC/blob/master/Archive/Draft/RFC0063-Custom-Remote-Connections.md) 33 | - We have made enhancements to AMSI and WDAC, these are Windows only security features 34 | - Azure Mariner is a version of linux which we will be making packages available as well as docker containers 35 | - We are also investing in Windows ARM64 MSI packages which will allow us to keep these things up to date 36 | - We are working on a cmdlet `Get-WhatsNew` to learn differences in PowerShell versions from the cmd line 37 | - The RFC for this will be available next week, please give us feedback 38 | - [Crescendo](https://devblogs.microsoft.com/powershell/announcing-powershell-crescendo-general-availability-ga/) 39 | reached GA on March 10th --give it a try :) 40 | - Crescendo allows you to wrap command line tools with PowerShell to make them more useable 41 | - We have also created documentation for Crescendo, as well as community blogs 42 | - PlatyPS 2.0 is a project we have been working on to help teams who produce modules get on 43 | updateable help 44 | - Look forward to more previews on PlatyPS 2.0 mid year 45 | - We are working to open source the repo for PSDesiredStateConfiguration 46 | - Welcome Mikey Lombardi to the Docs Team! 47 | - New DSC 3.0 docs 48 | - New about_Member-Access_Enumeration 49 | - Updated What's New in PowerShell 7.3 50 | - The CompleterPredictor (demoed last community call) is expected to be open sourced by mid April 51 | - The module isolation work is based on RFC #298, a PR is open to refactor module loading 52 | - We are continuing work on the PowerShellGet 3.0 project in 2022 53 | - We are in the early stages of investigating architecture changes to PowerShell gallery in order to 54 | meet scale and performance needs 55 | - We have continued to ship preview releases of the PowerShell extension for VSCode and are getting 56 | closer to GA 57 | - Welcome Patrick to the team! 58 | - Our focus for the VSCode extension continues to be performance, reliability and stability 59 | - Look out for updates to Win32- OpenSSH in windows server later this year 60 | - Adding support for two factor auth 61 | -------------------------------------------------------------------------------- /CommunityCall/notes/20181220_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core 2 | 3 | ## Agenda 4 | 5 | * documentation repo move 6 | * doc-a-thon #2 7 | * PowerShell 6.2 release 8 | * support lifecycle 9 | * Functions 10 | * VS Code extension release 11 | 12 | ## Notes 13 | 14 | * documentation repo move from PowerShell GitHub org to MicrosoftDocs org 15 | * Jan 16th at 5p PST 16 | * will enable better tooling, publishing, CI, etc. 17 | * doc-a-thon #2 18 | * engineering team spending a day on contributing to documentation 19 | * 9 PRs: `powershell.config.json`, migrating modules from Windows PS to Core 20 | * a few high-priority issues remaining 21 | * PS 6.2 release 22 | * last preview in Jan, RC in Feb, GA in March 23 | * no major feature improvements 24 | * built on top of .NET Core 2.1 (which is an LTS release) 25 | * support lifecycle 26 | * investigating an option to make an active vs. LTS branch 27 | * is an LTS needed? 28 | * likely going to tie ourselves more closely to the .NET support lifecycles 29 | * they have an LTS for 2.1 that lasts for three years 30 | * "will PS Core version updates be shipped in Windows Update?" 31 | * Today, we will only ship *critical* security updates via Microsoft Update 32 | * this hasn't happened yet 33 | * Possible move to MSIX 34 | * doesn't work on downlevel Windows versions (pre-1809) 35 | * Interactive update on-start is hard to implement 36 | * VS Code ISE parity 37 | * [label on GitHub for issues](https://github.com/powershell/vscode-powershell/issues?q=is%3Aopen+is%3Aissue+label%3AISE-Compatibility) 38 | * https://github.com/PowerShell/vscode-powershell/blob/master/docs/ise_compatibility.md 39 | * Out-GridView 40 | * existing implementation can be used in Windows with .NET Core 3.0 / Windows 41 | * won't help non-Windows 42 | * we've experimented with a possible web implementation using WebSockets, but it's non-trivial 43 | * macOS-compatible Out-GridView on the PowerShell Community Slack 44 | * Select-Interactive work by jaykul: https://t.co/dlhBkKfP1N 45 | * PowerShell in Azure Functions 46 | * serverless PaaS service in Azure 47 | * akin to AWS Lambda 48 | * Ping Joey if you want to be part of a preview of this 49 | * "Do you support `$returns`? 50 | * Not sure about our implementation yet 51 | * Everything in the pipeline 52 | * Just put the last item in the pipeline 53 | * Some mechanism for putting stuff into `$returns` 54 | * Durable Functions depends on `$returns`, so eventually yes 55 | * VS Code extension release this morning 56 | * fixed bugs in the folding, crashes introduced by new reference following 57 | * text editor for console sessions on Windows 58 | * `set -e` question (see transcript) 59 | * https://github.com/PowerShell/PowerShell-RFC/pull/88 60 | * psexec and robocopy use non-zero exit codes for non-error cases 61 | * "does COM work in PowerShell Core?" 62 | * as long as you're not trying to implement a COM server, yes 63 | * all COM consumption/usage should work the same as in Windows PowerShell 64 | * MTA vs. STA (multi-thread vs. single-threaded apartment) 65 | * Windows PowerShell is STA by default (configurable) 66 | * PS Core is MTA only today 67 | * will have a greater impact when WinForms support comes back 68 | * we should doc the significance at some point 69 | * https://github.com/PowerShell/PowerShell/issues/6908 -------------------------------------------------------------------------------- /CommunityCall/notes/20220519_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - May 19, 2022 2 | 3 | ## Agenda 4 | 5 | - WG Update @SteveL-MSFT 6 | - Community Day @SteveL-MSFT 7 | - Roadmap update @SteveL-MSFT 8 | - PS7.3 Experimental Features @SteveL-MSFT 9 | - PSSummit @theJasonHelmick 10 | - Docs update @sdwheeler 11 | - PowerShellGet cred persistence demo @SydneyhSmith 12 | - Additional distro/platform support @TravisEz13 13 | - Community Call Discussion @SydneyhSmith 14 | 15 | Demos? :) 16 | 17 | ## Notes 18 | 19 | - Working groups going good! 20 | - Note for looking at data for WG triaging labels etc 21 | - Community Day, every Monday 22 | - Folks on PS Project will intentionally review PRs, issue triaging for WGs/answering 23 | - Dedicating Monday on Community contributions 24 | - Still early on! Let us know any feedback! 25 | - Roadmap updates: 26 | - Meeting the EO requirements 27 | - Possible 7.3 preview today if not early next week 28 | - Moved .NET 7, better flow for taking their previews in 29 | - Mariner support so PS is on there 30 | - Improve PS security posture in AMSI and WDAC, will work for backport for 5.1 31 | - PS 7 inbox in Windows, extremely hard problem to solve 32 | - CMDLET approach to help install PS 7 33 | - Get-WhatsNew repo is open, easy to discover the new things coming into PS 34 | - CompleterPredictor is open 35 | - Module isolation, make it easier for module authors 36 | - Making progress on PowerShellGet v3 37 | - Stable release of PS VSCode extenstion! 38 | - DSC v3 is primary for AzGuestConfig and Automanage 39 | - Repo is open but no contributions accepted at this time 40 | - Continuously updating OpenSSH, slower releases because of Windows Process 41 | - Experimental Features 42 | - Call to action! leveraging Experimental feature 43 | - Any preview build, experimental features are enabled. BUT if you pipe Get-ExperimentalFeature 44 | | Disable/Enable-ExperimentalFeature 45 | - This create a json in profile 46 | - It takes precedence in profile 47 | - So if new experimental features come out and are NOT in that list when you upgrade PS, 48 | then the new ones will be excluded 49 | - Please use these experimental features! Give us feedback so we can make decisions on moving 50 | from experimental 51 | - Open a discussion and give each one a thumbs up 52 | - PS Summit/Community update 53 | - PS Summit North America THANK YOU organizers and attendees! 54 | - PowerShell Firehose class, last class from Don Jones 55 | - Getting ready for PowerShell Conf EU! End of June 56 | - MS Build next week 57 | - First in person meetup with PS London Working Group 58 | - Great turn out! Exploring possibilty of PowerShell day in UK 59 | - Docs update 60 | - 7.1 out of support so docs are no longer available 61 | - Credential persistence demo 62 | - Distribution support 63 | - 7.2.4 added ubuntu 22.04 support 64 | - Coming out in next 7.3 preview 65 | - Moving over to Redhat universal containers 66 | - 8.4 container and process for 9.4 containers 67 | - Few issues with 9 currently pending .NET fixes 68 | - Mariner! 69 | - Preview will contain first Mariner packages 70 | - Feedback on the Community call? 71 | - Encourage dialog 72 | - Share news and new work (demos) 73 | - OpenSouce community targeted 74 | - Work on highlighting other community events of groups 75 | - You can be part of OpenSource without knowing git! 76 | - Simply edit in the github repo 77 | - Justin's Demos 78 | -------------------------------------------------------------------------------- /Final/RFC0027-Snap-Preview.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC 3 | Author: Travis Plunk (@TravisEz13) 4 | Status: Final 5 | Version: 0.1 6 | Area: Packaging 7 | Comments Due: July 15, 2018 8 | Plan to implement: Yes 9 | --- 10 | 11 | # Snaps of Preview builds 12 | 13 | We currently have not published any [Snap packages](https://snapcraft.io) of a preview build. There are some significant questions before we do. 14 | Primarily, do we follow Snap's model of channels or do we have a separate package called `powershell-preview`. 15 | I propose we have a separate package as it will allow side-by-side installation with the stable Snap and will be consistent with our Linux package names. 16 | 17 | ## Motivation 18 | 19 | Snaps are easy to use and having a Snap of the preview would allow people to adopt the preview across a wide variety of platforms. 20 | We want to design the preview Snap in a way that allows for the preview Snap to be installed easily without losing access to the stable version of PowerShell. 21 | 22 | ## Specification 23 | 24 | * There shall be two Snap packages available: 25 | * Stable: a production-ready, supported build, called `powershell`. 26 | * Preview: an unsupported build that may contain incomplete new features and high-impact bugs, 27 | and should therefore not be used in production, called `powershell-preview`. Our hope is that the development process ensures that every build is stable and high quality. 28 | * Aliases 29 | * Stable package: `pwsh` 30 | * Preview package: `pwsh-preview` 31 | * Snap channels 32 | * Stable package: Will always use the `stable` channel, because it is stable. 33 | * Preview package: Will always use the `stable` channel, because the package name and version indicates the quality. 34 | * Alternative: Preview builds could use the `edge` channel, and release candidates could use the `candidate` channel. 35 | This would mean you would always have to use the one of the following commands to install `sudo snap install powershell-preview --edge --classic` or `sudo snap install powershell-preview --candidate --classic` 36 | 37 | ## Alternate Considerations and Proposals 38 | 39 | ### Use Snap's model of channels 40 | 41 | The main dis-advantage here is that preview builds cannot be install side-by-side with a stable build (at least with Snap alone). Snap does allow you to switch between things you have downloaded fairly quickly so this is not fatal. 42 | 43 | * There shall be one Snap package available: 44 | * Called `powershell`. 45 | * Alias 46 | * `pwsh` 47 | * Snap channels 48 | * Stable builds would be published to the stable channel and installed using the following command: 49 | `sudo snap install powershell --classic` 50 | * Release Candidate builds would be published to the stable channel and installed using the following command: 51 | `sudo snap install powershell --classic --candidate` 52 | * Preview builds would be published to the stable channel and installed using the following command: 53 | `sudo snap install powershell --classic --edge` 54 | 55 | ## Open Questions 56 | 57 | --------------- 58 | ## PowerShell Committee Decision 59 | 60 | ### Voting Results 61 | 62 | Joey Aiello: Accept 63 | 64 | Bruce Payette: Accept 65 | 66 | Steve Lee: Absent 67 | 68 | Hemant Mahawar: Accept 69 | 70 | Jim Truher: Accept 71 | 72 | Dongbo Wang: Accept 73 | 74 | Kenneth Hansen: Absent 75 | 76 | ### Majority Decision 77 | 78 | We support side-by-side and want to keep it that way, hence the distinct packages. 79 | The alias names also make sense given the pattern we set with the existing Linux packages. 80 | 81 | ### Minority Decision 82 | 83 | N/A 84 | -------------------------------------------------------------------------------- /Final/RFC0042-Send-MailMessage.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC0042 3 | Author: Travis Plunk 4 | Status: Final 5 | SupercededBy: N/A 6 | Version: 1.0 7 | Area: cmdlets 8 | Comments Due: 4/30/2019 9 | Plan to implement: No 10 | --- 11 | 12 | # Obsoleting `Send-MailMessage` 13 | 14 | `Send-MailMessage` does not support many modern protocols leading to the inability to use this with modern secure mail services. 15 | See [DotNet DE0005](https://github.com/dotnet/platform-compat/blob/master/docs/DE0005.md). 16 | Since the protocols it uses are no longer considered secure, the cmdlet as is should not be used. 17 | I recommend that we implement a plan to remove the cmdlet from powershell core and, if needed, 18 | re-implement as a separate module. 19 | 20 | ## Motivation 21 | 22 | ### Primary 23 | 24 | The underlying API, [`SmtpClient`](https://docs.microsoft.com/dotnet/api/system.net.mail.smtpclient), doesn't support many modern protocols. 25 | It is compat-only. 26 | It's great for one off emails from tools, but doesn't scale to modern requirements of the protocol. 27 | 28 | ### Secondary 29 | 30 | Most major mail platforms now have REST methods to send mail, which allows `Invoke-RestMethod` to allow sending mail messages. 31 | 32 | * gmail 33 | * https://developers.google.com/gmail/api/v1/reference/users/messages/send 34 | * https://stackoverflow.com/questions/24460422/how-to-send-a-message-successfully-using-the-new-gmail-rest-api 35 | * Office365 36 | * https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/version-2.0/mail-rest-operations#SendMessages 37 | 38 | ## Obsoletion Plan 39 | 40 | ### Add a warning to 6.2 41 | 42 | In a 6.2, we have added an obsolete warning to `Send-MailMessage` that an alternative method should be found. 43 | 44 | **Note:** Adding an obsolete warning should not break compatibility in any way. 45 | 46 | ### If needed, develop an alternative 47 | 48 | If needed, develop a new cmdlet based on the DotNet recommended solution of [MailKit](https://github.com/jstedfast/MailKit). 49 | 50 | ## Alternate Proposals and Considerations 51 | 52 | ### Remove the cmdlet during 6.3 53 | 54 | During the development of 6.3, remove the `Send-MailMessage` cmdlet. 55 | 56 | Feedback on this option was negative and the RFC has been updated with then next most reasonable option. 57 | 58 | ### Community replacement 59 | 60 | The community could develop a replacement that can could be incorporated back into PowerShell Core. 61 | This has the disadvantage of increasing the size of PowerShell Core and delaying the solution. 62 | 63 | ### Positive confirmation of issue in 6.3 64 | 65 | We could add a switch requiring the user to accept the risk of using older **possibly** less secure implementations. 66 | This switch would be called `-AllowUnsecureConnection` and would be mandatory. 67 | 68 | **Note:** The switch name is based on the [DSC Property](https://docs.microsoft.com/en-us/powershell/dsc/managing-nodes/metaconfig#configuration-server-blocks) 69 | 70 | However, given the high usage of `Send-MailMessage` in automated scenarios (like scheduled tasks), 71 | and the plan to work on a `MailKit` based alternative, we'd rather leave the cmdlet working as-is 72 | for the time being. 73 | 74 | ### Additional considerations 75 | 76 | #### GMail REST API 77 | 78 | To use the GMail REST API the following additional items are needed 79 | 80 | #### WebSafeBase64 81 | 82 | For GMail, a MIME message is required to be encoded in this format. 83 | https://code.google.com/p/stringencoders/wiki/WebSafeBase64 84 | 85 | #### Something to compose the MIME message 86 | 87 | For GMail, you have to pass the MIME message. 88 | -------------------------------------------------------------------------------- /CommunityCall/notes/20210520_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - May 20, 2021 2 | 3 | ## Agenda 4 | 5 | * OpenSSH update 6 | * Working Groups/Community update 7 | * Crescendo preview 2 8 | * SecretManagement 1.1 design change affecting extensions 9 | * PowerShellGet v3 update 10 | * Community Demos 11 | * Q&A 12 | 13 | ## Notes 14 | 15 | * OpenSSH 16 | * Originally planned to update to 8.1 in 20H1 (and then 20H2) 17 | * Due to mixups, this was delayed until the last month, upon which 18 | we shipped an 8.1 WU update for all machines downlevel to 20H1 19 | * 8.6 will be out as a GitHub release (beta) in the next few weeks 20 | * Due to the validation length of 8.6, it will not ship into 21H2, 21 | but instead will show up in 22H1 (or the equivalent) 22 | * Generally, the version of OpenSSH shipping in Windows is the only 23 | supported version 24 | * Installing "manually" from GitHub to downlevel is not a supported 25 | scenario 26 | * The Azure Gallery does have a supported extension for Azure Windows VMs 27 | or Arc-enabled servers 28 | * Currently on 7.7 but will be updating soon 29 | * Working Groups / Community update 30 | * Working Groups are sub-committees around specific [issue labels](https://github.com/powershell/powershell/labels) 31 | in the PowerShell/PowerShell 32 | * Some of the feedback 33 | * https://github.com/PowerShell/PowerShell/pull/14603 34 | * https://github.com/PowerShell/PowerShell-RFC/pull/274 35 | * Module compatibility 36 | * Lots of feedback around M365 module compatibility with PowerShell 7 37 | * Highly engaged and making progress 38 | * Crescendo preview.2 39 | * Released last week, now with command elevation! 40 | * Flexibile enough to elevate on both Windows and Linux (`Start-Process` and `sudo`) 41 | * Some issues with [elevation on Windows](https://github.com/PowerShell/Crescendo/issues/81) 42 | * Next preview: plan to make improvements to output handling 43 | * SecretManagement 1.1 design change for vault extensions 44 | * Vault extensions get registered with SecretManagement as implementations 45 | for retreiving and setting secrets in a vault 46 | * Today, these extension modules are loaded into the same session in which 47 | the user is executing 48 | * This design prevents vault extensions from operating in Constrained Language Mode (CLM) 49 | * Code Integrity (CI) policy is an application control policy that locks down a machine 50 | * Essentially runs "trusted" scripts/modules in full language mode vs. CLM 51 | * SecretManagement is designed to run in CLM but cannot today beause of how it loades 52 | extension modules today 53 | * Going forward, vault extensions will get loaded into fresh sessions via new runspaces 54 | * This change breaks extension modules like KeePass in how they unlock the vault 55 | * Unlocking can be done interactively (e.g. prompt for password), 56 | but it also needs to work in non-interactive (e.g. CI/CD) scenarios 57 | * Original issue (here)[https://github.com/PowerShell/SecretStore/issues/64], 58 | but conversation will continue [in SecretManagement](https://github.com/PowerShell/SecretManagement/issues/144) 59 | * PowerShellGet 3.0 update 60 | * Despite lack of a major preview update, a ton of work has gone into 61 | PSGetv3 within the last month 62 | * Particularly getting into code review for `Find-Module` 63 | * Are also looking into issues and PRs across the board coming in from community 64 | * Keep playing with PSGetv3 and filing issues! 65 | * Not a firm date on next release, but would love to ship in June 66 | * Microsoft/Community demos 67 | * Updates to Guest Configuration cmdlets (Michelle Yang) 68 | -------------------------------------------------------------------------------- /Final/RFC0030-Abbreviation-Expansion-TabComplete.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: RFC0030 3 | Author: Steve Lee 4 | Status: Final 5 | SupercededBy: N/A 6 | Version: 1.0 7 | Area: Engine-CommandCompleter 8 | Comments Due: 12/4/2018 9 | Plan to implement: Yes 10 | --- 11 | 12 | # Abbreviation expansion based tab completion 13 | 14 | PowerShell rules for cmdlet naming is to be descriptive. 15 | Cloud services cmdlets tend to be granular and vast. 16 | 17 | Azure PowerShell, for example, has a cmdlet called `New-AzSqlServerDisasterRecoveryConfiguration`. 18 | If you start with `New-Az` and hit tab, you'll get 334 matches. 19 | Then you continue typing `New-AzSql` and hit tab, you still get 19 matches. 20 | 21 | These cmdlets typically do not have aliases since the aliases would be very long. 22 | 23 | ## Motivation 24 | 25 | As a PowerShell user, 26 | I can tab complete long cmdlet names easily and predictably, 27 | so that I can be more efficient using PowerShell interactively. 28 | 29 | ## Specification 30 | 31 | Since PowerShell rule for cmdlet naming relies on Pascal Casing, 32 | you can consistently predict a long cmdlet name used often by simply specifying 33 | the uppercase letters: 34 | 35 | ```none 36 | PS /Users/steve> n-assdrc 37 | 38 | becomes 39 | 40 | PS /Users/steve> New-AzSqlServerDisasterRecoveryConfiguration 41 | ``` 42 | 43 | The dash is still required to avoid short abbreviations from conflicting with aliases. 44 | The abbreviation is not an alias as it does not work if specified on the command 45 | line or script: 46 | 47 | ```none 48 | PS /Users/steve> n-assdrc 49 | n-assdrc : The term 'n-assdrc' is not recognized as the name of a cmdlet, function, script file, or operable program. 50 | Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 51 | At line:1 char:1 52 | + n-assdrc 53 | + ~~~~~~~~ 54 | + CategoryInfo : ObjectNotFound: (n-assdrc:String) [], CommandNotFoundException 55 | + FullyQualifiedErrorId : CommandNotFoundException 56 | ``` 57 | 58 | This feature is intended only to be used interactively with tab completion. 59 | 60 | Even shorter commands can benefit: 61 | 62 | ```none 63 | PS /Users/steve> ct-j 64 | 65 | becomes 66 | 67 | PS /Users/steve> ConvertTo-Json 68 | ``` 69 | 70 | ## Alternate Proposals and Considerations 71 | 72 | PowerShell convention is for 2 letter abbreviations to entirely be in uppercase. 73 | So you have cmdlets like `Set-AzVM`. 74 | The abbreviated form is `s-avm`, not `s-av` which might be expected. 75 | 76 | This feature is not dynamic aliases as readability of scripts would be significantly 77 | impacted if `n-assdrc` was allowed in scripts. 78 | 79 | Partial support where just verb or noun is abbreviated is not supported. 80 | This could be added in the future based on customer feedback. 81 | 82 | Fuzzy matching is not in scope of this RFC. 83 | Fuzzy matching for [suggestions on CommandNotFoundException](https://github.com/PowerShell/PowerShell/pull/8458) 84 | was implemented and could be used as a base for supporting tab completion. 85 | 86 | If more variants/algorithms are supported, we may need a way to allow the user 87 | to pick which ones they want to use. 88 | 89 | --------------- 90 | ## PowerShell Committee Decision 91 | 92 | ### Voting Results 93 | 94 | Joey Aiello: Accept 95 | 96 | Bruce Payette: Accept 97 | 98 | Steve Lee: Accept 99 | 100 | Hemant Mahawar: Accept 101 | 102 | Jim Truher: Accept 103 | 104 | ### Majority Decision 105 | 106 | Committee agrees that the RFC is complete for the targeted scenario and additional enhancement requires are out of scope and should be separate RFCs. 107 | 108 | ### Minority Decision 109 | 110 | N/A 111 | -------------------------------------------------------------------------------- /CommunityCall/notes/20210617_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - June 17, 2021 2 | 3 | ## Agenda 4 | 5 | * Working Groups update - Joey 6 | * PowerShell 7.2 preview update - Steve 7 | * Microsoft Update update - Travis 8 | * PowerShellGet v3 update - Amber 9 | * VSCode-extension update - Andy 10 | * Community Demos 11 | * Q&A 12 | 13 | ## Notes 14 | 15 | * Working Groups 16 | * Congrats to community folks we've added to Engine, Cmdlet, and DevEx WGs 17 | * Created a Discord server for higher bandwidth conversations 18 | * Some aspects may be read-only or private still 19 | * PowerShell 7.2 preview 7 20 | * If all goes well 🤞, we'll be releasing today (otherwise, Monday) 21 | * `PSDesiredStateConfiguration` module not shipping in preview for first time 22 | * Not indicative of our investment in DSC, just to decouple lifecycles between 23 | PowerShell and DSC 24 | * v2 module shipping on Gallery, v3 module should be there very soon (if not already) 25 | * [Microsoft Update support](https://devblogs.microsoft.com/powershell/preview-updating-powershell-7-2-with-microsoft-update/) 26 | * Supports updates only from 7.2 preview 5 or 6 27 | * If you want to try this out, don't update to preview 7 manually! 28 | * Should be available in ~1 week (watch @PowerShell_Team for tweets) 29 | * Today, you need to add a reg key, but in the future this won't be necessary 30 | * Can also do a clean install with a different reg key if you have no preview at all 31 | * For this preview, we're currently only going back to Windows 10/Server RS3+ 32 | * If you have a strong need for something earlier, 33 | please give us context on that in the discussion linked from the blog 34 | * PowerShellGet 3.0 35 | * Working on refactor of cmdlets and test coverage 36 | * Done with refactoring Get-InstalledPSResource, Uninstall-PSResource, and Publish-PSResource 37 | * Very close to Find-, Install-, Save- and Update- 38 | * Pushing to release in the next few weeks 39 | * Backwards compatibility is a top priority 40 | * Keep your eyes peeled for a blog post 41 | * DSC resource for PowerShellGet 3.0? 42 | * We include some resource in 3.0 today, but they made need to be refactored 43 | * Discussion on moving PSGet DSC resources out to their own module 44 | * File or comment on issues to let us know what you think about this! 45 | * VSCode extension 46 | * Just launched a [new stable release](https://devblogs.microsoft.com/powershell/powershell-for-visual-studio-code-may-2021-update/) 47 | * A lot of the work happening in `PowerShellEditorServices` to improve stability and performance 48 | * Check GitHub Projects for [Debug Reliability](https://github.com/PowerShell/vscode-powershell/projects/9) 49 | and [Startup Reliability](https://github.com/PowerShell/vscode-powershell/projects/8) 50 | * Even newer preview out as of today (6/17) to fix some issues in Windows PowerShell 5.1 51 | * Making some improvements to async 52 | * Lastly, will hook the debugger back up 53 | * Doubled our release cadence compared to the past 6 months! 54 | * We understand there's lots of new features folks are requesting, 55 | but the focus right now is still on stability and perf 56 | * Keep track of even more of our priorities with 57 | [GitHub Projects on `vscode-powershell`](https://github.com/PowerShell/vscode-powershell/projects) 58 | * Justin Grote demoing [PowerConfig](https://github.com/JustinGrote/PowerConfig) 59 | * Wrapper around ASP.NET Configuration 60 | * Takes input of YAML, JSON, TOML, PSD1 and more, 61 | and makes hashtables out of them 62 | * You simply pipe configuration file paths to PowerConfig cmdlets, 63 | and they'll be processed in the order you add them 64 | (including to clobber existing key/value pairs) 65 | * You can even add to the configs via environment variables! 66 | * Q&A 67 | * Should we lock all old and/or closed threads? 68 | -------------------------------------------------------------------------------- /CommunityCall/notes/20240215_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Community Call - February 15 2024 2 | 3 | ## Agenda 4 | 5 | - PowerShell 7.5 - Aditya 6 | - Pseudo-terminal support - Patrick 7 | - Platform support - Jason 8 | - Bug fixes and community PRs - Sydney 9 | - PSGallery Fundamentals work - Aditya 10 | - New types of repositories for PSResourceGet - Anam 11 | - Concurrent installs - Amber 12 | - Local caching of artifact details - Amber 13 | - Intelligence in the shell - Steven 14 | - Configuration - Michael 15 | - Win32_OpenSSH - Danny 16 | - SSHDConfig - Tess 17 | - Help system - Jason 18 | - Welcome Justin 19 | - Docs update - Sean 20 | - Working Group membership form - Jason 21 | 22 | ## Notes 23 | 24 | **ALERT:** The March's community call will be hosted at 7:00 PM Pacific Time. (not our normal 9:30 AM) 25 | 26 | - **PowerShell and OpenSSH Community Call:** This is a recording of a meeting that took place on 27 | February 15, 2024, where the PowerShell and OpenSSH teams shared their updates, plans, and 28 | feedback with the community. 29 | 30 | - **PowerShell 7.5 Preview:** Aditya Patwardhan announced the release of PowerShell 7.5 Preview 1, 31 | based on .NET 9 Preview 1, and the roadmap for future previews and GA later in the year. 32 | - **Pseudoterminal Support:** Patrick Meinecke explained the benefits of using pseudoterminals for 33 | native executables, such as enabling interactive, colored, and formatted output without 34 | redirection, and enabling feedback providers and output parsing. 35 | - **Platform Support:** Jason Helmick talked about the challenges and improvements of building, 36 | testing, and releasing PowerShell for various platforms and architectures, and the plans to create 37 | a prioritized backlog of distributions and a public release schedule. 38 | - **Bug Fixes and Community PRs:** Sydney Smith emphasized the goal of making PowerShell 7.5 a 39 | community-focused release, and the efforts to prioritize and review the existing PRs from the 40 | community over new features from the team. She also addressed some questions and concerns about 41 | the Community Mondays and the activity in the PowerShell repo. 42 | - **Gallery Fundamentals:** Aditya Patwardhan mentioned the focus on improving the reliability and 43 | performance of the PowerShell Gallery, and hinted at some possible new features later in the year. 44 | - **Intelligence in the Shell:** Steven Bucher reiterated the commitment to bringing a deeper level 45 | of intelligence to the shell through PSReadLine and other improvements, such as natural language 46 | chat experiences2. 47 | - **PSResource and Container Registries:** Anam Navied and Amber Erickson shared the plans to add 48 | support for container registries, both public and private, for PSResource, and to improve the find 49 | and install experience with concurrency and local caching3. 50 | - **Configuration:** Michael Greene invited the community to check out the DSC repo and the issues 51 | list, and to give feedback on the scenarios and features for DSC v3. He also announced a new alpha 52 | release coming soon4. 53 | - **OpenSSH:** Danny Maertens and Tess Gauthier talked about some exciting things coming up for 54 | OpenSSH that they could not reveal yet, and some ongoing work on SSHD config, a DSC resource to 55 | manage the SSHD config file for the OpenSSH server. 56 | - **Help System:** Jason Helmick announced the work on PlatyPS, a tool to create updatable help for 57 | PowerShell cmdlets, and the collaboration with the Docs team to improve the PowerShell 58 | documentation and reference pipeline. He also mentioned some new scenarios and features that 59 | PlatyPS will enable in the future. 60 | - **Other Projects:** Steven Bucher listed some of the other projects that the team is maintaining, 61 | such as the VS Code extension, PSScriptAnalyzer, ConsoleGuiTools, TextUtility, PSReadLine, and 62 | SecretManagement5. 63 | 64 | 65 | -------------------------------------------------------------------------------- /Archive/Withdrawn/RFC0054-String-Manipulating-Cmdlets.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: '0054' 3 | Author: Friedrich Weinmann 4 | Status: Withdrawn 5 | SupercededBy: n/a 6 | Version: 1.0 7 | Area: cmdlets/data manipulation 8 | Comments Due: 9 | Plan to implement: Yes 10 | --- 11 | 12 | # String Manipulating Cmdlets 13 | 14 | Add cmdlets that manipulate strings and are capable of doing so on the pipeline. 15 | 16 | ## Motivation 17 | 18 | Existing tools to manipulate strings - the most common data type manipulated in PowerShell are lacking in usability. 19 | The .NET tools available through string and regex are inconvenient to use. 20 | String-manipulating operators (such as `-split`) are unintuitive to explore, as their options are not easily discoverable. 21 | Neither option allows use on the pipeline, forcing interruption of the pipeline or use of inefficient `ForEach-Object` calls. 22 | 23 | From this come two main pain points this RFC is aimed to resolve: 24 | 25 | Current string data manipulation ... 26 | 27 | - is technically insufficient from a performance perspective. 28 | - is unintuitive and inconvenient for the end user. 29 | 30 | Given that this is a universal problem affecting literally all users and most code, this should be implemented as part of the core application, not an external third party module. 31 | 32 | ## Specification 33 | 34 | ### New Cmdlets 35 | 36 | The solution should provide cmdlets that allow string manipulation on the pipeline. 37 | 38 | The following operations should be supported: 39 | 40 | - `Add-String` | Implements partial `-f` functionality to add content to strings, as well as the `.PadLeft()` and `.PadRight()` methods. 41 | - `Format-String` | Implements full `-f` functionality or the `String.Format()` method. Supports gathering multiple items from the pipeline before formatting. 42 | - `Get-SubString` | Implements the `.SubString()` method, the `-Trim` operator as well as the `.TrimStart()` and `.TrimEnd()` methods. 43 | - `Join-String` | Implements the `-join` operator, allowing specifying the number of items to join in each batch. 44 | - `Set-String` | Implements the `-Replace` operator as well as the `.Replace()` method. 45 | - `Split-String` | Implements the `-Split` operator as well as the `.Split()` method. 46 | 47 | ### New Aliases 48 | 49 | Given that part of the goal is to improve the user experience, introducing aliases - especially for those mapping operators where users are used to it - will improve user experience and accelerate adoption. 50 | 51 | Thus here a proposed list of aliases: 52 | 53 | - `Add-String` | `wrap` or `add` 54 | - `Format-String` | `format` 55 | - `Get-SubString` | None needed - `substring` will automatically resolve to `Get-SubString` 56 | - `Join-String` | `join` 57 | - `Set-String` | `replace` 58 | - `Split-String` | `split` 59 | 60 | ## Alternate Proposals and Considerations 61 | 62 | ### Distribution as part of a module 63 | 64 | Theoretically, these cmdlets could also be released and distributed as part of an external module. 65 | 66 | The same could really be said of every single cmdlet that is shipped as part of the core PowerShell. 67 | What makes a cmdlet core then? 68 | Not bound to a specific use-case? Check. 69 | Relevant to the vast majority of users? Check. (In fact vastly more so than quite a few other core cmdlets) 70 | 71 | ### Status Quo 72 | 73 | The status quo - having users keep using operators and .NET methods -would have several disadvantages: 74 | 75 | - More coding effort to use 76 | - Additional resource cost (memory when interrupting pipeline, CPU when using `ForEach-Object` instead) 77 | - Harder to maintain code 78 | - Less discoverability for users 79 | - Harder to find documentation for users 80 | 81 | ## Notes: 82 | 83 | - This topic has already been discussed in an issue](https://github.com/PowerShell/PowerShell/issues/6697) 84 | - For an experimental implementation, [see the following PR](https://github.com/PowerShell/PowerShell/pull/6753) 85 | -------------------------------------------------------------------------------- /CommunityCall/notes/20180215_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - February 15, 2018 2 | 3 | ## Agenda 4 | 5 | * Coverage 6 | * PS Standard 7 | * PRs 8 | * IoT 9 | * Editor Services 10 | * Script Analyzer 11 | * SSH 12 | 13 | ## Notes 14 | 15 | * Joey has been working on coverage with module owners across Microsoft 16 | * Azure PowerShell already making good progress with AzureRm.NetCore module 17 | * Starting conversations with Windows/Office including AD, AAD, Exchange, and others 18 | * No promises or ETAs, but we are making progress! 19 | * PS Standard 5.1 preview out by end of Feb - https://github.com/powershell/powershellstandard 20 | * Question was asked about hosting PSCore 21 | * docs are here for now: https://github.com/PowerShell/PowerShell/tree/master/docs/host-powershell 22 | * This has our MyGet feed: https://github.com/PowerShell/PowerShell/blob/master/docs/host-powershell/sample-dotnet2.0-powershell.beta.3/NuGet.config 23 | * Joey talked about breaking down the monolith and separating into components - help being an example 24 | * dev tools pack, mixed feelings (Microsoft "picking a winner") 25 | * PR backlog: we know it's important, and we'll get to it 26 | * Merge privileges for community maintainers? 27 | * We think it makes a lot of sense, definitely an eventual desire, so we'll talk internally 28 | * Windows Update for PSCore 29 | * Get-PSUpdate cmdlet - we should have this, question is with the implementation (Update-PSCore) 30 | * PRs always welcome 😄, also Chocolatey was mentioned 31 | * maybe a NuGet feed of Chocolatey packages that are MS blessed for installing pwsh and similar apps 32 | * We'll talk about this internally, but no promises 33 | * SCCM or Intune for a fleet of macbooks - tell SCCM team on UserVoice 34 | * Script Analyzer update 35 | * All PRs are dealt with in some way 36 | * Getting PSSA consistent with other PowerShell repos 37 | * New release soon 38 | * Added new maintainer 39 | * We should look at the rules again 40 | * For targeting specific editions/versions/platforms, for example: 41 | * Now: goes back as far as v3 (but not 100% fleshed out) 42 | * Future: not going to work on a particular OS, actually fleshed out 43 | * Question: Why C# is the only language a rule can be merged in as 44 | * We should support other languages/forms, totally reasonable 45 | * Jim will address it - https://github.com/PowerShell/PSScriptAnalyzer/issues/743 46 | * PSSA will have more features 47 | * IoT module being worked on by Andrew and Tyler 48 | * not open-sourced yet 49 | * conservative (i.e. worst case) ETA: "probably a couple of months" 50 | * Module for messing with GPIO and sensors 51 | * Possibly demo or video coming up showing some lights and water pumps working 52 | * Editor Services 53 | * 1.6.0 release coming soon 54 | * Patrick working on PSReadline within VS Code 55 | * Roughly targeting 1.7.0 for release of this 56 | * Talking more at MVP Summit, as well as PowerShell Summit NA in April 57 | * SSH 58 | * Git for windows using own SSH 59 | * Question: What will having SSH in win32 mean for updates via chocolatey? 60 | * Win32-OpenSSH ships as a "Windows Feature on Demand" on by default can be removed 61 | * Available in Desktop, Server, Server Core 62 | * Recommendation from Darwin 63 | * should be off by default 64 | * worry about systems that already have SSH (other implementations) installed 65 | * Joey will get in contact with Darwin to get more feedback <- 66 | * Tough balance between making it easy to access and not breaking people 67 | * system32 is (mostly) immutable, and upgrades old goes to Windows.old, you get that with everything (Windows Update) 68 | * docs: refactored table of context 69 | * need feedback 70 | * will port over remaining MSDN docs to docs.microsoft.com 71 | * PSReadLine 2 in PSCore 72 | * 6.1? maybe 73 | * PSReadLine 2.0 very likely going to Windows PowerShell -------------------------------------------------------------------------------- /CommunityCall/notes/20180920_Notes.md: -------------------------------------------------------------------------------- 1 | # PowerShell Core Community Call - September 20, 2018 2 | 3 | ## Agenda 4 | 5 | * PowerShell Core 6.1 GA 6 | * what's landing in October 2018 Update / Server 2019 7 | * missing list of modules 8 | * fundamentals/quality work in 6.2 9 | * will continue triaging community PR 10 | * experimental flags 11 | * process for adding/removing them? 12 | * inactivity? 13 | * DSC roadmap blog 14 | * string cmdlet RFC 15 | 16 | ## Notes 17 | 18 | * PowerShell Core 6.1 GA 19 | * [link to blogpost](https://blogs.msdn.microsoft.com/powershell/2018/09/13/announcing-powershell-core-6-1/) 20 | * 70% of cmdlets, ~65% of modules 21 | * The preview train that `6.1.0-rc` is on will be updated to `6.2.0-preview.1` when it is released 22 | * PowerShell Core 6.2 GA 23 | * quality/fundamentals milestone 24 | * focus is on release automation 25 | * engineering team will backfill documentation 26 | * going forward, PRs will require documentation to merge 27 | * engineering will help out as much as possible, but community contributions are highly appreciated 28 | * [help contribute!](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md) 29 | * [contribute to PowerShell-Docs too!](https://github.com/PowerShell/PowerShell-Docs/blob/staging/CONTRIBUTING.md) 30 | * experimental feature flags 31 | * need to define a criteria for accepting and expiring/deprecating experimental features 32 | * [DSC roadmap blog](https://blogs.msdn.microsoft.com/powershell/2018/09/13/desired-state-configuration-dsc-planning-update-september-2018/) 33 | * 1300+ DSC resources in the PS Gallery 34 | * minor overlap due to phasing out of `xFoo` naming terminology 35 | * lots of these coming from independent repos in the community 36 | * "new DSC v2 platform" 37 | * being used in Azure services 38 | * slipped summer ETA for open sourcing this code 39 | * no new ETA today, keep your eyes peeled 40 | * Server 2019 DSC "v1" new features 41 | * pull server supports SQL server as a backend 42 | * can also tune Esent database perf 43 | * first security update for DSC 44 | * issues with temp configuration files 45 | * how to gauge the quality of DSC resources 46 | * base set of tests that get added to every community repo, including a badge for compliance 47 | * Michael to look for Server 2019 LCM version 48 | * PowerShellGet 2.0 in PS Core 6.1.1? 49 | * in PS Core, it defaults to `CurrentUser` irrespective of whether you're elevated 50 | * technically a breaking change, may not make sense to ship in a servicing release 51 | * `-SkipPublisher -AllowClobber -AcceptLicense -AllowPrerelease` madness? 52 | * we would like to do *something* about this, but we're not exactly sure *what* to do or *when* 53 | * `-Force` is reinstalling when it doesn't need to 54 | * would be awesome to support basic `PSDepends` functionality in PowerShellGet 55 | * module manifest dependency chains break down with too many levels of depth, too many specific versions, and duplicate modules already installed on the box (w/ the wrong version) 56 | * specifying a PSRepository should possibly implicitly trust the repo 57 | * Chocolatey discussion 58 | * Microsoft-official Chocolatey repo for Microsoft applications is still just a brainstorm idea 59 | * no plans to implement right now 60 | * explicit credentials are required for MSU installation over remoting 61 | * string cmdlet RFC 62 | * set of cmdlets that would replace a lot of the string operators 63 | * PS Committee/Team will prioritize a cmdlet review and provide feedback back to Friedrich to help get this included in PS Core 6.2 64 | * look into `Join-String` conflict 65 | * should ensure going forward that we mark bugs as `Issue-Bug` 66 | * e.g. https://github.com/powershell/powershell/issues/5983 67 | * look through `Resolution-*` (especially `Resolution-Duplicate` and close old ones) -------------------------------------------------------------------------------- /Archive/Withdrawn/RFC0001-Mutual-Exclusion-Parameters-and-Properties.md: -------------------------------------------------------------------------------- 1 | --- 2 | RFC: 0001 3 | Author: Steve Lee 4 | Status: Withdrawn 5 | Area: Parameters 6 | Comments Due: 1/31/2016 7 | --- 8 | 9 | # Mutually Exclusive Parameters and Properties 10 | 11 | ParameterSets were introduced in PowerShell v2. This allowed definition of 12 | different sets of parameters for advanced functions. For example, the 13 | Invoke-Command cmdlet can take a PSSession object that encapsulates all 14 | the necessary information to successfully create a remote connection, 15 | however, it also allows the users to specify each connection parameter 16 | seperately which may be useful for interactive one-time operations. This 17 | example is for illustrative purposes and doesn't represent the actual 18 | cmdlet: 19 | 20 | ```PowerShell 21 | function Invoke-Command { 22 | param ( 23 | [Parameter(ParameterSetName="ComputerName", Position=0)] 24 | [string] $ComputerName, 25 | 26 | [Parameter(ParameterSetName="ComputerName")] 27 | [PSCredential] $Credential, 28 | 29 | [Parameter(ParameterSetName="ComputerName")] 30 | [Int32] $Port, 31 | 32 | [Parameter(ParameterSetName="PSSession", Position=0)] 33 | [PSSession] $PSSession 34 | ) 35 | } 36 | ``` 37 | 38 | Through the use of ParameterSets, the user can know through help or 39 | intellisense which additional parameters are appropriate and needed. 40 | 41 | In PowerShell v5, we added the ability to author classes in PowerShell 42 | script. In addition, classes provided a much simpler development experience 43 | to author DSC (Desired State Configuration) resources. In the DSC case, they 44 | also have use cases where you would set certain property values in a 45 | configuration document, but the properties are mutually exclusive. 46 | 47 | Although mutual exclusion can be handled with ParameterSets (which could 48 | be extended for class properties), it can be quite complex to define and can 49 | generate many resulting ParameterSets that can be confusing to the end user. 50 | 51 | ## Motivation 52 | 53 | As the cmdlet or DSC resource author, I can simply annotate my code to 54 | define mutually exclusive parameters for advanced functions and properties 55 | for classes so that the end user can easily understand which parameters and 56 | properties are mutually exclusive at parse time rather than run time. 57 | 58 | ## Specification 59 | 60 | The proposal is to use an attribute to describe parameters and properties 61 | that are mutually exclusive. This makes it simple to author and also 62 | makes it simple to read and understand. 63 | 64 | ### [MutuallyExclusive()] attribute on the function/class definition 65 | 66 | ```PowerShell 67 | # Prop1 and Prop3 are mutually exclusive 68 | # Prop2 and Prop4 are mutually exclusive 69 | # Prop2 and Prop5 are mutually exclusive 70 | [MutuallyExclusive("Prop1", "Prop3")] 71 | [MutuallyExclusive("Prop2", "Prop4")] 72 | [MutuallyExclusive("Prop2", "Prop5")] 73 | class foo { 74 | [string] $Prop1 75 | 76 | [string] $Prop2 77 | 78 | [string] $Prop3 79 | 80 | [string] $Prop4 81 | 82 | [string] $Prop5 83 | } 84 | ``` 85 | 86 | Pros: easier to understand the resulting mutually exclusive sets 87 | 88 | Cons: introduces new semantics 89 | 90 | ## Alternate Proposals and Considerations 91 | 92 | ### [ExclusionSet()] attribute on each parameter/property 93 | 94 | ```PowerShell 95 | class foo { 96 | # Prop1 and Prop3 are mutually exclusive 97 | # Prop2 and Prop4 are mutually exclusive 98 | # Prop2 and Prop5 are mutually exclusive 99 | [ExclusionSet("A")] 100 | [string] $Prop1 101 | 102 | [ExclusionSet("B","C")] 103 | [string] $Prop2 104 | 105 | [ExclusionSet("A")] 106 | [string] $Prop3 107 | 108 | [ExclusionSet("B")] 109 | [string] $Prop4 110 | 111 | [ExclusionSet("C")] 112 | [string] $Prop5 113 | } 114 | ``` 115 | 116 | Pros: consistent with ParameterSet annotation being on the parameters 117 | 118 | Cons: harder to determine the resulting mutually exclusive sets after authoring 119 | 120 | --------------------------------------------------------------------------------