Import-StartLayout * .xml不是有效的布局文件

时间:2018-01-20 11:24:01

标签: xml powershell layout

我尝试制作一个PowerShell脚本,用于导入我的组织批准的自定义Windows10Pro StartLayout。

我做什么:
第一:Export-StartLayout –path c:\StartLayout.xml
如下所述:https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout
然后添加<CustomTaskbarLayoutCollection>块以自定义此处描述的任务栏项:https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar

所以,我的xml文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
    xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
    xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
    xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
    xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
    Version="1">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
        <start:Group Name="Outils" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
          <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk" />
        </start:Group>
        <start:Group Name="Office" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk" />
          <start:Tile Size="2x2" Column="0" Row="2" AppUserModelID="Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk" />
        </start:Group>
        <start:Group Name="Applications" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Slack Technologies\Slack.lnk" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
    <CustomTaskbarLayoutCollection PinListPlacement="Replace">
      <defaultlayout:TaskbarLayout>
        <taskbar:TaskbarPinList>
          <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
      <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" /> 
      <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Slack Technologies\Slack.lnk" />
        </taskbar:TaskbarPinList>
      </defaultlayout:TaskbarLayout>
    </CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>

最后,我打开一个PowerShell作为管理员并尝试通过Import-StartLayout –LayoutPath c:\StartLayout.xml –MountPath c:导入此xml,并出现错误“* .xml不是有效的布局文件”:/

我搜索过许多有用的网站&amp;论坛但似乎无法解决这个问题〜

目的是导入此自定义StartMenu&amp;新PC加入域后的任务栏(在Windows 2012服务器上)。

我不熟悉powershell,也不熟悉任何编程语言,但我并不反对学习新东西。

请告诉我我哪里错了:)

谢谢!

P.S。:这是我的第一篇文章,我希望它结构良好。

3 个答案:

答案 0 :(得分:2)

为了使任务栏设置起作用,您需要确保StartLayout.xml文件具有列出的任务栏的架构。如果您没有任务栏的架构,则在Powershell中导入xml时会收到“无效”的StartLayout文件错误。它需要添加到标签中,并且应如下所示:

xmlns:taskbar =“ http://schemas.microsoft.com/Start/2014/TaskbarLayout”

答案 1 :(得分:0)

根据您指出的文档。如果查看显示的XML示例,文件中的行......

  

?xml version =&#34; 1.0&#34;编码=&#34; UTF-8&#34;

不在文章中显示的示例中。

我的一个Win10 FCU系统上的干净导出也没有显示此行。

您是否手动修改此文件并添加此行?

如果您这样做,请将其删除并再次尝试导入。

答案 2 :(得分:0)

知道了!

秘密在于Windows的版本。我已经在最新的Windows 10上制作了xml,并尝试在不太新的Windows 10上应用。首先是更新我的Windows基础架构(1709 b16.299.192),现在它运行良好。

此外,任务栏块暂时没有做任何值得的事情,我稍后会尝试。

我的xml现在看起来像这样:

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="Applications">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Slack Technologies\Slack.lnk" />
        </start:Group>
        <start:Group Name="Utilitaires">
          <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk" />
          <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>

我可以使用GPO成功应用它:)

如果有人想在任务栏上引导我,欢迎你!否则我将在解决时发布解决方案。干杯