Skip to main content

iis server cannot run shell exec

iis server cannot run shell exec


After hours and hours of trying and searching for an answer i coudn't get it working.
Hosting details:
Windows Server 2012 R2
Plesk 12
IIS 8.5

The problem

My problem is: I want to execute this command in PHP. The command is necessary to reload the configs for filezilla, after creating a new user with an PHP script.
C:\Program Files (x86)\FileZilla Server\FileZilla Server.exe /reload-config
It does work when i try it directly in CMD. But in PHP if doens't somehow work. I tried so many things, that im going to try to give you all the manners i tried.
I tried to do this at the following ways:

Trial 1

$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config'; 
exec( $command, $output, $return); 

print_r($output);
echo '<br/>' .$return;
Output:
Array ( ) 
0

Trial 2

$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config'; 
system( $command, $output); 

print_r($output);
Output: 0

Trial 3

$command = 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config'; 
exec( $command, $output, $return); 

print_r($output);
echo '<br/>' .$return;
Output: 0

Trial 4 (The only one that returns an error!)

exec( 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /stop 2>&1', $output); 
print_r($output);
Output:
Array ( [0] => Toegang geweigerd. )
In english:
Array ( [0] => Access denied. )

Privileges:

In allmost all awnsers found they talked about privileges. I did following privileges:
Gave all web users and IUSR privileges to CMD.exe and FileZilla Server.exe, and tried to set the IIS authentication from anonymous to an Administrator account
Somebody said to try this:
echo '<pre>';
    system('set', $retval);
echo ' </pre>'; 
If i do that my output is: http://pastebin.com/SjzeQpJ0
If you guys want anymore details just ask. I hope you guys can figure it out for me. I tried to be as clear as possible. Thanks.

Finaly found the solution!!


If you encounter the same problem as i did, and you dont know how to fix this, follow this steps.
  1. Login to the Remote of your server (if you have access to it) Open
  2. Open the IIS manager
  3. Select -> Application Pools node underneath the machine node (left panel)
  4. Right click on the desired domainname -> Advanced settings
  5. Scroll to Process Model -> Id
  6. Click on the 3 dots
  7. Check the Custom Account radio button
  8. Fill in an existing administration account which has access to the remote desktop and of course its password
  9. Press OK
  10. Now go to the .exe or whatever file you want to access throught the exec command and
  11. Right click on the file and select properties
  12. Go to the security tab
  13. Select Edit
  14. Now grand full rights to the account you selected before. If its not listed than add it manualy by clicking on Add
If you have done all of this, it now should work.



Finaly found the solution!!


If you encounter the same problem as i did, and you dont know how to fix this, follow this steps.
  1. Login to the Remote of your server (if you have access to it)
  2. Open the IIS manager
  3. Select -> Application Pools node underneath the machine node (left panel)
  4. Right click on the desired domainname -> Advanced settings
  5. Scroll to Process Model -> Id
  6. Click on the 3 dots
  7. Check the Custom Account radio button
  8. Fill in an existing administration account which has access to the remote desktop and of course its password
  9. Press OK
  10. Now go to the .exe or whatever file you want to access throught the exec command and
  11. Right click on the file and select properties
  12. Go to the security tab
  13. Select Edit
  14. Now grand full rights to the account you selected before. If its not listed than add it manualy by clicking on Add
If you have done all of this, it now should work.



Comments

Popular posts from this blog

Sejarah desa sumber kecamatan jatitujuh kabupaten majalengka

            KI. Bagus Arimba / KI. Bagus Arsitem dilahirkan di kecamatan Ligung kabupaten Majalengka sekitar abad ke-17 putra dari KI. Bagus demang Secayuda yang merupakan pejuang anti penjajah belanda (VOC pada zaman itu).             Ketika istri KI. Demang secayuda mengandung, beliau berpesan apabila nanti lahir laki-laki maka di beri nama KI.Bagus Arimba dan jika lahir anak perempuan maka namanya diserahkan pada isteri beliau. Kemudian KI. Demang secayuda meneruskan perjuangannya melawan penjajah di tanh air indonesia tercinta sampai-sampai kuburan beliaupun tidak ditemukan.            Sesudah menginjak dewasa KI. Bagus Arimba meneruskan perjuangan ramanya (bapaknya) yakni mengajarkan ilmu agama dan tata ilmu kejawen (pertanian dan perdagangan ) danmenentang anti penjajah yang pada waktu itu penjajah VOC B...

belajar bahasa pemograman "php" newbie untuk pemula 1. sekilas tentang php

belajar bahasa pemograman "php" newbie untuk pemula 1. sekilas tentang php php adalah salah satu bahasa pemograman web yang bekerja di server -=- dan sebuah bahasa yang bagus dan mudah dipahami ("menurut saya karena saya suka php jadi saya anggap mudah hehe "), ok cukup dulu untuk penjelasanya karena aku juga ga begitu tahu tentang penjelasannya Berkenalan dulu yuk ! sama php kita kan berkenalan dulu dengan penulisan sintax php penulisan php harus berada dalam dan ada beberapa cara lagi cara penulisan php tapi saya sangat menganjurkan dengan sintax diatas penyimpanan extension php file php hanaya akan berjalan bila disimpan pada file dengan extension .php dan untuk php terbaru terdapat extension yang berbeda yang sya belum paham jadi gak say jelasin disini penyimpanan file php seperti saya bilang diatas bahwa php adalah bahasa pemograman yang bekerja di server jadi kita harus menyimpannya di sebuah server -  butuh server klik disisni sebelum kita membuat seb...