Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tidak semua kelas .NET Framework dapat dibuat menggunakan New-Object
. Misalnya, jika Anda mencoba membuat System.Environment atau objek System.Math dengan New-Object
, Anda akan mendapatkan pesan kesalahan berikut:
New-Object System.Environment
New-Object : Constructor not found. Cannot find an appropriate constructor for
type System.Environment.
At line:1 char:11
+ New-Object <<<< System.Environment
New-Object System.Math
New-Object : Constructor not found. Cannot find an appropriate constructor for
type System.Math.
At line:1 char:11
+ New-Object <<<< System.Math
Kesalahan ini terjadi karena tidak ada cara untuk membuat objek baru dari kelas-kelas ini. Kelas ini adalah pustaka referensi metode dan properti yang tidak mengubah status. Anda tidak perlu membuatnya, Anda cukup menggunakannya. Kelas dan metode seperti ini disebut kelas statis karena tidak dibuat, dihancurkan, atau diubah. Untuk memperjelas ini, kami akan memberikan contoh yang menggunakan kelas statis.
Mendapatkan data lingkungan dengan System.Environment
Biasanya, langkah pertama dalam bekerja dengan objek di Windows PowerShell adalah menggunakan Get-Member untuk mengetahui anggota apa yang dikandungnya. Dengan kelas statis, prosesnya sedikit berbeda karena kelas aktual bukan objek.
Mengacu pada kelas System.Environment statis
Anda dapat merujuk ke kelas statis dengan mengelilingi nama kelas dengan tanda kurung siku. Misalnya, Anda dapat merujuk ke System.Environment dengan mengetikkan nama dalam tanda kurung. Melakukannya menampilkan beberapa informasi jenis generik:
[System.Environment]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False Environment System.Object
Nota
Seperti yang kami sebutkan sebelumnya, Windows PowerShell secara otomatis menambahkan di awal 'System.' untuk mengetik nama saat Anda menggunakan New-Object
. Hal yang sama terjadi saat menggunakan nama tipe dalam tanda kurung siku, jadi Anda dapat menetapkan [System.Environment] sebagai [Environment].
Kelas System.Environment berisi informasi umum tentang lingkungan kerja untuk proses saat ini, yang powershell.exe
saat bekerja dalam Windows PowerShell.
Jika Anda mencoba melihat detail kelas ini dengan mengetik [System.Environment] | Get-Member, jenis objek dilaporkan sebagai System.RuntimeType , bukan System.Environment:
[System.Environment] | Get-Member
TypeName: System.RuntimeType
Untuk melihat anggota statis dengan Get-Member, tentukan Statis parameter:
[System.Environment] | Get-Member -Static
TypeName: System.Environment
Name MemberType Definition
---- ---------- ----------
Equals Method static System.Boolean Equals(Object ob...
Exit Method static System.Void Exit(Int32 exitCode)
...
CommandLine Property static System.String CommandLine {get;}
CurrentDirectory Property static System.String CurrentDirectory ...
ExitCode Property static System.Int32 ExitCode {get;set;}
HasShutdownStarted Property static System.Boolean HasShutdownStart...
MachineName Property static System.String MachineName {get;}
NewLine Property static System.String NewLine {get;}
OSVersion Property static System.OperatingSystem OSVersio...
ProcessorCount Property static System.Int32 ProcessorCount {get;}
StackTrace Property static System.String StackTrace {get;}
SystemDirectory Property static System.String SystemDirectory {...
TickCount Property static System.Int32 TickCount {get;}
UserDomainName Property static System.String UserDomainName {g...
UserInteractive Property static System.Boolean UserInteractive ...
UserName Property static System.String UserName {get;}
Version Property static System.Version Version {get;}
WorkingSet Property static System.Int64 WorkingSet {get;}
TickCount ExitCode
Kita sekarang dapat memilih properti untuk dilihat dari System.Environment.
Menampilkan properti statis System.Environment
Properti System.Environment juga statis, dan harus ditentukan dengan cara yang berbeda dari properti normal. Kami menggunakan ::
untuk menunjukkan ke Windows PowerShell bahwa kami ingin bekerja dengan metode atau properti statis. Untuk melihat perintah yang digunakan untuk meluncurkan Windows PowerShell, kami memeriksa properti CommandLine dengan mengetik:
[System.Environment]::CommandLine
"C:\Program Files\Windows PowerShell\v1.0\powershell.exe"
Untuk memeriksa versi sistem operasi, tampilkan properti OSVersion dengan mengetik:
[System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT Service Pack 2 5.1.2600.131072 Microsoft Windows...
Kita dapat memeriksa apakah komputer sedang dalam proses dimatikan dengan menampilkan properti HasShutdownStarted.
[System.Environment]::HasShutdownStarted
False
Melakukan matematika dengan System.Math
Kelas statis System.Math berguna untuk melakukan beberapa operasi matematika. Kelas ini mencakup beberapa metode yang berguna, yang dapat kita tampilkan menggunakan Get-Member
.
Nota
System.Math memiliki beberapa metode dengan nama yang sama, tetapi dibedakan oleh jenis parameternya.
Ketik perintah berikut untuk mencantumkan metode kelas System.Math.
[System.Math] | Get-Member -Static -MemberType Methods
TypeName: System.Math
Name 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...
Ini menampilkan beberapa metode matematika. Berikut adalah daftar perintah yang menunjukkan cara kerja beberapa metode umum:
[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