J'ai besoin d'obtenir une liste de toutes les tâches planifiées s'exécutant sur un hôte donné dans une liste ou un tableau en C#.Comment lire la sortie standard d'une commande exécutée via Process.Start() en tant que liste ou tableau
La requête
schtasks /query /S CHESTNUT105B /FO List
retourne une liste comme ceci:
HostName: CHESTNUT105B
TaskName: Calculator
Next Run Time: 12:00:00, 10/28/2010
Status: Running
HostName: CHESTNUT105B
TaskName: GoogleUpdateTaskMachineCore
Next Run Time: At logon time
Status:
HostName: CHESTNUT105B
TaskName: GoogleUpdateTaskMachineCore
Next Run Time: 13:02:00, 10/28/2010
je le code suivant pour exécuter la commande I spécifiée ci-dessus:
static void Main(string[] args)
{
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "SCHTASKS.exe";
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
string MachineName = "CHESTNUT105b";
string ScheduledTaskName = "Calculator";
string activeDirectoryDomainName = "xxx";
string userName = "xxx";
string password = "xxxxx";
p.StartInfo.Arguments = String.Format("/Query /S {0} /FO LIST", MachineName);
p.Start();
}
Comment puis-je lire la liste générée dans une liste en C#?
Je suis sûr qu'il existe une meilleure façon de récupérer la liste - via les classes WMI, mais je ne sais pas assez de cet espace de noms pour offrir une réponse. – Oded