Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 18, 2025

PR Summary

Utils.ValidateModuleManifest() fails with false positive "No author was provided" errors because PSModuleInfo properties return empty strings when deserialized across runspace boundaries.

PR Context

PowerShell.Create() instantiates a new runspace. Objects returned from cmdlets executed in that runspace are serialized when crossing back to the calling context. During this serialization/deserialization, PSModuleInfo properties (Author, Description, Version) lose their values.

Changes:

  • src/code/Utils.cs (line 1378): Use PowerShell.Create(RunspaceMode.CurrentRunspace) instead of PowerShell.Create()
  • src/code/Utils.cs (lines 1403-1430): Restructured validation logic to check PSModuleInfo properties directly on the result object, regardless of pwsh.HadErrors state
  • test/PublishPSResourceTests/PublishPSResource.Tests.ps1: Add test case validating manifest validation without -SkipModuleManifestValidate

Before:

using (System.Management.Automation.PowerShell pwsh = System.Management.Automation.PowerShell.Create())
{
    // ...
    if (pwsh.HadErrors)
    {
        if (results.Any())
        {
            // Check Author, Description, Version
        }
    }
}

After:

using (System.Management.Automation.PowerShell pwsh = System.Management.Automation.PowerShell.Create(RunspaceMode.CurrentRunspace))
{
    // ...
    // Validate the result object directly
    if (results.Any())
    {
        // Check Author, Description, Version
        // Return false immediately on failure
    }
    
    // Check for any errors from Test-ModuleManifest
    if (pwsh.HadErrors)
    {
        // Handle other errors
    }
}

Running Test-ModuleManifest in the current runspace eliminates the serialization boundary, preserving object properties. The validation logic now checks properties directly on the result object rather than only when pwsh.HadErrors is true, ensuring proper validation with CurrentRunspace mode.

PR Checklist

Original prompt

This section details on the original issue you should resolve

<issue_title>Bug: PSModuleInfo.Author returns empty string when called via PowerShell Runspace</issue_title>
<issue_description>## 🐛 Bug Description

Utils.ValidateModuleManifest() fails with false positive "No author was provided" error when called via [PowerShell]::Create() runspace, even though the module manifest contains a valid Author field.

The issue occurs because PSModuleInfo.Author property returns empty string when the object is deserialized across PowerShell runspace boundary.

📍 Affected Code

File: src/code/Utils.cs
Lines: 1388-1403

public static bool ValidateModuleManifest(string moduleManifestPath, out string errorMsg)
{
    using (System.Management.Automation.PowerShell pwsh = System.Management.Automation.PowerShell.Create())
    {
        results = pwsh.AddCommand("Test-ModuleManifest")
            .AddParameter("Path", moduleManifestPath)
            .Invoke();  // ← Line 1388: Runspace call
        
        if (pwsh.HadErrors)
        {
            if (results.Any())
            {
                PSModuleInfo psModuleInfoObj = results[0].BaseObject as PSModuleInfo;
                if (string.IsNullOrWhiteSpace(psModuleInfoObj.Author))  // ← Line 1403: BUG HERE!
                {
                    errorMsg = "No author was provided...";
                    return false;
                }

🔬 Root Cause

PSModuleInfo property deserialization fails when object crosses PowerShell runspace boundary.

Test Case 1: Direct Call (Works ✅)

$manifest = Test-ModuleManifest -Path "manifest.psd1"
$manifest.Author  # → 'GrexyLoco' ✅

Test Case 2: Runspace Call (Fails ❌)

$pwsh = [PowerShell]::Create()
$results = $pwsh.AddCommand("Test-ModuleManifest").AddParameter("Path", "manifest.psd1").Invoke()
$psModuleInfo = $results[0].BaseObject
$psModuleInfo.Author  # → '' (empty string) ❌
$pwsh.HadErrors       # → False
$pwsh.Dispose()

Comparison Table:

Method Call Type Author Value pwsh.HadErrors Result
Direct Test-ModuleManifest -Path 'GrexyLoco' N/A ✅ Works
Runspace [PowerShell]::Create() '' (empty) False ❌ Fails

💥 Impact

Symptom: Publish-PSResource throws error:

No author was provided in the module manifest

Workaround Required:

Publish-PSResource -Path ./Module -Repository MyRepo -SkipModuleManifestValidate

This forces users to bypass validation entirely, which is not ideal for catching actual manifest issues.

🔧 Suggested Fix

Option 1: Use direct Test-ModuleManifest call (preferred)

// Instead of runspace, use direct cmdlet invocation
var manifestValidation = InvokeCommand.InvokeScript(
    $"Test-ModuleManifest -Path '{moduleManifestPath}'"
).FirstOrDefault()?.BaseObject as PSModuleInfo;

Option 2: Serialize specific properties explicitly

// Request explicit property serialization before crossing runspace boundary
pwsh.AddCommand("Test-ModuleManifest")
    .AddParameter("Path", moduleManifestPath);
    
var results = pwsh.Invoke();
var moduleInfo = results[0];

// Access properties via PSObject instead of BaseObject
string author = moduleInfo.Properties["Author"]?.Value?.ToString();

Option 3: Add null/empty check with better error message

if (string.IsNullOrWhiteSpace(psModuleInfoObj.Author))
{
    // Re-validate with direct call to confirm
    var directTest = InvokeCommand.InvokeScript(
        $"(Test-ModuleManifest -Path '{moduleManifestPath}').Author"
    ).FirstOrDefault()?.ToString();
    
    if (!string.IsNullOrWhiteSpace(directTest))
    {
        // Runspace deserialization bug - use direct result
        psModuleInfoObj.Author = directTest;
    }
    else
    {
        errorMsg = "No author was provided...";
        return false;
    }
}

🧪 Reproduction Steps

  1. Create valid module manifest with Author = 'TestAuthor'
  2. Call Publish-PSResource -Path ./Module -Repository MyRepo
  3. Observe error: "No author was provided in the module manifest"
  4. Verify manifest with direct Test-ModuleManifest → works correctly

📋 Environment

  • PSResourceGet Version: 1.1.1 (stable), 1.2.0-preview3
  • PowerShell Version: 7.4.6
  • OS: Windows 11, GitHub Actions (Ubuntu/Windows runners)
  • Manifest File: Valid .psd1 with all required fields including Author

📎 References

✅ Expected Behavior

ValidateModuleManifest() should correctly read Author property from module manifest regardless of execution context (direct vs runspace).

❌ Actual Behavior

Author property returns empty stri...


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Changed PowerShell.Create() to PowerShell.Create(RunspaceMode.CurrentRunspace) in Utils.ValidateModuleManifest() to prevent property deserialization issues when crossing runspace boundaries. Added test case to verify the fix.

Co-authored-by: adityapatwardhan <12820925+adityapatwardhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix empty Author string in PSModuleInfo Fix PSModuleInfo property deserialization in ValidateModuleManifest Nov 18, 2025
Copilot finished work on behalf of adityapatwardhan November 18, 2025 20:19
@adityapatwardhan adityapatwardhan marked this pull request as ready for review November 18, 2025 21:19
@adityapatwardhan
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@adityapatwardhan
Copy link
Member

@copilot in the file Utils.cs after the change in the previous commit, do not check whether pwsh.HadErrors. Instead do the subsequent checks on the result object.

…dErrors first

Changed validation logic to check Author, Description, and Version properties on the result object directly, rather than only checking them when pwsh.HadErrors is true. This ensures proper validation with CurrentRunspace mode.

Co-authored-by: adityapatwardhan <12820925+adityapatwardhan@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Nov 19, 2025

@copilot in the file Utils.cs after the change in the previous commit, do not check whether pwsh.HadErrors. Instead do the subsequent checks on the result object.

Done. Changed the validation logic to check Author, Description, and Version properties directly on the result object, rather than only when pwsh.HadErrors is true. The pwsh.HadErrors check is now done after the property validation to catch any other errors from Test-ModuleManifest. (commit d5ed92a)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 1javsblobprodcus364.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 1k9vsblobprodcus379.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 1oavsblobprodcus350.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/4A66B397B2EBD3D191F268C73B5A1FB9/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/137FF9934D0B4927E0F1226490EDA1B0/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 1p7vsblobprodcus324.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 37bvsblobprodcus311.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/137FF9934D0B4927E0F1226490EDA1B0/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 4myvsblobprodcus32.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • 4vyvsblobprodcus361.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 4zjvsblobprodcus390.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/test/perf/benchmarks/benchmarks.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • 51yvsblobprodcus36.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • 7devsblobprodcus323.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/test/perf/benchmarks/benchmarks.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/C2A68810F0ABB7723234514C93509B8E/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 7k6vsblobprodcus337.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • 80zvsblobprodcus35.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • bcnvsblobprodcus378.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • c50vsblobprodcus330.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • c78vsblobprodcus322.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/137FF9934D0B4927E0F1226490EDA1B0/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • d0svsblobprodcus381.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • dlbvsblobprodcus316.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • e7bvsblobprodcus348.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • frdvsblobprodcus327.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • gbsvsblobprodcus365.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • jd4vsblobprodcus366.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/77C2B7EFA55E8BDA0B153C2537FBB3C8/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/4A66B397B2EBD3D191F268C73B5A1FB9/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • josvsblobprodcus372.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • kgfvsblobprodcus314.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • kmuvsblobprodcus389.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • kxqvsblobprodcus376.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • l49vsblobprodcus358.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ljcvsblobprodcus317.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • m6xvsblobprodcus342.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • o3svsblobprodcus318.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ofvvsblobprodcus315.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/test/perf/benchmarks/benchmarks.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • pe4vsblobprodcus351.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • s4uvsblobprodcus326.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
  • se1vsblobprodcus349.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • sqdvsblobprodcus333.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/5A77BBF192406B03CF7D355D46F16504/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • st8vsblobprodcus339.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/940B32AFA3A9BBA00112E7C1E2D1C63E/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • tphvsblobprodcus375.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/PSResourceGet/src/code/Microsoft.PowerShell.PSResourceGet.csproj --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/FA56495A5AF1AE1B7C762B66F8801D7D/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • u6ovsblobprodcus377.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • v53vsblobprodcus320.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ytvvsblobprodcus310.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/.dotnet/dotnet restore --no-dependencies /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/A5E8D0CA472852830AF16B02D1DD7226/missingpackages_workingdir --packages /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/PSResourceGet/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot finished work on behalf of adityapatwardhan November 19, 2025 19:20
@alerickson
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@alerickson alerickson merged commit 60b96d9 into master Nov 20, 2025
12 checks passed
@alerickson alerickson deleted the copilot/fix-empty-author-issue branch November 20, 2025 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: PSModuleInfo.Author returns empty string when called via PowerShell Runspace

3 participants