你可以在任何主机上,或者各个版本的Windows自带的PowerShell.exe或者powershell_ise.exe来运行PowerShell脚本。与简陋的纯控制台相比,大多数人更喜欢拥有图形界面的ISE编辑器。
一旦你运行控制台应用程序时,应当意识到,ISE中的并不是一个真正的控制台。有时,如果某个控制台应用程序想跟用户进行交互,可能在ISE那个虚拟的控制台中会出错。
比如choice.exe在传统控制台上无虞,如果把它放在ISE中运行,你若想接收到按键请求,犹如白日做梦!
有时,还会导致无法预期的结果。当你运行driverquery.exe代入参数/S+服务器名去查询远程电脑的驱动时,这时你的ISE编辑器可能假死。
此时还是同样的命令,你在控制台上运行,发现driverquery.exe会询问用户密码。但是在ISE中的控制台,既不会询问密码,也不会接受输入,因为它没有控制台缓冲区。
因此为了避免ISE中的这些问题,当你的脚本中有使用到一些控制台应用程序时,最好在经典PowerShell控制台中运行。
原文地址: Beware Of Hidden Password Requests
本文链接: https://www.pstips.net/beware-of-hidden-password-requests.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
以前遇到过在VS中调用ps1脚本的情况,那些脚本在经典控制台中可以很好运行,但是在ISE中却报错,而在VS中运行时同样报错,最后只能更改ps1中的一些Code来适应ISE和VS。
建议不用C#调用PS脚本,PS能做到的C#同样能做到,而且兼容和内存管理更优秀。
这么说,可有点太绝对了奥。 关键要看生产效率,管理Windows Azure有REST API,也有PowerShell 命令,有人宁愿在C#工程中调用Power Shell,因为方便。