2017-10-18 7 views
0

Je lis this guide pour les ACL de Windows, et je veux savoir comment rechercher des options ou des instructions pour ces deux lignes:Powershell syntaxe .NET

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

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

Pourquoi est le premier pas entre parenthèses ?

+0

La première est une énumération et la seconde fait référence au constructeur de classe. C'est la syntaxe PowerShell. Le mieux est de chercher en utilisant basic .net de powershell. Sans .En arrière-plan, c'est un peu plus difficile, mais vous avez juste besoin de comprendre les bases. –

+0

J'ai cherché chaque fois que je voulais savoir comment utiliser quelque chose, mais oui j'avais besoin d'un livre ou de quelque chose pour aller plus loin. Les classes .NET semblent infinies. Est-ce que les gens finissent par les mémoriser tous, ou existe-t-il un moyen plus facile de le faire? – Lumify

+0

Vous avez mal compris. La théorie est que vous n'avez pas besoin de classes .NET pour faire PowerShell. Mais la réalité est que certaines choses sont manquantes, et ensuite vous devez revenir à .NET parce que PowerShell est .NET. Lorsque le SDK .NET est manquant, vous devez effectuer un repli sur les appels système à l'aide de pinvoke. Pourtant, vous n'avez pas besoin de connaître l'écosystème .NET, il vous suffit d'avoir une compréhension de base de la technologie .NET, car il vous permet de comprendre et d'utiliser rapidement les solutions fournies par google. Donc, pour résumer, la compréhension de .net de base aide avec Powershell mais ce n'est pas une condition préalable. –

Répondre

0

La première déclaration,

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

Fait référence à FileSystemRights Enumeration. La syntaxe ayant deux énumérations ensemble combine celles-ci. Autrement dit, $colRights contiendra des indicateurs pour les deux Read et Write.

La seconde, NTAccount fait référence à un compte ou un groupe de sécurité. C'est-à-dire, l'utilisateur ou le groupe kenmeyer, qui se trouve dans l'ordinateur ou le domaine wingroup.

Comme ce dernier est entre parenthèses, il s'agit d'un appel pour constructeur. La première est une énumération permettant une combinaison bit à bit de ses valeurs membres.