2017-10-18 2 views
0

私はWindowsのACLを設定するにthisガイドを読んでいる、と私はこの2行のオプションまたは命令をルックアップする方法を知りたい:PowerShellの.NET構文

$colRights = [System.Security.AccessControl.FileSystemRights]"Read, Write" 

$objUser = New-Object System.Security.Principal.NTAccount("wingroup\kenmyer") 

はなぜ括弧内に最初のものではありません?

+0

最初は列挙型で、2番目はクラスコンストラクタを参照しています。これはpowershell構文です。 PowerShellの基本的な.netを使って調べるのがベストです。バックグラウンドがなければそれは難しいですが、基礎を理解するだけです。 –

+0

私は何かを使う方法を知りたいときは毎回検索してきましたが、私はさらに本や何かが必要になります。 .NETクラスは無限に見えます。人々はそれらをすべて覚えてしまうか、これを行う簡単な方法がありますか? – Lumify

+0

あなたは誤解しています。理論では、PowerShellを実行するために.NETクラスは必要ないということです。しかし現実は、PowerShellが.NETであるため、いくつかのものが欠落していて、.NETにフォールバックする必要があるということです。 .NET SDKがない場合、pinvokeを使用してシステムコールにフォールバックする必要があります。それでも、.NETのエコシステムを知る必要はありません.Googleが提供するソリューションをすぐに理解して使用できるので、.NETテクノロジの基本的な理解が得られます。要約すると、基本的な.netの理解はPowershellに役立ちますが、それは前提条件ではありません。 –

答えて

0

最初の文、

$colRights = [System.Security.AccessControl.FileSystemRights]"Read, Write" 

FileSystemRights Enumerationを指します。 2つの列挙型を持つ構文は、これらを組み合わせています。つまり、$colRightsには、ReadWriteの両方のフラグが含まれます。

2番目のNTAccountは、アカウントまたはセキュリティグループを指します。つまり、ユーザーまたはグループkenmeyerは、コンピュータまたはドメインのいずれかにあります。wingroup

なぜかどうかはかっこ内にあるので、コンストラクタの呼び出しです。最初は列挙で、メンバー値のビット単位の組み合わせが可能です。

関連する問題