首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过使用以DisplayName - Powershell命名的文件夹导入GPO

通过使用以DisplayName - Powershell命名的文件夹导入GPO
EN

Stack Overflow用户
提问于 2013-04-12 20:36:38
回答 2查看 2.7K关注 0票数 2

我正在使用powershell脚本导入GPO,我将GUID保存为GUID(默认值)。

我希望将GPO导入到不同的系统中,此时GPO被保存到CD中。因此,导入单个GPO的一个简单方法是:

代码语言:javascript
复制
$domain=[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().Name

$import_array = get-childitem ($current_drive + $gpo_backup_location) | Select name
foreach ($GPO in $import_array) {
Import-GPO |
-backupgponame $GPO.name -path ($Current_Drive + $gpo_backup_location) |
-domain $domain | 
-Targetname $GPO.name |
-migrationtable ($Current_drive + $mig_table_path) |
-Createifneeded;
}
}

$import_array命令给出我的文件夹名

代码语言:javascript
复制
Name
----------
GPO-1
GPO-2
GPO-3
GPO-4
and so on...

我想迭代这些,并导入每一个。GPO使用另一个代码块保存,以备份GPO作为显示名。(GPO-1、GPO-2等)

我不知道如何强迫它查看文件夹名并导入这些

编辑

备份是用以下代码创建的:

代码语言:javascript
复制
Function GPO_Backup_DisplayName ($MenuChoice) {
    write 'Backing Up GPOs by Display Name'
    Foreach ($GPO in $GPO_Temp_Backup) {
        $GPOBackup = Backup-GPO `
            -name $GPO.DisplayName `
            -path ($Current_drive + $GPO_Backup_Location) `
            -Domain $domain;
        Get-GPOReport $GPO.DisplayName `
            -reporttype HTML `
            -Domain $domain `
            -path ($Current_drive + $GPO_Backup_HTML_Report + $GPO.DisplayName + ".html");
        Rename-item 
            -path ($Current_drive + $GPO_Backup_Location + "{" + $GPOBackup.Id + "}") `
            -newname $GPO.DisplayName
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-13 00:26:25

如果将每个GPO导出到自己的文件夹并在GPO之后命名该文件夹,则可以在foreach循环中遍历这些文件夹,导入GPO并将目标名称设置为文件夹名称。像这样的事情应该有效:

代码语言:javascript
复制
Get-ChildItem "C:\backup" | % {
  $name = $_.name
  $id = (get-childitem $_) -replace '[{}]', ''
  Import-GPO -BackupId $id -TargetName $name -path $_.Path -CreateIfNeeded
}

前提条件是使用以下内容创建备份:

代码语言:javascript
复制
Get-GPO -All | % {
  $name = $_.DisplayName
  $dir = New-Item "C:\backup\$name" -Type Directory
  Backup-GPO -Guid $_.Id -Path $dir
}

另外,备份目录应该只包含具有单个GPO备份的文件夹,否则必须在Get-ChildItemForEach-Object之间添加一个筛选器。

票数 1
EN

Stack Overflow用户

发布于 2013-07-03 20:31:41

使用PowerShell列出组策略对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15980430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档