powershell - 在哪里可以找到一些 powershell 语法
问题描述
我只是在阅读一些 powershell 脚本,我发现在其中一些脚本中写有如下内容:$ExecutionContext.InvokeCommand.GetCommand
OR [System.Management.Automation.CommandTypes]::Cmdlet)
OR[System.Reflection.Assembly]::ReflectionOnlyLoadFrom($_.FullName)
我的意思是我在哪里可以找到它们的含义?microsoft 上是否有任何页面列出了它们中的每一个及其正确含义?谢谢
解决方案
你搜索了什么?
所有文档都可以在线获得,并且做你所看到的是很常见的事情。所以,任何时候你看到这个用例......
[System.
...这是调用 Windows .Net 库以满足目标需求。这在 MSDN 和 .Net 文档站点上都有介绍。
示例返回
PowerShell 能够使用 Add-Type Jump cmdlet 创建 .Net Framework 类。要创建类,可以使用 C# 语言来定义类。C# 是 Visual Studio 的一部分,但不必拥有 Visual Studio 来创建在 PowerShell 中使用的类。C# 类定义可以是 PowerShell 脚本文件的一部分。无需担心安装 DLL 文件。
$PeopleDefinition=@"
using System;
using System.Collections;
using System.Collections.Generic;
namespace People
{
public enum Gender
{
Unknown,
Male,
Female
}
public class Person {}
public class Persons {}
public class People {}
public static class Factory {}
}
"@
Add-Type -TypeDefinition $PeopleDefinition
Remove-Variable PeopleDefinition
$People = [People.Factory]::BuildPeople()
$Person = $People["Person"]
示例返回:
发现 Dot NET 命名空间和 WMI 类-Powershell
.NET 命名空间-Powershell
本博客中的所有脚本都是使用 .NET 命名空间编写的,因此我们没有模块依赖关系。
现在,Powershell 中有很多可用的模块。对于我们的日常操作,这些非常有帮助。如果我们使用内置模块,则很少有挑战,例如如果我们使用“ActiveDirectory”模块;该模块在域控制器中可用,或者您需要手动安装。在这种情况下,如果我们想管理我们的广告;我们需要“ActiveDirectory”模块。这就是我将这个主题放在这个博客中的原因。如果您使用 .NET 命名空间,则不需要模块。
如果我们使用 .NET 命名空间而不是所有 Windows 2008 系统中可用的 Powershell 模块。此外,我们在 Windows 2008 中没有任何可用于管理 Microsoft PKI 的模块。
鉴于很少有重要的命名空间可以让我们的生活更轻松,我们可以在没有 Powershell 模块的情况下编写自己的代码。
- 我们可以管理我们的 Active Directory
NameSpace
[System.DirectoryServices.ActiveDirectory]
您特别要求的项目的 Docs/info/examples/explanations 也可以通过使用该确切字符串进行搜索。
$ExecutionContext.InvokeCommand.GetCommand
[System.Management.Automation.CommandTypes]::Cmdlet]
[System.Reflection.Assembly]::ReflectionOnlyLoadFrom]
更新
我也打算从微软添加这些。
.NET API 浏览器欢迎使用 .NET API 浏览器 - 您可以一站式购买 Microsoft 提供的所有基于 .NET 的 API。通过在下面的框中键入开始搜索任何托管 API。您可以在我们的博客文章中了解有关 API 浏览器的更多信息。如果您有任何反馈,请在 GitHub 上的 MicrosoftDocs/反馈存储库中创建一个新问题。
以及这个查找东西的工具,比如上面的 .Net 允许的。
PInvoke.net 主要是一个 wiki,允许开发人员查找、编辑和添加 PInvoke* 签名、用户定义的类型以及与从托管代码(使用 C# 或 VB 等语言编写)调用 Win32 和其他非托管 API 相关的任何其他信息。网)。
这是一个较旧的 PowerShell 工具,用于浏览类、命名空间,但速度很慢,因为选择列表时需要很长时间才能填充。
这是一个 PowerShell 应用程序,它在用 PowerShell 编写的资源管理器类型应用程序中显示对象。PowerShell 对象浏览器显示任何 PowerShell / .Net 框架对象的属性和子对象/集合。有关如何使用它的说明
推荐阅读
- c# - 如何使用 async / await 在 C# 中以定义的并行度运行大量任务?
- sapui5 - 在没有 Fiori 客户端的浏览器中使用 sap.ndc.BarcodeScanner
- javascript - 提示不返回 NULL 消息
- javascript - 如果写入的行被删除,则从 contenteditable div 中删除一行
- python - 如何为熊猫数据框中另一列中的特定值更新一行中的列值?
- java - 使用 getter 方法时显示数组类名的程序
- sql - 如何通过从另一个中选择来插入值
- reactjs - REACT 网站 npm start 不会启动网站
- python - 当时代增加时,我怎样才能减少损失?
- python - 访问数据框中的 pyodbc 对象