标签: cmdlets

你最喜欢的Powershell Cmdlet是什么?

我刚刚发现/ n软件免费使用Powershell NetCmdlets,在使用它们之后,我喜欢它们带给命令行的功能.所以它提出了一个问题,你最喜欢的Cmdlet是什么,你如何使用它们?

powershell cmdlets

15
推荐指数
2
解决办法
2038
查看次数

为什么脚本化cmdlet列为函数?

如果我创建一个简单的Powershell函数,例如

Function Hello {
    [CmdletBinding( )]
    Param (
        [parameter()]
        $Name
    )
    Begin{}
    Process{
        Write-Output "Hello $Name"
    }
    End{}
    }
Run Code Online (Sandbox Code Playgroud)

然后使用Get-Command列出它Get-Command Hello,cmdlet被列为'CommandType'函数.为什么不将它列为'CommandType'cmdlet?

从模块导出时,我还发现我必须使用FunctionsToExport而不是CmdletsToExport.

它似乎并没有影响功能的使用,我只是好奇他们为什么这样列出.

powershell cmdlets function

15
推荐指数
1
解决办法
4014
查看次数

从C#调用Powershell函数

我有一个PS1文件,其中包含多个Powershell函数.我需要创建一个静态DLL,读取内存中的所有函数及其定义.然后,当用户调用DLL并传入函数名称以及函数的参数时,它会调用其中一个函数.

我的问题是,是否可以这样做.即调用已读取并存储在内存中的函数?

谢谢

c# powershell cmdlets

12
推荐指数
2
解决办法
1万
查看次数

我可以用.NET Core编写PowerShell二进制cmdlet吗?

我正在尝试使用二进制Cmdlet内部创建一个基本的PowerShell模块,因为在PowerShell中编写内容只是看起来不像在C#中那样方便.

按照指南,看起来我必须:

  • Microsoft.PowerShell.SDK添加到我的project.json
  • 使用必需的属性标记我的cmdlet类
  • 写清单文件,用RootModule我的目标.dll
  • 放在.dll附近的清单
  • 放下两个 PSModulePath

但是,当我尝试时Import-Module,PowerShell核心抱怨缺少运行时:

Import-Module : Could not load file or assembly 'System.Runtime, Version=4.1.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system
cannot find the file specified.
At line:1 char:1 
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者还不支持这些棘手的事情?

c# powershell cmdlets .net-core

12
推荐指数
3
解决办法
4126
查看次数

Powershell cmdlet开发最佳实践

我目前正在整理一些Powershell cmdlet.建造它们很容易,但我不知道我是否以可接受的方式构建它们(可以这么说).

是否有任何指导/最佳实践应该遵循将数据传递到Powershell管道?目前,我实际上输出了一个DataSet类型的对象 - 如果任何cmdlet想要在下游使用它,那么它们必须遍历该DataSet中的DataTable,然后遍历每个DataTable中的DataRows.

我想问题是......我会通过这样做来打扰任何人吗?或者我应该输出本质上是一堆行的数据?

在此先感谢所有人

-jt

powershell cmdlets

11
推荐指数
2
解决办法
2200
查看次数

调试PowerShell cmdlet时出现问题

我在Windows 7 64位专业版上使用Visual Studio 2010.我在调试自定义PowerShell cmdlet时遇到问题.

组态

  • 语言:C#,面向.NET Framework 3.5 SP1.
  • 平台目标:任何CPU
  • 开始行动: C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
  • 命令行参数: -noexit -command Add-PSSnapIn MyCustomSnapIn

问题1:按F5时无法连接(调试→开始调试)

  • PowerShell打开,任务管理器指示powershell.exe作为64位进程运行."映像路径名称"列显示"开始操作"中指定的相同可执行文件.
  • 如果我在Visual Studio中选择Debug→Break All,我会收到一条消息"无法中断执行.此过程当前没有执行您选择调试的代码类型."

问题2:当我按下Ctrl + F5时,意外启动为32位进程(Debug→Start Without Debugging)

  • PowerShell opens. Task Manager indicates that powershell.exe is running as a 32-bit process - this time the Image Path Name shows a SysWOW64 redirection.

The annoying way to debug right now: The only way I've found to debug my cmdlet is to press F5, then select Debug→Detach All, then …

debugging powershell cmdlets visual-studio

11
推荐指数
2
解决办法
5290
查看次数

动态编写Python中的PowerShell CmdLets

我希望能够使用IronPython编写PowerShell CmdLets,而且我需要一个CmdLet来查看环境并根据内容将CmdLets添加到PowerShell.例如,读取目录,并为其在那里看到的每个文件名添加CmdLet Remove-.

.net python powershell cmdlets ironpython

11
推荐指数
1
解决办法
733
查看次数

使用Powershell中的Get-EventLog远程读取事件日志

我有一个在服务器(测试服务器)上运行的powershell脚本,并读取他的客户端(DC1)的日志文件.

  • 双方可以互相ping.
  • 在两侧,防火墙都被禁用.
  • DC1上启用了远程桌面和远程协助.

    Get-EventLog System -ComputerName test-server -Source Microsoft-Windows-Winlogon # WORKS
    Get-EventLog System -ComputerName DC1 -Source Microsoft-Windows-Winlogon # DOESN'T WORK
    
    Run Code Online (Sandbox Code Playgroud)

我在test-server上运行这个脚本.正如您在test-server上读取本地日志文件时所看到的那样工作正常但如果我尝试远程读取DC1的日志文件,则会收到错误" Get-EventLog:找不到网络路径 ".

错误的屏幕截图: 在此输入图像描述

如何使用Get-EventLog避免此错误并从测试服务器读取DC1的日志文件?

powershell cmdlets powershell-remoting

10
推荐指数
2
解决办法
3万
查看次数

获取Azure订阅中的所有资源列表(最好是Powershell)

我有一个azure订阅,我正在尝试编写一个powershell脚本,以自动获取我目前订阅的所有资源(虚拟机,存储帐户,数据库等)的列表.有没有办法使用azure管理REST API或Azure Cmdlet执行此操作?

powershell cmdlets azure azure-sql-database

10
推荐指数
2
解决办法
4万
查看次数

PowerShell模块 - 每个cmdlet的单独文件

我已经有一段时间了.我打算为我的项目创建新的PowerShell模块.目标是将多个自定义cmdlet打包到独立单元中,我可以通过我们的Nexus存储库(或通过其他任何方式)将其部署到其他计算机.

问题:我看到的每个地方,都看到教程将所有PowerShell函数/ cmdlet打包成单个*.psm1文件.文件存储在同名目录中,实际上代表模块本身.

问题:有没有办法,如何将每个cmdlet /函数分成独立文件?如果我有一个由几个cmdlet组成的模块,将它们全部放在单个*.psm1文件中并不是很方便.

谢谢马修

powershell cmdlets powershell-module

10
推荐指数
2
解决办法
5576
查看次数