PowerShell常见问题及解决方法

日期: 2012-11-15 作者:Toni Boger翻译:陈中华 来源:TechTarget中国 英文

随着Windows Server 2012的发布,PowerShell作为脚本语言,将成为命令行接口的新规范。拥有超过2300条命令的PowerShell可以更容易的实现任务自动化,为管理员节省宝贵的时间。   但是,当管理员遇到PowerShell错误时要怎么处理?如何才能将其修复?PowerShell专家Don Jones将通过处理一些常见的PowerShell错误来指导大家如何解决这些问题。   为什么PowerShell命令能够在本地正常运行,却无法在远程运行?   对于管理员来说,远程处理是在远程计算机上运行命令的绝佳方式。

Jones甚至将PowerShell远程处理功能称为管理的“……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

随着Windows Server 2012的发布,PowerShell作为脚本语言,将成为命令行接口的新规范。拥有超过2300条命令的PowerShell可以更容易的实现任务自动化,为管理员节省宝贵的时间。

  但是,当管理员遇到PowerShell错误时要怎么处理?如何才能将其修复?PowerShell专家Don Jones将通过处理一些常见的PowerShell错误来指导大家如何解决这些问题。

  为什么PowerShell命令能够在本地正常运行,却无法在远程运行?

  对于管理员来说,远程处理是在远程计算机上运行命令的绝佳方式。Jones甚至将PowerShell远程处理功能称为管理的“未来方式”。但Windows Server 2012的远程处理有几个困难需要克服。

  解决此问题的方式有多种。首先要确认远程运行的命令是否存在于远程的服务器中。另外当你运行命令时,时间的准确性也相当重要。最后还需要检查一下这条命令是否是外部命令,避免远程服务器因此而出错。

  如果所有方法都无法奏效,问题可能就是Jones所说的“环境障碍”,这需要单独的步骤进行排错。

  为何无法比较 PowerShell的变量内容?

  无法比较PowerShell变量的内容有多种原因。首先,某些PowerShell命令返回的结果将多于你的请求。例如,Dir命令可以返回多个对象和多种类型的对象。其次,一些命令,如$file,几乎总是会返回多种类型的对象,而像-like这样的PowerShell运算符则不能针对多个对象运行。

  要解决这个问题,可以通过写一条命令来枚举文件,这样可以让用户每次只比较一个对象。如果你一直在使用PowerShell,可以有多种方式来做到这一点。

  一种方式是构造法(如使用Foreach),它可以接受多个对象,然后逐个进行比较。另一种方法则是使用命令的方式(非脚本方式)来进行处理。

  为什么当我尝试访问一个文件时,PowerShell会出错

  如果你在试图访问一个文件时,总是遇到问题,部分原因可能是使用PowerShell访问文件的方式有问题。在这个问题上要牢记的最重要的一点就是大多数PowerShell命令的输出是对象,而输入参数可能无法接受整个对象。

  若要解决此问题,请务必检查命令变量的属性以及它们包含的数据是你真正需要的。例如,使用$file是要获得类似Fullname提供的文件路径还是以某种形式将名称和路径进行组合呢?

  实际上,到最后你在命令中实际需要或查询的只是其中的一到两个属性。

相关推荐