2012-02-29 394 views
-1

有沒有辦法以PHP身份以管理員身份運行CMD命令?我試圖通過運行exec(「%systemroot%\ system32 \ inetsrv \ APPCMD list sites」)使用appcmd.exe實用程序在IIS7上創建網站。我收到一個錯誤,說我沒有正確的權限,但如果我的RDP並在管理員CMD上運行相同的命令,它工作正常。在PHP中以管理員身份運行cmd

更新:

什麼我試圖做到的是使用,我一直在努力VS添加網站到服務器的門戶網站手動

+2

如果PHP能做到這一點,它將從我擁有的每臺Windows機器上卸載。 IIS也一樣。可能還有Windows。你在這裏談論一個巨大的安全漏洞。我(作爲管理員!)甚至無法運行應用程序作爲管理員沒有UAC框彈出,但您的PHP代碼(運行NetworkService或其他)可以? NU-呃。 – cHao 2012-02-29 16:26:09

+0

嘗試禁用您的網站的匿名身份驗證。這應該要求您登錄...使用AD憑據登錄並查看腳本是否有效。 – 2012-02-29 16:35:04

回答

0

這似乎是一個自動的IIS 7網站的建立巨大的安全風險,我建議不要這樣做,但爲了回答您的問題,您可以更改appcmd.exe的權限以允許您的IIS用戶運行它。不確定是否有任何外部依賴關係也需要權限更改。

儘管如此,這似乎不是最好的主意。大多數情況下,程序需要管理員權限是有原因的。

0

你可以這樣做的一種方法是用另一種語言編寫Windows Service以公開你需要的結果,然後通過其他端口在本地進行通信。然後安裝該服務並使其以管理員身份運行。

相關問題