随着Windows Server 2012的发布,PowerShell作为脚本语言,将成为命令行接口的新规范。拥有超过2300条命令的PowerShell可以更容易的实现任务自动化,为管理员节省宝贵的时间。 但是,当管理员遇到PowerShell错误时要怎么处理?如何才能将其修复?PowerShell专家Don Jones将通过处理一些常见的PowerShell错误来指导大家如何解决这些问题。 为什么PowerShell命令能够在本地正常运行,却无法在远程运行? 对于管理员来说,远程处理是在远程计算机上运行命令的绝佳方式。
Jones甚至将PowerShell远程处理功能称为管理的“……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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提供的文件路径还是以某种形式将名称和路径进行组合呢?
实际上,到最后你在命令中实际需要或查询的只是其中的一到两个属性。
作者
翻译
相关推荐
-
应用PowerShell进行SharePoint Online管理
在应用PowerShell在线管理SharePoint之前,管理员需要进行一系列准备工作,例如下载SharePoint Online Management Shell等。
-
两种方式将Windows容器部署到微软Azure中
想要创建并管理Windows Server容器吗?本文将会介绍如何利用本地Docker命令和PowerShell模块来实现以上目标。
-
PowerShell脚本示例及管理员参考指南
精明的Windows专业人士和管理员甚至也会做出比卷子袖子干事更加愚笨的事情,为了实现自动化任务,他们需要了解脚本语言以及所有PowerShell工具。
-
如何使用PowerShell管理Windows服务
管理员如何在本地或者远程计算机上操控服务,面对变几十台甚至几百台机器时,PowerShell就派上用场了。