天天看点

<Power Shell>04 使用PowerShell管理组策略02

在这个开源的powershell组策略的CMDLET里面我们下载一个关于GPMC的

它能够快速返回关于GP对一个或多个远程系统的健康和处理信息。

它显示一个红色或绿色的GP处理有关整体健康状况,并提供了很多更详细的GPO。

由一台计算机和用户进行了处理:CSE处理,其他细节如 是否上启用环回系统,多久GP处理。

一旦安装该cmdlet的语法后,使用是非常简单,你可以通过在一台计算机的名字或一个整个OU值 的电脑,运行cmdlet将查询系统,并将结果返回给管道。

此外,如果你使用将OutputbyXML参数,结果将被作为一个XML文档,然后你就可以存储和使用PowerShell的XML节点导航功能导航返回。

下面这个图就代表一个非常棒的组策略显示cmdlet

<a href="http://blog.51cto.com/attachment/201306/143511930.png" target="_blank"></a>

这个图就是检查健康GP状态。

下面的脚本

可以让你创建新的偏好GP驱动器映射一个用户组的目标

保存为ps1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

<code>function</code> <code>Map-Drive</code>

<code>{</code>

<code>  </code><code>param</code><code>(</code>

<code>    </code><code>[string]</code><code>$DriveLetter</code><code>,</code>

<code>    </code><code>[string]</code><code>$Share</code><code>,</code>

<code>    </code><code>[string]</code><code>$Domain</code><code>,</code>

<code>    </code><code>[string]</code><code>$GroupName</code>

<code>  </code><code>)</code>

<code>  </code><code>Write-Host</code> <code>"Writing Drive Mapping: $DriveLetter"</code>

<code>  </code><code>$gpo</code> <code>= </code><code>Get-SDMGPObject</code> <code>"gpo://qq.414141.com/Drive Mapping Policy"</code> <code>-OpenbyName</code>

<code>  </code><code>$path</code> <code>=</code><code>'User Configuration/Preferences/Windows Settings/Drive Maps'</code>

<code>  </code><code>$drives</code> <code>= </code><code>$gpo</code><code>.GetObject(</code><code>$path</code><code>)</code>

<code>  </code><code>$map</code> <code>= </code><code>$drives</code><code>.Settings.AddNew(</code><code>$DriveLetter</code><code>)</code>

<code>  </code><code>$map</code><code>.Put(</code><code>'Action'</code><code>,</code><code>[GPOSDK.EAction]</code><code>'Create'</code><code>)</code>

<code>  </code><code>$map</code><code>.Put(</code><code>'Drive Letter'</code><code>,</code><code>$DriveLetter</code><code>)</code>

<code>  </code><code>$map</code><code>.Put(</code><code>'Location'</code><code>,</code><code>$Share</code><code>)</code>

<code>  </code><code>$map</code><code>.put(</code><code>'Reconnect'</code><code>, </code><code>$true</code><code>)</code>

<code>  </code><code>$map</code><code>.Put(</code><code>'Label as'</code><code>, </code><code>$DriveLetter</code><code>)</code>

<code>  </code><code># now do ILT</code>

<code>  </code><code>$objUser</code> <code>= </code><code>New-Object</code> <code>System.Security.Principal.NTAccount </code><code>$Domain</code><code>, </code><code>$GroupName</code>

<code>  </code><code>$strSID</code> <code>= </code><code>$objUser</code><code>.Translate(</code><code>[System.Security.Principal.SecurityIdentifier]</code><code>)</code>

<code>  </code><code>$iilt</code> <code>= </code><code>$GPO</code><code>.CreateILTargetingList()</code>

<code>  </code><code>$itm</code> <code>= </code><code>$iilt</code><code>.CreateIILTargeting(</code><code>[GPOSDK.Providers.ILTargetingType]</code><code>'FilterGroup'</code><code>)</code>

<code>  </code><code>$itm</code><code>.put(</code><code>'Group'</code><code>,</code><code>$groupName</code><code>)</code>

<code>  </code><code>$itm</code><code>.put(</code><code>'UserInGroup'</code><code>,</code><code>$true</code><code>)</code>

<code>  </code><code>$itm</code><code>.put(</code><code>'SID'</code><code>,</code><code>$strSID</code><code>.Value)</code>

<code>  </code><code>$iilt</code><code>.Add(</code><code>$itm</code><code>)</code>

<code>  </code><code># now add ILT to drive mapping and save the setting</code>

<code>  </code><code>$map</code><code>.Put(</code><code>'Item-level targeting'</code><code>,</code><code>$iilt</code><code>)</code>

<code>  </code><code>$map</code><code>.Save()</code>

<code>}</code>

<code>$driveInfo</code> <code>= </code><code>Import-Csv</code> <code>-Path c:\data\drivemaps.csv</code>

<code>foreach</code> <code>(</code><code>$drive</code> <code>in</code> <code>$driveInfo</code><code>)</code>

<code>  </code><code>Map-Drive -DriveLetter </code><code>$drive</code><code>.DriveLetter -Share </code><code>$drive</code><code>.Share `</code>

<code>            </code><code>-Domain </code><code>$drive</code><code>.Domain -GroupName </code><code>$drive</code><code>.GroupName</code>

首先Cantgis又放出一个它总结的powershell和powershell ISE 快捷键表格

在powershell下快捷键和全名

全名

简称

Command

c

EncodedArguments

ea,encodeda

EncodedCommand

e,ec

ExecutionPolicy

ex,ep

File

f

Help

-h,-? or /h,/?

InputFormat

i,if

NoExit

noe

NoLogo

nol

NoProfile

nop

NonInteractive

noni

OutputFormat

o,of

Sta

s

WindowStyle

w

在powershell ISE 下的快捷键和全名

Mta

m

n

     本文转自cantgis 51CTO博客,原文链接:http://blog.51cto.com/cantgis/1224283,如需转载请自行联系原作者

继续阅读