PowerShell / PowerShell/PowerShell
Allow `$PSCmdlet` methods in constrained language
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 55.5k
- Forks
- 8.5k
- Merge moyen
- 1 j 2 h
- PR mergées (30 j)
- 88
Description
Summary of the new feature / enhancement
The following fails when using constrained language mode:
function Test-ShouldProcess {
[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')]
param()
if($PSCmdlet.ShouldProcess('something')) {
return $true
}
}
Error:
Cannot invoke method. Method invocation is supported only on core types in this language mode.
Other usages are also blocked, such as getting preference variables from caller scope within modules:
param (
$VerbosePreference = $PSCmdlet.GetVariableValue('VerbosePreference')
)
Proposed technical implementation details (optional)
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire les exemples de ShouldProcess et GetVariableValue en mode de langage contraint, puis suivez le traitement des appels de méthodes dans le langage contraint. Définissez les méthodes autorisées de $PSCmdlet et vérifiez que ces appels fonctionnent sans assouplir les restrictions sur les autres appels de méthodes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp, powershell
- Domaine
- cli, security
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100