Command-Line-Interface
Powershell 無法“看到” dnscmd.exe
我對這個完全不知所措。最近我的一些 powershell 腳本開始失敗,因為它們無法找到命令 dnscmd.exe。
讓我不知所措的是執行檔存在並且可以工作,我可以在命令提示符下正常執行它。我在powershell中嘗試了以下執行命令:
- dnscmd
- & dnscmd
- & dnscmd.exe
- & c:\windows\system32\dnscmd.exe
全部返回“術語 dnscmd 未被辨識為 cmdlet、函式、腳本文件或可執行程序的名稱……”
誰能告訴我為什麼powershell完全看不到命令,普通的命令提示符/ Windows資源管理器等可以在哪裡?使用 PowerShell 2。
對我來說,這聽起來像是文件系統重定向器的工作。您在 64 位作業系統上執行嗎?
例如,當您使用 PowerShell (x86) 在 64 位作業系統上呼叫 C:\Windows\system32\dnscmd.exe 時,這將被重定向到 C:\Windows\SysWow64\dnscmd.exe。重定向發生在訪問文件夾的位置,因此即使您明確提供了執行檔的路徑,您仍然會被轉移。這可以通過呼叫本機 Windows API 在目前執行緒上禁用,也可以通過使用某些變數和別名來避免。
更多資訊在這裡:http: //msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx