Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
某些命令(如IISRESET和ROBOCOPY)已在Powershell v4中停止工作_Powershell_Shell_Powershell 4.0_Windows Server 2012 R2 - Fatal编程技术网

某些命令(如IISRESET和ROBOCOPY)已在Powershell v4中停止工作

某些命令(如IISRESET和ROBOCOPY)已在Powershell v4中停止工作,powershell,shell,powershell-4.0,windows-server-2012-r2,Powershell,Shell,Powershell 4.0,Windows Server 2012 R2,某些命令(如IISRESET和ROBOCOPY)已在Powershell v4中停止工作 我有一个相当大的脚本,在某些点上运行这两个命令,但现在这两个命令都给了我一个一般错误: iisreset:术语“iisreset”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 这些命令仍然可以在CMD中使用 所做的唯一更改是,我安装了WMF5和Powershell 5,但尚未重新启动服务器(数据中心中有许多到在其上运行的USB的副

某些命令(如IISRESET和ROBOCOPY)已在Powershell v4中停止工作

我有一个相当大的脚本,在某些点上运行这两个命令,但现在这两个命令都给了我一个一般错误:

iisreset:术语“iisreset”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

这些命令仍然可以在CMD中使用

所做的唯一更改是,我安装了WMF5和Powershell 5,但尚未重新启动服务器(数据中心中有许多到在其上运行的USB的副本),因此我仍在运行Powershell 4。我甚至安装了Powershell 7并尝试运行该脚本,但它提到它是一个PS4模块,我需要将WMF5与Powershell 5.1一起安装(正在等待安装。而5.0是..)

这个powershell脚本对我来说非常重要,我有几天不能重新启动

您认为是WMF5安装导致此问题还是Powershell 7安装导致此问题?在看到脚本不再工作后,我删除了Powershell 7。在我可以重新启动之前有什么解决方法吗

Windows Server 2012 R2 Powershell 4.0和5.0等待重新启动


我还刚刚安装了CMDer,但我认为它与此无关。

iisreset不是真正的powershell命令,它是一个位于C:\Windows\System32中的EXE文件 因此,首先检查文件是否存在,如果存在,请检查PowerShell中的环境变量$Env:Path。应包含C:\WINDOWS\system32;还有许多其他途径

通过运行以下命令检查$Env:Path:

($env:path).split(";")
如果您的iisreset.exe文件位于C:\WINDOWS\system32中,并且C:\WINDOWS\system32已添加到PowerShell中的$Env:路径中,您应该能够通过键入:iisreset.exe来运行它

将路径添加到$Env:path的步骤

$ENV:PATH="$ENV:PATH;C:\WINDOWS\system32"
但除非您更新注册表,否则这不会是永久性的:

$oldpath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path
$newpath = "$oldpath;C:\WINDOWS\system32"
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newPath
(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path
然后验证其正确运行:

($env:path).split(";")

请尝试
IISReset.exe
Robocopy.exe
或尝试使用完全扩展的PathThanks进行建议,但这不起作用。好主意!你太棒了!我只需要从“-Name PATH.PATH”中删除额外的)命令,它就成功了!你是个救命恩人,我的朋友!