Skip to content

Commit 8f228a9

Browse files
author
joeyaiello
committed
feedback for CompatiblePSEditions RFC
1 parent 3c3b7ec commit 8f228a9

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

2-Draft-Accepted/RFCNNNN-PSCore6-and-Windows-Modules.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ This RFC addresses the experience for the user when using PowerShell Core 6.1 wi
1818

1919
## Motivation
2020

21-
As a ITPro,
22-
I can use existing Windows PowerShell modules in PowerShell Core 6,
23-
so that I can start deploying PowerShell Core 6 in my enterprise.
21+
As an ITPro,
22+
I can use existing Windows PowerShell modules in PowerShell Core 6,
23+
so that I can deploy PowerShell Core 6 in my enterprise.
2424

2525
## Specification
2626

@@ -40,27 +40,29 @@ Windows PowerShell, by default, has module paths in:
4040
The proposed change is to add *only* the `System32` path to `PSModulePath` on PowerShell Core 6.
4141

4242
Modules in the user profile should be re-installed under PowerShell Core 6.
43-
Duplicate modules is something that can be addressed in PowerShellGet and outside the scope of this RFC.
43+
Duplicate modules are something that can be addressed in PowerShellGet and outside the scope of this RFC.
4444
Modules in `Program Files` that may be compatible with PowerShell Core 6 is addressed below.
4545

46-
Users who want to search the entirety of the Windows PowerShell PSModulePath should use `Add-WindowsPSModulePath` cmdlet
46+
Users who want to search the entirety of the Windows PowerShell `PSModulePath` should use `Add-WindowsPSModulePath` cmdlet
4747
from the `WindowsCompatibility` module.
4848

4949
### PowerShell Core PSModulePath
5050

51-
Modules in the PowerShell Core PSModulePaths are implicitly deemed compatible even if the manifest does not
51+
Modules in the PowerShell Core `PSModulePath` are implicitly deemed compatible even if the manifest does not
5252
declare compatibility.
53-
A user would have explicitly used `Install-Module` within PowerShell Core 6 for those modules to be in the
54-
PowerShell Core 6 module path with expectation those modules are available.
53+
A user who explicitly uses `Install-Module` within PowerShell Core 6 for those modules expect them to be available to PowerShell Core 6.
5554

56-
### CompatiblePSEditions
55+
### CompatiblePSEditions for system32
56+
57+
When we add the `system32` path to PowerShell Core's `PSModulePath`,
58+
we will use additional logic to validate that the module is compatible with PowerShell Core.
5759

5860
If the module manifest contains `CompatiblePSEditions` with value `Core`, then that module is treated as compatible.
5961
If the module manifest contains `CompatiblePSEditions` with only the value of `Desktop`, then that module is treated as incompatible.
6062
If the module manifest does not contain `CompatiblePSEditions`, then that module is treated the same as `Desktop` which is incompatible.
6163

6264
By default, `Get-Module -ListAvailable` will only show modules found in `PSModulePath` that are declared as compatible.
63-
Similarly, module auto-discovery will only find modules that are declared as compatible.
65+
Similarly, module auto-discovery and auto-loading will only find modules that are declared as compatible.
6466

6567
The `ModuleInfo` table format will add a column for `CompatiblePSEditions` (between `Name` and `ExportedCommands`).
6668

0 commit comments

Comments
 (0)