首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到"WriteElementString“的重载和参数计数:"2”

找不到"WriteElementString“的重载和参数计数:"2”
EN

Stack Overflow用户
提问于 2019-02-15 01:53:25
回答 1查看 151关注 0票数 0

我正在创建一个xml文件,使用"get- service“并试图获取正在运行的服务的名称和状态。如果我只是使用" get -service service“然后是服务的名称,我将获得我需要的数据。但是,它不会以这种方式写入xml文件。因此,我尝试使用get-service -name "name of service”| select-object name,status。这会抛出“无法找到重载...”

有什么建议吗?

我尝试只使用get- service“服务的名称”,但是写入xml文件的只是服务的名称。我尝试通过管道选择对象名称、状态,但如上所述抛出了错误。

代码语言:javascript
复制
# Set the File Name Create The Document
$XmlWriter = [System.XML.XmlWriter]::Create("G:\TestEnvironmentScript\$env:COMPUTERNAME-State.xml", $xmlsettings)

# Write the XML Decleration and set the XSL
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'")

# Start the Root Element
$xmlWriter.WriteStartElement("morestuff")

 $xmlWriter.WriteStartElement("ServerInformation") # <-- Start <Object>

 $xmlWriter.WriteElementString("ServerName",$env:COMPUTERNAME)

 $xmlWriter.WriteElementString("StateCheckTime",(Get-Date -Format G))

$xmlWriter.WriteStartElement("Services") # <-- Start <SubOject>

$XmlWriter.WriteElementString("nameofsomeservice",(Get-Service -Name Name-of-Some-Service | Select-Object Name, Status))

    $xmlWriter.WriteEndElement() # <-- End <Object>

$xmlWriter.WriteEndElement() # <-- End <Root> 

# End, Finalize and close the XML Document
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()

我只想让xml文档包含名称和状态。我可能只是对现状感到满意...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-15 02:24:02

由于(Get-Service -Name Name-of-Some-Service | Select-Object Name, Status)传递的数据如下所示,因此引发了'WriteElementString‘错误

代码语言:javascript
复制
Name        Status
----        ----
ServiceName Running

如果将服务结果放在一个变量中,则可以引用每个元素并获得所需的结果

代码语言:javascript
复制
# Set the File Name Create The Document
$XmlWriter = [System.XML.XmlWriter]::Create("G:\TestEnvironmentScript\$env:COMPUTERNAME-State.xml", $xmlsettings)

# Write the XML Decleration and set the XSL
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'")

# Start the Root Element
$xmlWriter.WriteStartElement("morestuff")

 $xmlWriter.WriteStartElement("ServerInformation") # <-- Start <Object>

 $xmlWriter.WriteElementString("ServerName",$env:COMPUTERNAME)

 $xmlWriter.WriteElementString("StateCheckTime",(Get-Date -Format G))

$xmlWriter.WriteStartElement("Services") # <-- Start <SubOject>

$serviceState = (Get-Service -Name Name-of-Some-Service | Select-Object Name, Status)
$XmlWriter.WriteElementString("nameofsomeservice", ($serviceState.Name, $serviceState.Status))

    $xmlWriter.WriteEndElement() # <-- End <Object>

$xmlWriter.WriteEndElement() # <-- End <Root> 

# End, Finalize and close the XML Document
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54696391

复制
相关文章

相似问题

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