如果我運行:PHP到PowerShell中使用了shell_exec
$output = shell_exec('powershell "get-service "dhcp""');
我得到展示運行DHCP服務的完美輸出,但如果我運行:
$output = shell_exec('powershell "get-user "testing""');
我什麼也沒得到。
我沒有看到我在這裏做什麼的任何區別 - 以及爲什麼get-service會工作,但get-user不會。如果我用cmd運行它,它可以很好地工作。有任何想法嗎?
我認爲這些問題可能是Apache正在運行該命令並且沒有權限。情況會是這樣嗎? apache是否以不同的用戶身份運行?如果是這樣,它無法訪問。
難道這個問題幾個小時前已經發布了嗎? – Franz 2010-03-02 01:03:36
@Franz - 這是你指的帖子嗎? http://stackoverflow.com/questions/2353551/php-powershell-command – dugas 2010-03-02 01:22:12
Get-User不是內置命令。你能說一點這個cmdlet,比如它來自哪個模塊或snapin嗎?或者它是你寫的命令?順便說一句,我會像cmd.exe那樣運行這個'powershell -command「&{get-user testing}」'。請注意,通常不需要在PowerShell中引用字符串參數。 – 2010-03-02 01:23:46