NPS新策略创建后都放置在末尾,管理控制台只提供了一步步上移的操作。对于NPS策略条目较多的场景,比如数十上百条的策略,可能需要上移N次。 对于追求效率的管理员来讲,这是不可接受的。
怎么通过命令来调整策略的匹配顺序呢?
首先,我先声明一下在NPS策略方面的个人建议: NPS策略序号之间保留空位间隔。比如策略序号可以使用 1-5-10-15-20... ,每策略编号之间保留间隔,便于后续新增策略通过命令调整顺序。
下面进入正题,通过命令批量调整现有策略的匹配顺序。
- 导出现有策略
PS C:\Windows\system32> netsh nps show np >D:\policy.txt
- 过滤策略名称
$temp = Get-Content D:\policy.txt
$pattern = "名称*=*"
foreach($i in $temp){
if($i -like $pattern){
($i.Split("=")[-1]).trim("") |Out-File -Append D:\policy_name.txt
}
}
- 通过命令调整策略临时匹配顺序
$p_names = Get-Content -Path "D:\policy_name.txt"
$i = 300
foreach($line in $p_names){
netsh nps set np name="$line" processingorder = $i
$i = $i + 3
}
让策略序号从300开始,每策略序号间隔3个自然数。因为策略默认序号都是1-N, 比如序号10已经被某策略占用,那其他策略是没办法通过命令修改成序号10的。 所以示例中从300开始,先把1-299的序号空出来。再调整回去。
- 调整策略至目标顺序
$p_names = Get-Content -Path "D:\policy_name.txt"
$i = 1
foreach($line in $p_names){
netsh nps set np name="$line" processingorder = $i
$i = $i + 5
}
后续我们如果新增了某条策略,默认序号是在策略最后。 这时候就可以通过命令手动调整到合理的顺序了,比如调整到序号10。
netsh nps set np name="new_policy" processingorder = 10
标签:匹配,策略,批量,policy,序号,txt,NPS,name
From: https://blog.51cto.com/magic3/7523804