gpt4 book ai didi

powershell - 如何在powershell中查找信息?

转载 作者:行者123 更新时间:2023-12-03 00:30:29 25 4
gpt4 key购买 nike

我来自 unix 背景,我使用 bash 和 bourne 编写了一些脚本。但是我需要使用 powershell 编写一些脚本,而且我很难找到信息。

例如,在 *nix 中,我可以做 man bash并阅读有关如何使用 bash 的所有信息,我可以做到 man some_command阅读有关特定命令的信息。到目前为止,我发现了一些 powershell 等价物,例如 get-command查看所有可用的命令,但获取和使用对象真的让我感到困惑。

例如,我正在尝试使用 powershell 创建一个新的计划任务,并在 SO 上找到了一些示例代码。这是一个片段:

$schedule = new-object -com Schedule.Service 
$schedule.connect()
$tasks = $schedule.getfolder("\").gettasks(0)

$tasks | select Name, LastRunTime

foreach ($t in $tasks) {
foreach ($a in $t.Actions) {
$a.Path
}
}

我了解此脚本在做什么,但没有经验我怎么知道如何执行以下操作:
  • 知道使用new-object -com Schedule.Service
  • 知道这个对象有一个 .connect方法
  • 知道这个对象有一个 .getfolder.gettasks对象

  • 很多代码对我来说似乎模棱两可,那么我在哪里可以使用 powershell 本地找到上述信息?

    最佳答案

    所以你找到了Get-Command .这是一个好的开始,它将向您展示可用的 cmdlet。导入管理单元/模块后可能会有更多可用。使用Get-PSSnapin -RegisteredGet-Module -ListAvailable查看可以导入的其他模块,以便为您提供更多 cmdlet。

    PowerShell 的好处是创建者内置了别名系统。它的目标之一是让您在具有 bash/DOS 背景时更容易学习 PowerShell。例如,如果您键入 man Get-Process它将为您提供 Get-Process cmdlet 的文档.要查看它的所有文档,请使用 man Get-Process -Full . man实际上并不存在,它是 Get-Help 的别名与 man 具有相同的功能在 UNIX/Linux 上。您可以使用 Get-Alias cmdlet 以显示已注册的别名及其定义。

    您找到的脚本正在使用 COM目的。因为 -com 你可以知道用于 New-Object 的参数(实际上是 -ComObject 的缩写)。与 .NET 对象不同,COM对象不是内置在 PowerShell 中的,但是 PowerShell 支持它们的方式与 VBScript 支持它们的方式相同。 Get-Member cmdlet 将公开 .NET 和 COM 类型的对象成员(属性和方法)。更多关于 Get-Member以下。

    您找到的脚本使用 New-Object cmdlet 创建 COM 的实例名为 Schedule.Service 的对象.有两种主要方法可以找到有关此对象的更多信息。第一个是您可以使用 Get-Member 直接在 PowerShell 中列出其属性和方法。 cmdlet。此 cmdlet 适用于 .NET 和 COM 对象。这是一个非常宝贵的 cmdlet,它将向您展示您可以对您的对象执行哪些操作。使用manGet-Help Get-Member了解它。事实上你可以使用 Get-Member发现您询问的对象成员,例如 .connect方法。第二种方法是在 Microsoft 的开发人员文档网站 MSDN 上查找对象的文档。 This可能是该特定对象的最佳页面。

    关于powershell - 如何在powershell中查找信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17526702/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com