• PowerShell学习笔记


    1. 获取一个集合的数量

    @(get-process | where-object {$_.Name -eq "SERVICE1"}).count

    注意:

    如果不加“@”,当count为0时将返回空(而非0)。

    2. 创建自定义方法

    function FindDefaultPrinter

    {

        Get-WMIObject -query "Select * From Win32_Printer Where Default = TRUE"

    }

    3. 显示计算字段
    C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}

    ProcessName  StartDay

    ----         --------

    alg          Wednesday

    ati2evxx     Wednesday

    ati2evxx     Thursday

    ...

    说明

    -----------

    此命令显示计算机上正在运行的进程的名称和启动日期。

    Property 参数的值为 ProcessName 和名为“Start Day”的计算属性。通过使用具有 Name 和 Expression 键的哈希表来添加“Start Day”属性。

    4. 获取命令别名
    get-alias

    5. 创建profile文件
    New-Item -path $profile -type file –force

    编辑profile文件:

    notepad $profile

    6. 获取/设置执行策略
    Get-ExecutionPolicy

    Set-ExecutionPolicy RemoteSigned

    获取签名帮助信息

    Get-Help About_Signing

    7. 改变当前路径
    PS C:\scripts> Set-Location C:\Windows

    PS C:\WINDOWS>

    8. 在VBScript中执行PowerShell脚本
    Set objShell = CreateObject("Wscript.Shell")

    objShell.Run("powershell.exe -noexit c:\scripts\test.ps1")

    9. 在Windows环境中执行PowerShell脚本

    powershell.exe -noexit get-childitem C:\Users\Administrator\Desktop

    powershell.exe "C:\Users\Administrator\Desktop\test.ps1"

    powershell.exe -noexit "C:\Users\Administrator\Desktop\test.ps1"

    注意:

    1)powershell.exe后面的文件路径字符串前不能加“&”,否则此脚本文件会被在Notepad中打开,而非被PowerShell执行。

    2)文件路径字符串不能用单引号,否则会直接“回显”此字符串,而不是执行。

    10. 读取和添加环境变量

    $a = $env:path; $a.Split(";")

    $env:path = $env:path + ";c:\scripts"

    11. 管道示例

    get-PsSnapin |select name|Where-Object {$_.name -contains "Microsoft.SharePoint.PowerShell"}

    Get-ChildItem C:\Windows | Where-Object {$_.Length -gt 200KB} | Sort-Object Length

    Get-Service | Sort-Object Status | Format-Table

    12. 如何显示字符串

    foreach ($service in get-content c:\services.txt) {

    set-service $service -startuptype disabled

    "Disabling $service"

    }

    13. 如何使用管道符(|)

    PS C:\> get-content c:\services.txt |

     set-service -startuptype disabled

    PS C:\>

    以下为将发生的情况:

    1)Get-Content cmdlet 执行,从而读取整个文件。将文件中的每一行都作为唯一的对象进行处理,将它们放在一起就是对象的集合。

    2)将对象的集合通过管道输送到 Set-Service。

    3)对于每个输入对象,管道都执行一次 Set-Service cmdlet。对于每次执行,都要将输入对象作为 cmdlet 的第一个参数(即服务名称)传递到 Set-Service。

    4)Set-Service 使用其第一个参数的输入对象和指定的任何其他参数(在本例中是 -startuptype 参数)执行。

  • 相关阅读:
    黑客是如何知道我们常用的密码的
    一个核物理学霸为何两次收到BlackHat的邀请
    透过大数据剖析漫画何去何从
    SJF(最短作业优先)
    RR(轮转调度算法)
    hrrf(最高响应比)
    fcfs
    Process 2(完成版)
    进程2
    进程1
  • 原文地址:https://www.cnblogs.com/jancco/p/2489075.html
Copyright © 2020-2023  润新知