天天看點

<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,如需轉載請自行聯系原作者

繼續閱讀