如果您已经通过命令提示符使用ipconfig或ping,那么您就已经成为PowerShell忍者的一半了。所以,来加入我们,因为我们发现在这个安装的极客学校cmdlet。
请务必查看我们介绍PowerShell的第一篇文章,并在一周内继续关注本系列的其余部分。
在本系列的第一部分中,我们看到了一个类似以下内容的cmdlet:
Update-Help
PowerShell cmdlet有一个动词-名词语法,如上图所示。需要注意的重要一点是,尽管cmdlet可能返回多个结果,但名词始终是单数。要查看PowerShell中的合法动词列表,可以使用Get-Verb cmdlet。
了解合法动词并记住单数名词规则确实有助于猜测cmdlet名称。例如,假设您想要获取服务及其状态的列表—没错,这和获取服务一样简单。您认为我们将如何获得一个正在运行的进程列表—没错,get Process就可以做到这一点。
Get-Process
这使得使用任何技术都非常容易。例如,如果已加载Exchange cmdlet,我们可以使用以下命令轻松获取服务器上的邮箱列表:
Get-Mailbox
不过,也有例外。撇开交换不谈,所有其他特定于技术的命令都需要前缀。例如,如果我们想获取当前通过远程桌面登录的用户,我们可以键入:
Get-RDUserSession
可以在下面的截图中看到。
注意:这个屏幕截图是在一个Server2012盒子上拍摄的,因为在那里您可以找到大多数特定于技术的模块。
不久前,我读了PowerShell教父Don Jones的一篇文章,他在文章中解释说,Exchange在将这个前缀添加到cmdlet之前就已经发布了,所以它从来没有实现过它们,也永远不会实现。
PowerShell的另一个特性是,如果愿意的话,可以使用多种方式运行同一个命令–别名。关于它们的可怕之处在于,它们包含了许多您可能在命令提示符中使用的命令,以及一些Linux别名。例如,在PowerShell中,我们可以使用以下命令获取目录列表:
Get-ChildItem
习惯使用命令提示符吗?别担心,他们会保护你的。
有Linux背景吗?他们也在那里掩护你。
当你已经编写了几年的脚本,你往往会变得懒惰,并开始使用别名很多,但这并不能帮助新手谁将要阅读我们的代码。要查看别名在引擎盖下运行的命令,可以使用以下命令:
Get-Alias –Name ls
另一方面,如果您觉得是时候升级游戏了,可以使用definition参数获取cmdlet的所有别名:
Get-ChildItem –Definition Get-ChildItem
如果您来自其他背景,可以通过执行以下操作添加自己的别名:
New-Alias –Name icanhazfilez –Value Get-ChildItem
显然,您需要将“icanhazfilez”替换为新别名的名称,并使用希望它在后台运行的cmdlet Get ChildItem。
需要注意的一点是,关闭shell时将丢失已定义的所有别名。您可以通过将它们的定义添加到配置文件脚本中来绕过此问题。
Windows PowerShell还允许您截断参数名称,直到它们变得模棱两可为止,也就是说,直到PowerShell无法再找出您所谈论的参数为止。例如:
Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost
同:
Get-Service -Na ‘Apple Mobile Device’ -Com localhost
如果您有任何机会使参数名称太模糊,您将得到一个错误。
最后,您所知道和喜爱的命令仍将在PowerShell中工作。
ping www.google.com
请记住,像ping这样的遗留应用程序会输出一个字符串,使用PowerShell cmdlet通常有更好的方法来完成同样的任务。
我们现在只剩下一个对象,而不是输出一长串文本,我们将在明天的Geek School版本中看到这个对象。
Powershell是一个完美的方式,一个新的编码器开始在Windows上。Powershell是命令行工具和脚本语言的等价部分。它使您能够通过您用来管理计算机的相同命令使计算机自动化。如果您有一个现代的Windows系统,那么您已经有了Powershell...
文件加密和解密可以是一个工作位。但是,使用PowerShell扩展,可以将进程精简为一行命令。为此,我们需要安装Gpg4win和Powershell模块。使用脚本,我们可以自动化文件加密和解密过程。 ...
大多数用户从未听说过PowerShell,更不用说触摸它并试用了。这可能是因为这个名字,听起来像是只有铁杆IT极客才会使用的东西。或者是因为PowerShell的好处还不清楚。可能是因为最初的学习曲线。 ...
...将使用以下命令: ren "Home Movie.ogv" "First Birthday.ogv" 使用powershell重命名文件和文件夹 在命令行环境中重命名文件和文件夹时,Windows PowerShell甚至比命令提示符更强大、更灵活。虽然我们只讨论命名文件的表面,但您可以做一些...
微软于2020年3月4日宣布PowerShell 7.0。这是PowerShell、Microsoft跨平台命令行shell和脚本语言的最新主要更新。下面是什么新的,以及如何在Windows PC上安装它。 powershell 7有什么新功能? 最新版本PowerShell 7是在以前的PowerShell Core 6.1基...
使用Windows10的PowerShellcmdlet,您可以轻松地添加应用程序,以便在启动时自动触发VPN连接。自动化这个任务意味着当你使用某些应用程序时,你甚至不必考虑连接到VPN。 要利用PowerShell中的此功能,如果您还没有VPN服务,则必须...
PowerShell远程处理允许您在远程Windows系统上运行PowerShell命令或访问完整的PowerShell会话。它类似于SSH,用于访问其他操作系统上的远程终端。 PowerShell在默认情况下是锁定的,因此在使用它之前必须启用PowerShell远程处理。如果您...
在使用Windows PowerShell时,您可能遇到了cmdlet这个术语,并发现自己有些困惑。cmdlet是否与命令完全不同,或者只是它们的PowerShell名称?今天的超级用户问答帖子回答了一位好奇的读者的问题。 今天的问答环节是由SuperUser提供的...
Windows PowerShell具有内置的命令历史记录功能,可提供有关已运行命令的详细信息。与命令提示符一样,PowerShell只记住当前会话的命令历史记录。 如何使用命令行缓冲区 相关:极客学校:学习如何用PowerShell自动化Windows PowerShel...
...Off”,如果硬件不支持,将看到值“Unsupported”。 使用powershell cmdlet 相关:如何在远程计算机上运行PowerShell命令 您还可以从PowerShell查询此信息。你为什么要这么做?使用PowerShell远程处理,可以使用PowerShell cmdlet检查远程PC是否...