مشکل در ارسال command به command prompt
دوستان سلام.
یه کدی دارم که میخوام command prompt را با دسترسی ادمین باز کنه و محتوای یک پوشه و یک کلید رجیستری رو حذف کنه:
private void ExecuteCommand(string Command)
{
System.Diagnostics.ProcessStartInfo ProcessInfo;
System.Diagnostics.Process Process;
ProcessInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/C " + Command);
ProcessInfo.CreateNoWindow = false;
ProcessInfo.UseShellExecute = false;
ProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
ProcessInfo.Domain = "mydomain.com";
ProcessInfo.UserName = "ad";
ProcessInfo.WorkingDirectory = "C:\\Windows\\System32";
System.String rawPassword = "ad@1234";
System.Security.SecureString encPassword = new System.Security.SecureString();
foreach (System.Char c in rawPassword)
{
encPassword.AppendChar(c);
}
ProcessInfo.Password = encPassword;
Process = System.Diagnostics.Process.Start(ProcessInfo);
}
private void button1_Click(object sender, EventArgs e)
{
ExecuteCommand("del C:\\Users\\pc-1205\\AppData\\Roaming\\Microsoft\\Windows\\Themes /s /q ");
//ExecuteCommand("ping 192.168.1.2 ");
//ExecuteCommand("services.msc");
}
مشکلی که دارم اینه که در کدهای دکمه خط اول که مربوط به حذف فایل هاست عمل نمیکنه(فایل های حذف نمیشن-کامند در cmd به صورت دستی اجرا شد عمل کرد) ولی خط دوم(ping) و خط سوم(services,msc) عمل میکنه.
به نظر شما مشکل از کجاس؟
ممنون
نقل قول: مشکل در ارسال command به command prompt
نقل قول: مشکل در ارسال command به command prompt
سلام
حتما باید فایل بصورت کامند حذف بشه؟
نقل قول: مشکل در ارسال command به command prompt
بله بايد به صورت کامند حذف بشه چون لازمه برا حذفش دسترسی ادمین داشته باشی.
اما یه نکته جالب امروز بهش برخوردم:
اومدم کد رو اینطوری تست کردم:کامند رو تکه تکه ارسال کردم و به جای del از cd استفاده کردم که ببینم مشکلش چیه.دیدم اصلا نمیتونه وارد پوشه ی pc-1205 بشه.
بعدش اومدم cmd رو در محیط ویندوز با همین یوزر پسوردی که توی کدها نوشتم run as كردم دیدم وارد پوشه شدم و مشکلی نبود.
(اینو توی پرانتز میگم فقط زیاد بهش توجه نکنید که گیج بشید:در ویندوز به پوشه دسترسی everyone دادم مشکل حل شد.این راه حل نیست چون نمیتونم بیام رو کلی کلاینت توی دامین اینکار رو بکنم).
اما نکته اینجاس که توی کدهای بالا اون قسمتی که مربوط به یوزر پسورد و نام دامین هست رو برش داشتم مشکل حل شد و تونست به پوشه وارد بشه!! :متعجب:
در حالیکه این یوزر،یوزر ادمین دامین هستش.
نمیتونم cmd رو با يوزر ادمین اجرا نکنم چون بعد از طریق cmd میخوام کارایی بکنم که نیازه به صورت ادمین اجرا بشه. :گریه::گریه: