0

以下のコードを教えてください。

[System.Xml.XmlDocument]$xd = New-Object System.Xml.XmlDocument
$file = "C:\PS\SetUP.xml";
$xd.LoadXml($file);
#$root = $xd.DocumentElement 
Write-Host $xd.SelectSingleNode("/Setup").Attributes.GetNamedItem("WebAppUrl").Value

このコードは、Windows Server 2008 で実行すると正常に動作しますが、Windows Server 2003 では動作しません。

同じ環境(win server 2003)でC#でテストしましたが、Powershellでは機能しません。

Powershell のバージョンに問題がある可能性があると思います。

手伝っていただけませんか?

ありがとうございました


XML ファイル

<?xml version="1.0" encoding="utf-8"?>
<Setup WebAppUrl="http://sp2007">
    <SiteCollection Name="Report" Url="Report Requests">
    <Lists>
        <List Name="Report Requests" Url="ReportRequests" />    
        <List Name="Report Request Tasks" Url="ReportRequestTasks" />   
    </Lists>
    <Features>
    <Feature>ContentTypeSyndication</Feature>
    </Features>
    <Site Name="Child 1" Url="child1" Template="STS#0"/>
    <Site Name="Child 2" Url="child2" Template="STS#0"/>
    <Site Name="Child 3" Url="child3" Template="STS#0"/>
    </SiteCollection>
</Setup>
4

2 に答える 2

0

Windows 2003 の Powershell バージョンは 1 です。

Windows 2008 のバージョンは 2 です。

リンク: http://en.wikipedia.org/wiki/Windows_PowerShell#Versions

そのような単純な。私の知る限り、アップグレードを試みることができます。

追記:更新手順→ http://maxt2posh.wordpress.com/2009/12/23/update-powershell-v1-to-v2-windows-management-framework/

于 2012-07-27T09:55:20.703 に答える
0

v1 はありませんが、OS のバージョンに関係なく、xml ファイルを読み込んで同じ方法でナビゲートできます。xml ファイルを共有できますか?

[xml]$xd = Get-Content C:\PS\SetUP.xml
$xd.SelectSingleNode("/Setup").WebAppUrl

http://sp2007

Setup ノードが 1 つしかない場合は、次の方法で値を取得できます。

$xd.Setup.WebAppUrl
于 2012-07-27T10:09:44.900 に答える