Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
237
Tıklama
0
Öne Çıkarma
Powershell'de çalışan kod system('powershell komut') ile çalıştırınca hata veriyor. [Çözüldü.]
G
5 yıl
Yüzbaşı
Konu Sahibi

Powershell ile dosya indirmeyi başardım fakat bunu c++'a system() fonksiyonuna uyarladığımda hata veriyor.

(Hata veren compiler değil.)

Direk powershell kodunu CMD'ye yapıştırdım :
%systemroot%\system32\WindowsPowerShell\v1.0\powershell.exe (New-Object System.Net.WebClient).DownloadFile("url","$env:systemroot\\windowtest.exe")

cmd'den bu üstteki kodu başlatınca çalışmıyor. Bu neden olabilir ? (powershell'den başlatınca sorunsuz çalışıyor.)


C++ Uyarlanışı :

const char* powershell = "(New-Object System.Net.WebClient).DownloadFile("url","$env:systemroot\\windowtest.exe")";
system(powershell);



Bu üstteki kodu farklı bir şekilde powershell ile çalıştırmanın bir yolu var mıdır ?

ShellExecute() gibi ?? (shellexecute ile çalıştıramadım)

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Guest-8F0924900 -- 10 Mayıs 2020; 22:19:9 >

G
5 yıl
Yüzbaşı
Konu Sahibi

Ofstream ile dosya oluşturup dosyaya kodu yazdım ve oradan çalıştırdım.


const string download_command = "command";

ofstream file("path.ps1");
file << download_command;
file.close();


system("powershell path.ps1")



T
5 yıl
Yarbay

(New-Object System.Net.WebClient).DownloadFile("url","$env:systemroot\\windowtest.exe")

kodu CMD.exe'de neden çalışmıyor diye soruyorsan, o CMD.exe'nin komut setleri arasında yer almayan, PS'e özel bir kod o yüzden calışmaz. PS .NET framework'teki şeyleri kullanan geniş bir sistem. CMD.exe ise basit bir shell + terminal



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
G
5 yıl
Yüzbaşı
Konu Sahibi

Onu biliyorum zaten cmd'den şu şekilde çalıştırmaya çalışıyordum :

system("%systemroot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe komut")

başta powershell.exe'nin konumunu belirtip 2.'ye argüman giriyordum.

yani kısaca c programlarındaki argv gibi.





< Bu mesaj bu kişi tarafından değiştirildi Guest-8F0924900 -- 10 Mayıs 2020; 22:54:11 >


Bu mesajda bahsedilenler: @vonderplanitz
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.