guides:powershell

Powershell

#Include <CLR> ; https://raw.githubusercontent.com/Lexikos/CLR.ahk/refs/tags/v2.0/CLR.ahk
 
cSharp := "
(
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
 
public class ps
{
    public string RunScript(string scriptText)
    {
        Runspace runspace = RunspaceFactory.CreateRunspace();
        runspace.Open();
 
        Pipeline pipeline = runspace.CreatePipeline();
        pipeline.Commands.AddScript(scriptText);
        pipeline.Commands.Add("Out-String");
 
        Collection<PSObject> results = pipeline.Invoke();
 
        runspace.Close();
        return results[0].ToString();
    }
}
)"
 
asm := CLR_CompileCs( cSharp, "System.Core.dll | C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll" )
ps := asm.CreateInstance("ps")
MsgBox ps.RunScript("Get-Printer | ConvertTo-Json")