PowerShell直接调用.net静态类和方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,不是所有 .NET Framework 类都可使用 New-Object 来创建。 例如,如果你尝试使用 New-Object 创建 System.Environment 或 System.Math
千家信息网最后更新 2026年11月01日PowerShell直接调用.net静态类和方法
不是所有 .NET Framework 类都可使用 New-Object 来创建。 例如,如果你尝试使用 New-Object 创建 System.Environment 或 System.Math 对象,你将收到以下错误消息:
PS> New-Object System.EnvironmentNew-Object : Constructor not found. Cannot find an appropriate constructor fortype System.Environment.At line:1 char:11+ New-Object <<<< System.EnvironmentPS> New-Object System.MathNew-Object : Constructor not found. Cannot find an appropriate constructor fortype System.Math.At line:1 char:11+ New-Object <<<< System.Math之所以发生这些错误,是因为无法从这些类创建新的对象。 这些类是不更改状态的方法和属性的引用库。 你无需创建这些类,只需要使用它们。 这样的类和方法称为静态类,因为它们不会被创建、销毁或更改。
System.Environment 类包含关于当前进程工作环境的一般信息,如果是在 Windows PowerShell 内工作,该进程为 powershell.exe。
如果尝试通过键入 [System.Environment] | Get-Member 来查看此类的详细信息,对象类型将报告为 System.RuntimeType,而不是 System.Environment:
PS> [System.Environment] | Get-Member TypeName: System.RuntimeType该类型的使用方式示例如下:
[System.Environment]::Commandline[System.Environment]::OSVersion[System.Environment]::HasShutdownStarted另外我们还可以使用另外一种静态的类进行数学运算(System.Math)
PS> [System.Math]::Sqrt(9)3PS> [System.Math]::Pow(2,3)8PS> [System.Math]::Floor(3.3)3PS> [System.Math]::Floor(-3.3)-4PS> [System.Math]::Ceiling(3.3)4PS> [System.Math]::Ceiling(-3.3)-3PS> [System.Math]::Max(2,7)7PS> [System.Math]::Min(2,7)2PS> [System.Math]::Truncate(9.3)9PS> [System.Math]::Truncate(-9.3)-9使用get-member可以查看到该静态类支持的运算方法:
PS> [System.Math] | Get-Member -Static -MemberType Methods TypeName: System.MathName MemberType Definition---- ---------- ----------Abs Method static System.Single Abs(Single value), static Sy...Acos Method static System.Double Acos(Double d)Asin Method static System.Double Asin(Double d)Atan Method static System.Double Atan(Double d)Atan2 Method static System.Double Atan2(Double y, Double x)BigMul Method static System.Int64 BigMul(Int32 a, Int32 b)Ceiling Method static System.Double Ceiling(Double a), static Sy...Cos Method static System.Double Cos(Double d)Cosh Method static System.Double Cosh(Double value)DivRem Method static System.Int32 DivRem(Int32 a, Int32 b, Int3...Equals Method static System.Boolean Equals(Object objA, Object ...Exp Method static System.Double Exp(Double d)Floor Method static System.Double Floor(Double d), static Syst...IEEERemainder Method static System.Double IEEERemainder(Double x, Doub...Log Method static System.Double Log(Double d), static System...Log10 Method static System.Double Log10(Double d)Max Method static System.SByte Max(SByte val1, SByte val2), ...Min Method static System.SByte Min(SByte val1, SByte val2), ...Pow Method static System.Double Pow(Double x, Double y)ReferenceEquals Method static System.Boolean ReferenceEquals(Object objA...Round Method static System.Double Round(Double a), static Syst...Sign Method static System.Int32 Sign(SByte value), static Sys...Sin Method static System.Double Sin(Double a)Sinh Method static System.Double Sinh(Double value)Sqrt Method static System.Double Sqrt(Double d)Tan Method static System.Double Tan(Double a)Tanh Method static System.Double Tanh(Double value)Truncate Method static System.Decimal Truncate(Decimal d), static...您也可以关注下方的微信公众号获取更多内容
方法
静态
对象
信息
类型
进程
错误
尝试
工作
运算
之所以
公众
内容
属性
报告
数学
方式
是在
更多
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
互联网科技公司简介
互联网的科技
互联网科技公司华为
亿人帮互联网科技
四川狮子座互联网科技
滨湖区互联网智能科技产品供应
互联网科技教育视频
互联网科技项目计划书材料类
天津腾达互联网科技有限公司
燊美集互联网科技有限公司
科技互联网海报
科技互联网的核心竞争力
梅州GM互联网络科技有限公司
东营紫格互联网科技
广州燕处互联网科技有限公司
互联网科技的前景
互联网科技大佬云集
科技互联网企业在行动
互联网科技创业有什么好项目
涨乐互联网科技
奇酷互联网科技
互联网科技教育视频
互联网科技创新服务
深圳育鹏互联网科技有限公司招聘
为客找房互联网科技公司怎么样
半导体行业属于互联网高科技类吗
云南互联网科技学费
兰石爱特工业互联网科技分公司
互联网科技的前景