質問を投稿するのは初めてです。私はcsharpとpowershellの両方が初めてです。私の英語がまったく上手でない場合は、ご容赦ください。csharp コードを powershell に変換しようとしましたが、うまくいきません。powershell に関するドキュメントを調べて、それぞれを試してみましたが、残念ながら何もうまくいきませんでした。私の csharp コードは Visual Studio 2010 で動作していますが、Powershell に埋め込んで動作させることができませんでした。以下のコードは、単純にタスク マネージャーの PID をキャッチし、それを時刻と日付のスタンプと共にメモ帳に書き込みます。どんな助けでも大歓迎です。
私のcsharpコードは次のとおりです。
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace GET_TASK
{
class Program
{
static void Main(string[] args)
{
var processList = Process.GetProcessesByName("taskmgr");
foreach (var process in processList)
{
string myPath = "C:/powershell/GET_TASK"; //change data path as needed
FileStream logfile;
//log program process
logfile = new FileStream(myPath + "/logfile.txt", FileMode.Append, FileAccess.Write);
TextWriter oldLog = Console.Out;
StreamWriter writelog;
writelog = new StreamWriter(logfile);
DateTime time = DateTime.Now;
string format = "MMM ddd d HH:mm yyyy";
Console.SetOut(writelog);
// print out the process id
Console.WriteLine("Process Id=" + process.Id + " - " + time.ToString(format));
Console.SetOut(oldLog);
writelog.Close();
System.Environment.Exit(0);
}
}
}
}
私のPowershellコードでは、
$source = @"
このコードの始めに
Add-Type -TypeDefinition $source
[GET_TASK.Program]::Main()
コードの最後にありますが、機能しません。Powershell バージョン 1 を使用しています。C# コードの変換を手伝ってください。