我非常努力地搜索谷歌,甚至backup-GPO满怀希望,希望能够破解生成的XML文件并重新导入它,但是我怀疑PowerShell脚本在您的将来。  
没那么糟糕。您可以从最近的服务器生成打印机列表,然后循环浏览并映射它们。  
像这样:
$net = New-Object -COMObject WScript.Network
$printserver = 'yourserver'
$printerlist = Get-WMIObject -class Win32_Printer -computer $printserver | Where-Object {$_.ShareName -ne $null} | Select-Object ShareName
foreach ($printer in $printerlist) 
{
    $printerpath = '\\' + $printserver + '\' + $printer.ShareName
    #echo $printerpath
    $net.AddWindowsPrinterConnection($printerpath)
}
如果打印机被命名为逻辑事物,并且有某种逻辑方法可以识别机器,那么您也许可以对其进行进一步完善。例如,我以前通常基于拉出客户端IP地址来选择最近的服务器。如果IP地址为10.20。*,请转到server1。等等。  
希望对您有所帮助。
编辑:
查看@EvanAnderson的文档,我很确定XML是可入侵的。
我的导出文件的相关位(带有修订):
<DSObject bkp:Path="CN={GUIDHERE},CN=PushedPrinterConnections,%GPO_MACH_DSPATH%" bkp:SourceExpandedPath="CN={13B9B596-452C-4652-A05D-78EF06610134},CN=PushedPrinterConnections,CN=Machine,CN={44A99FBA-0DB3-484C-808E-3DDAE9932A2B},CN=Policies,CN=System,DC=Domainname,DC=extension" bkp:ObjectClass="msPrint-ConnectionPolicy">
    <DSAttributeMultiString bkp:DSAttrName="showInAdvancedViewOnly">
        <DSValue><![CDATA[TRUE]]></DSValue>
    </DSAttributeMultiString>
    <DSAttributeMultiString bkp:DSAttrName="uNCName">
        <DSValue><![CDATA[\\Servername\PrinterShareName]]></DSValue>
    </DSAttributeMultiString>
    <DSAttributeMultiString bkp:DSAttrName="serverName">
        <DSValue><![CDATA[\\Servername]]></DSValue></DSAttributeMultiString>
    <DSAttributeMultiString bkp:DSAttrName="printAttributes">
        <DSValue><![CDATA[0]]></DSValue>
    </DSAttributeMultiString>
    <DSAttributeMultiString bkp:DSAttrName="printerName">
        <DSValue><![CDATA[PrinterShareName]]></DSValue>
    </DSAttributeMultiString>
</DSObject>
               
              
$GPM = New-Object -ComObject GPMgmt.Gpm。我认为该接口虽然是绝对可以使用的工具,但它可能会为您提供比其他简单地破解看起来像真正的GPO的XML更受支持的方法。没有人喜欢COM。我们所有的Powershellers最少。