Если вы хотите удалить Атрибут «имя» и оставить узел на месте, но пустым, вы можете следовать ответу Васифа, здесь в виде одной строки:
$xml.configuration.configsections.section | Where-Object { $_.name -eq "user" } | ForEach-Object { $_.RemoveAttribute("name") }
Результат:
<configuration>
<configSections>
<section />
<section name="Admin" />
</configSections>
</configuration>
Если вы хотите удалить узел, имеющий атрибут «имя» со значением «Пользователь», вы можете сделать это вместо этого:
$xml.configuration.configsections.section | Where-Object { $_.name -eq "user" } | ForEach-Object { $null = $_.ParentNode.RemoveChild($_) }
Результат:
<configuration>
<configSections>
<section name="Admin" />
</configSections>
</configuration>
Согласно вашему комментарию, если имеется более одного узла с атрибутом name = "User" 'и вы хотите удалить только первое вхождение, выполните :
$firstNode = $xml.configuration.configsections.section | Where-Object { $_.name -eq "user" } | Select-Object -First 1
$null = $firstNode.ParentNode.RemoveChild($firstNode)
Это то, что вы имеете в виду?