Open
Description
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues.
Steps to reproduce
The following commented out test in 'FindPSResourceLocal.Tests.ps1' is failing with Find-PSResource throwing an unexpected error:
It "find resource given Name, Version null (package containing nuspec only)" {
# FindName()
$pkgName = "PowerShell"
Save-PSResource -Name $pkgName -Repository "NuGetGallery" -Path $localRepoUriAddress -AsNupkg -TrustRepository
$res = Find-PSResource -Name $pkgName -Repository $localRepo
$res.Name | Should -Be $pkgName
$res.Repository | Should -Be $localRepo
}
Use any local path as the local repository.
Expected behavior
Find-PSResource should save and produce no errors.
Actual behavior
Find-PSResource: The command 'ConvertFrom-StringData' is not allowed in restricted language mode or a Data section.
Error details
Exception :
Type : System.Management.Automation.ParseException
Errors :
Extent : ConvertFrom-StringData -StringData @'
###PSLOC
InValidUri = InValid Uri: '{0}'. A sample valid uri:
https://www.powershellgallery.com/api/v2/.
PathDoesNotExist = Path: '{0}' does not exist.
VersionError = MinimumVersion should be less than the MaximumVersion. The MinimumVersion or
MaximumVersion cannot be used with the RequiredVersion in the same command.
UnexpectedArgument = Unexpected argument type: '{0}'.
SourceNotFound = Source '{0}' not found. Please make sure you register it.
CallingFunction = Calling function '{0}'.
PropertyTypeInvalidForDesiredValues = Property 'DesiredValues' must be either a
[System.Collections.Hashtable], [CimInstance] or [PSBoundParametersDictionary]. The type detected was {0}.
PropertyTypeInvalidForValuesToCheck = If 'DesiredValues' is a CimInstance, then property
'ValuesToCheck' must contain a value.
PropertyValidationError = Expected to find an array value for property {0} in the current values,
but it was either not present or was null. This has caused the test method to return false.
PropertiesDoesNotMatch = Found an array for property {0} in the current values, but this array does
not match the desired state. Details of the changes are below.
PropertyThatDoesNotMatch = {0} - {1}
ValueOfTypeDoesNotMatch = {0} value for property {1} does not match. Current state is '{2}' and
desired state is '{3}'.
UnableToCompareProperty = Unable to compare property {0} as the type {1} is not handled by the
Test-SQLDSCParameterState cmdlet.
###PSLOC
'@
ErrorId : CmdletNotInAllowedListForDataSection
Message : The command 'ConvertFrom-StringData' is not allowed in restricted language mode or a Data section.
Message : At line:13 char:1
+ ConvertFrom-StringData -StringData @'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The command 'ConvertFrom-StringData' is not allowed in restricted language mode or a Data section.
ErrorRecord :
Exception :
Type : System.Management.Automation.ParentContainsErrorRecordException
Message : At line:13 char:1
+ ConvertFrom-StringData -StringData @'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The command 'ConvertFrom-StringData' is not allowed in restricted language mode or a Data
section.
HResult : -2146233087
CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : CmdletNotInAllowedListForDataSection
InvocationInfo :
ScriptLineNumber : 13
OffsetInLine : 1
HistoryId : -1
Line : ConvertFrom-StringData -StringData @'
Statement : ConvertFrom-StringData -StringData @'
###PSLOC
InValidUri = InValid Uri: '{0}'. A sample valid uri:
https://www.powershellgallery.com/api/v2/.
PathDoesNotExist = Path: '{0}' does not exist.
VersionError = MinimumVersion should be less than the MaximumVersion. The
MinimumVersion or MaximumVersion cannot be used with the RequiredVersion in the same command.
UnexpectedArgument = Unexpected argument type: '{0}'.
SourceNotFound = Source '{0}' not found. Please make sure you register it.
CallingFunction = Calling function '{0}'.
PropertyTypeInvalidForDesiredValues = Property 'DesiredValues' must be either a
[System.Collections.Hashtable], [CimInstance] or [PSBoundParametersDictionary]. The type detected was {0}.
PropertyTypeInvalidForValuesToCheck = If 'DesiredValues' is a CimInstance, then
property 'ValuesToCheck' must contain a value.
PropertyValidationError = Expected to find an array value for property {0} in the
current values, but it was either not present or was null. This has caused the test method to return false.
PropertiesDoesNotMatch = Found an array for property {0} in the current values, but
this array does not match the desired state. Details of the changes are below.
PropertyThatDoesNotMatch = {0} - {1}
ValueOfTypeDoesNotMatch = {0} value for property {1} does not match. Current state is
'{2}' and desired state is '{3}'.
UnableToCompareProperty = Unable to compare property {0} as the type {1} is not handled
by the Test-SQLDSCParameterState cmdlet.
###PSLOC
'@
PositionMessage : At line:13 char:1
+ ConvertFrom-StringData -StringData @'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CommandOrigin : Internal
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1
TargetSite :
Name : CheckRestrictedLanguage
DeclaringType : [System.Management.Automation.ScriptBlock]
MemberType : Method
Module : System.Management.Automation.dll
Source : System.Management.Automation
HResult : -2146233087
StackTrace :
at System.Management.Automation.ScriptBlock.CheckRestrictedLanguage(IEnumerable`1 allowedCommands, IEnumerable`1
allowedVariables, Boolean allowEnvironmentVariables)
at Microsoft.PowerShell.PSResourceGet.UtilClasses.Utils.TryReadPSDataFile(String filePath, String[]
allowedVariables, String[] allowedCommands, Boolean allowEnvironmentVariables, Hashtable& dataFileInfo, Exception&
error) in C:\code\PSResourceGet\src\code\Utils.cs:line 1286
TargetObject : Microsoft.PowerShell.PSResourceGet.Cmdlets.LocalServerAPICalls
CategoryInfo : ParserError: (Microsoft.PowerShel…LocalServerAPICalls:LocalServerAPICalls) [Find-PSResource],
ParseException
FullyQualifiedErrorId : GetMetadataFromNupkgFailure,Microsoft.PowerShell.PSResourceGet.Cmdlets.FindPSResource
InvocationInfo :
MyCommand : Find-PSResource
ScriptLineNumber : 1
OffsetInLine : 1
HistoryId : 19
Line : find-psresource "PowerShell" -Repository code
Statement : find-psresource "PowerShell" -Repository code
PositionMessage : At line:1 char:1
+ find-psresource "PowerShell" -Repository code
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
InvocationName : find-psresource
CommandOrigin : Internal
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo :
0
1
Environment data
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Binary 1.1.0 Microsoft.PowerShell.PSResourceGet {Compress-PSResource, Find-PSResource, Get-Instal…
Name Value
---- -----
PSVersion 7.5.1
PSEdition Core
GitCommitId 7.5.1
OS Microsoft Windows 10.0.26100
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visuals
No response