`
hongzhguan
  • 浏览: 272043 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

powershell创建.NET和com对象相应操作

阅读更多

创建.NET和COM对象(New-Object)
1.可以使用具有 TypeName 参数的 New-Object cmdlet 来创建新的 .NET 类实例。
  New-Object -TypeName System.Diagnostics.EventLog ;
  a.在变量中存储对象
  任何有效的 Windows PowerShell 命令的输出均可存储在变量中。变量名称始终以 $ 开头。若要在名为 $AppLog 的变量中存储对应
  用程序日志的引用,请键入变量名称、后跟等号,然后键入用于创建应用程序日志对象的命令:
  $AppLog = New-Object -TypeName System.Diagnostics.EventLog -ArgumentList Application
  b.使用 New-Object 访问远程事件日志
  若要访问远程计算机上的应用程序日志,则必须将日志名称以及计算机名称(或 IP 地址/localhost)作为参数进行提供。
  $RemoteAppLog = New-Object -TypeName System.Diagnostics.EventLog Application,192.168.1.81
  New-Object 可使用 .NET Framework 运行库可调用包装来创建 COM 对象,因此它具有的限制与在调用COM对象时.NET 具有的限制相同。若要创建 COM 对象,则需要利用要使用的COM 类的编程标识符或 ProgId 来指定 ComObject 参数。在本教程中,将不对有关 COM 使用限制和确定系统中哪些 ProgId 可用进行完整的讨论,但环境中大多数已知对象(例如 WSH)可以在 Windows PowerShell 中使用。
  可以通过指定这些 ProgId 来创建 WSH 对象:WScript.Shell、WScript.Network、Scripting.Dictionary 和 Scripting.FileSystemObject。使用以下命令可创建这些对象:
  New-Object -ComObject WScript.Shell
  New-Object -ComObject WScript.Network
  New-Object -ComObject Scripting.Dictionary
  New-Object -ComObject Scripting.FileSystemObject
  
2.使用 WScript.Shell 创建桌面快捷方式
  a.使用 COM 对象可快速执行的一个任务是创建快捷方式。
    $wshShell = New-Object -ComObject WScript.shell ;
    Get-Member 可处理 COM 对象,因此可键入以下命令来浏览对象成员:
    $wshShell | Get-Member
    注意:Get-Member 具有可选参数 InputObject,因此您可以使用该参数而无需通过管道向Get-Member 提供输入。
    Get-Member -InputObject $wshShell ;(与上边的效果一样)。
  b.WScript.Shell CreateShortcut    方法可接受单个参数,该参数是指向要创建的快捷方式文件的路径。我们可以键入指向桌面的完整路径,但还有另一种更简单的方法。桌面通常是由当前用户的主文件夹中名为“桌面”的文件夹表示。Windows PowerShell 具有包含指向此文件夹的路径的变量 $Home
   $lnk = $wshShell.CreateShortcut("$HOME\desktop\Ajax.lnk");(只能是".lnk"或者".url"结尾)
  c.需要指定 TargetPath(Windows PowerShell 的应用程序文件夹),然后通过调用 Save 方法保存该快捷方式 $lnk。Windows PowerShell 应用程序文件夹路径存储在变量 $PSHome 中,因此可键入以下命令来实现此操作:
   $lnk.TargetPath = 'd:\Ajax';
   $lnk.Save()
3.使用 Windows PowerShell 中的 Internet Explorer
   a.创建 Internet Explorer实例:   
     $ie = New-Object -ComObject InternetExplorer.Application;
     注意:此命令可启动 Internet Explorer,但该应用程序将不可见。
   b.将 Visible 属性设置为 $true:
     $ie.Visible = $true
   c.使用导航方法导航至特定的 web 地址:
     $ie.Navigate("http://www.iteye.com");
   d.命令将显示当前网页正文中的 HTML 文本:
     $ie.Document.body.InnerText;
   f.在 PowerShell 中关闭 Internet Explorer:
     $ie.Quit();
注意:使用诸如 $ie = $null 之类的命令来删除剩余的引用,也可通过键入以下命令完全删除该变量:
     Remove-Variable ie;(此处不要"$")
Remove-Variable -Name $stu -Force  -ErrorAction:SilentlyContinue; ($stu自定义对象)
 
4.使用静态类和方法
     注意:静态类是不能更改状态的方法和属性的引用库,不能使用 New-Object 进行创建。
  a.使用 System.Environment 获取环境数据
[System.Environment]::MachineName(获取计算机的名称)
若要使用 Get-Member 查看静态成员,请指定 Static 参数:
[System.Environment] | Get-Member -Static;
  b. 显示 System.Environment 的静态属性
     [System.Environment]::CommandLine(显示若要查看用于启动 Windows PowerShell 的命令)
[System.Environment]::OSVersion(若要检查操作系统版本)
通过显示 HasShutdownStarted 属性,可以检查计算机是否正在关闭:
[System.Environment]::HasShutdownStarted
5.使用 System.Math进行数学运算
    [System.Math]::Sqrt(9)        3
[System.Math]::Pow(2,3)       8
[System.Math]::Floor(3.3)     3
[System.Math]::Floor(-3.3)   -4
[System.Math]::Ceiling(3.3)   4
[System.Math]::Ceiling(-3.3) -3
[System.Math]::Max(2,7)       7
[System.Math]::Min(2,7)       2
[System.Math]::Truncate(9.3)  9
[System.Math]::Truncate(-9.3)-9

6.从管道中删除对象 (Where-Object)   可以测试管道中的所有对象,并将符合特定测试条件的对象通过管道进行传递。没有通过测试的对象将从管道中删除。可以将测试条件设置为 Where-ObjectFilterScript 参数的值。
    1,2,3,4 | Where-Object -FilterScript{$_ -lt 3};
    注意:两个 Where-Object 元素,而他们可通过使用 –and 逻辑运算符,以单个Where-Object 元素的形式表示出来。
 逻辑运算符
7.对多个对象重复同一任务 (ForEach-Object)
8.选择对象的各个部分 (Select-Object)可以使用 Select-Object cmdlet 来创建新的、自定义的 Windows PowerShell    对象,后者包含的属性是从用于创建他们的对象中选择的。复制可随后进行修改的数据。
Get-WmiObject -Class Win32_LogicalDisk | Select-Object -Property Name,FreeSpace |
ForEach-Object -Process {$_.FreeSpace = ($_.FreeSpace)/1024.0/1024.0; $_}
9.对对象进行排序
通过使用 Sort-Object cmdlet  可以组织显示的数据,从而可更轻易地对这些数据进行扫描。Sort-Object可获取排序所依据的一个或多个属性的名称,并返回按这些属性值排序的数据。

分享到:
评论

相关推荐

    用PowerShell下载网页

    通过使用PowerShell,管理员可以轻松地访问和操作各种系统服务、应用程序、网络设备等资源。 #### 知识点二:PowerShell与.NET Framework的关系 PowerShell是基于.NET Framework构建的,这意味着它可以无缝地调用...

    PowerShell概要PowerShell Succinctly

    由于篇幅限制,以下是对上述文件内容的知识点提炼,其中将介绍PowerShell的基本概念、版本、环境配置、执行策略、命令运行方式、交互式Shell的使用、PowerShell snap-ins的应用、.NET类的使用、管道操作、变量管理、...

    powershell支持xp系统的

    PowerShell是一种基于.NET Framework的命令行外壳程序和脚本环境,它提供了比传统的cmd.exe更强大的功能,包括对象导向的输出、丰富的命令集(称为Cmdlets)以及强大的脚本编写能力。它允许管理员和开发者通过命令行...

    Windows Powershell入门指南(中文)-微软资料.pdf

    不同于传统的基于文本的命令行工具,PowerShell 的核心在于其对象导向性,它利用 .NET 公共语言运行时 (CLR) 和 .NET Framework 接收和返回 .NET 对象。这一特性使得系统管理员能够以一种更加直观且高效的方式管理与...

    Windows PowerShell入门指南

    - **对象处理能力**:与传统命令行工具处理文本的方式不同,Windows PowerShell 是基于 .NET 公共语言运行时 (CLR) 和 .NET Framework 构建的,这意味着它可以处理 .NET 对象而不是简单的文本字符串。这使得数据处理...

    Windows PowerShell 入门指南

    ### Windows PowerShell 入门指南知识点解析 #### 一、Windows PowerShell 概述 - **定义**: Windows PowerShell™ ...掌握了 Windows PowerShell 的基本概念和操作后,系统管理员可以更加高效地管理 Windows 系统。

    dotnet-Splatting是一种在PowerShell中传递参数的技术

    总的来说,`dotnet-Splatting`是PowerShell中的一个重要特性,对于.NET开发者来说,熟练掌握这项技术能够提升脚本编写的质量和效率,使代码更易于理解和维护。在日常的自动化任务和脚本编写中,善用Splatting可以...

    设计和开发PowerShell脚本,该脚本使用每次创建/删除的临时用户配置文件启动用户定义的过程

    PowerShell的核心是其基于.NET Framework的对象模型,它允许管理员和开发者通过命令行或者脚本来管理和控制操作系统、应用程序和服务。与传统的命令提示符(cmd.exe)相比,PowerShell提供了一种更强大、更灵活的...

    如何在Proxy环境下正确使用PowerShell工具发送web http请求1

    用户可以通过它来执行一系列复杂的操作,如资源创建、查询、修改等。然而,在存在代理(Proxy)设置的网络环境中,用户可能会遇到使用PowerShell执行HTTP请求时出现的各种问题。本文将深入探讨在代理环境下使用...

    Powershell-Modules:Powershell模块

    5. **Types(类型)和 Formats(格式)文件**:类型文件扩展了 PowerShell 对 .NET 类的默认视图,而格式文件定义了如何显示对象的输出。这有助于定制 PowerShell 控制台的输出样式。 6. **Aliases(别名)**:模块...

    Unity-Powershell:用于管理EMC Unity阵列的PowerShell模块

    1. **PowerShell基础**:PowerShell是一种基于.NET Framework的命令行接口,它提供了一种面向对象的脚本环境,可以用来控制和自动化Windows操作系统以及包括EMC Unity在内的各种IT资源。PowerShell的命令称为Cmdlet...

    Managing Citrix Farms

    下面我们将深入探讨如何使用PowerShell管理和操作Citrix Farms。 首先,PowerShell基础知识是理解其在Citrix农场管理中的应用的关键。PowerShell是一种基于.NET框架的命令行外壳程序,提供了命令行接口和脚本语言,...

    使用PowerShell和CSV向NSG添加多个规则

    4. **创建规则对象**:对于有效规则,使用PowerShell创建`NetworkSecurityRule`对象,填充相应的属性。 5. **添加规则**:使用`New-AzNetworkSecurityRuleConfig` cmdlet 创建规则配置,然后用`Set-...

    C# 远程桌面连接源代码

    - **PowerShell连接逻辑**:创建`PowerShell`和`Runspace`对象,编写执行远程连接的PowerShell脚本,并调用`Invoke()`方法。 - **异常处理**:捕获可能出现的连接错误,如网络问题、权限不足等,并提供相应的反馈。 ...

    Powershell-SlackBot:使用实时消息API和WebSocket的基于Powershell的Slack Bot

    它的语法比传统的CMD更加强大和灵活,支持对象管道、面向对象编程以及丰富的.NET Framework类库,使得开发复杂的脚本和应用程序变得简单。 其次,我们要讨论的是**Slack Bot**。Slack是一种团队协作工具,提供了...

    PowerShell管理Win Server 2008 R2

    它基于.NET Framework构建,使得IT专业人员能够更高效地控制操作系统和应用程序。 在PowerShell 2.0中,新添了240个cmdlets(命令行工具),这些cmdlets是PowerShell的核心组成部分,用于执行特定的管理任务。例如...

    intersight-powershell-utils:思科Intersight PowerShell实用程序

    PowerShell是一种基于.NET框架的命令行外壳程序和脚本语言,由微软开发。它主要面向系统管理员,提供了对操作系统和应用程序的高级访问方式,支持命令行操作以及强大的脚本编写功能。PowerShell的命令(称为cmdlet)...

    Windows_shell编程

    PowerShell集成了命令行工具和脚本语言,提供了更强大的对象模型,可以处理.NET Framework的对象。 **2. 命令行基础** 在Shell中,用户可以通过输入命令来执行操作,如`dir`(列出目录内容)、`copy`(复制文件)...

Global site tag (gtag.js) - Google Analytics