Backup-GPO -ALLでとったGPOをまとめてリストアする
GPOバックアップを取るとmanufest.xmlというファイルができます。
そのxmlを読み込んで、importしていくよ
「PsBase」というのがよく分からないけど、Powershellでない別のPSプロバイダー(ここではXML)へアクセスできるようにしているみたい。
ちなみに、XMLを読み込むとXMLElementという型になって、[string]変数名とか、ToStringをしても、型変換できない。

イマイチよくわからん・・・

# パスを指定
$PATH = $args[0]

# XML読み込み
$XML = [XML](Get-Content -Path $PATH\manifest.xml -Encoding UTF8)
$COUNT = $XML.Backups.BackupInst.Count

# バックアップされたGPOからのインポート
for ($i=0; $i -lt $COUNT; $i++){  
    $ID = $XML.Backups.BackupInst.ID[$i].PsBase.InnerText
    $TARGET = $XML.Backups.BackupInst[$i].GPODisplayName.PsBase.InnerText
    Import-GPO -CreateIfNeeded -BackupId $ID -TargetName $TARGET -Path $PATH    
}

使い方

<スポンサーリンク>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)