4

I am trying to call a function in a PowerShell script file. I am using WinUI 3. I get difficult-to-understand output in the debugger output, and the PowerShell script does not appear to execute at all. I have verified the PowerShell script runs correctly when I run it directly from PowerShell (or start it directly in Visual Studio).

The following C# code is used to call the function Setup-Workspaces in the PowerShell script. Note that the datatype of workspace.Name is string. This is based on the answer here.

/// <summary>
/// Launches the given workspace using the given powershell script.
/// </summary>
/// <param name="script"></param>
/// <param name="workspace"></param>
internal static void LaunchWorkspace(string script, Workspace workspace)
{
    using (PowerShell powerShell = PowerShell.Create())
    {
        // Add the script to run from.
        powerShell.AddScript(script, false);

        powerShell.Invoke();

        powerShell.Commands.Clear();

        // Add the command in the script to run.
        powerShell.AddCommand("Setup-Workspaces").AddParameter("WorkspaceName", workspace.Name);

        // Execute the command from the script.
        var results = powerShell.Invoke();
        //System.Diagnostics.Debug.WriteLine("Stuff happened");
        //System.Diagnostics.Debug.WriteLine("THE SCRIPT\n\n\n");
    }
}

The following is the function called from the PowerShell script. Note that the function is written expecting only one of the two parameters to be provided. I have verified this works when running this script independently of the C# code.

function Setup-Workspaces {
    # Define the parameter.
    param (
        $Workspaces, $WorkspaceName
    )

    Write-Host ("Setup-Workspaces called... ")

    # ... rest of function here
}

The Write-Host output never appears in the debugger output window... so I take that to mean the function is not running at all.

The output I get in the debugger window (omitting most of it, which are a bunch of "LOADED" statements:

onecore\com\combase\objact\objact.cxx(4080)\combase.dll!00007FFB6A405105: (caller: 00007FFB6A401B12) ReturnHr(4) tid(9874) 80040154 Class not registered
onecore\net\netprofiles\service\src\nsp\dll\namespaceserviceprovider.cpp(550)\nlansp_c.dll!00007FFB242CC759: (caller: 00007FFB6A04388E) LogHr(1) tid(ea84) 8007277C No such service is known. The service cannot be found in the specified name space.
onecore\printscan\appxpackaging\signing\src\appxsip.cpp(612)\AppxSip.dll!00007FFA8490183C: (caller: 00007FFB69582C5A) ReturnHr(1) tid(ea84) 80070032 The request is not supported.
onecore\printscan\appxpackaging\signing\src\appxbundlesip.cpp(693)\AppxSip.dll!00007FFA84901327: (caller: 00007FFB69582C5A) ReturnHr(2) tid(ea84) 80070032 The request is not supported.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.