Command-Line-Interface

Powershell 無法“看到” dnscmd.exe

  • December 27, 2018

我對這個完全不知所措。最近我的一些 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

引用自:https://serverfault.com/questions/155363