Проверьте имя пользователя и пароль учетной записи Windows

Причина, по которой большая часть вашего результата пуста, заключается в том, что вы делаете:

<xsl:for-each select="VehicleDetailsVO">

из контекста:

<xsl:template match="/decreaseStickerVO">

У текущего узла decreaseStickerVO нет [ 116] детей, поэтому ваша инструкция xsl:for-each ничего не выбирает. Вы получите другой результат, если сделаете:

<xsl:for-each select="vehicleDetailsVOList/VehicleDetailsVO">

Но если - как кажется - вы хотите сохранить все в существующем XML как есть, то вы можете сделать это просто:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>

Или даже короче:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
    <xsl:copy-of select="."/>
</xsl:template>

</xsl:stylesheet>
7
задан Jason 20 October 2008 в 20:52
поделиться

3 ответа

Функцией, которую Вы хотите использовать, является LogonUser. Можно даже быть дополнительно-спокойными и указать флаг LOGON32_LOGON_SERVICE, который проверяет, чтобы удостовериться, что у пользователя есть соответствующие полномочия выполнить сервис.

12
ответ дан 6 December 2019 в 15:36
поделиться

Я реализовал это использование функции LogonUser как Вы, парни упомянули (между прочим, этот сервис требует WinXP SP2 или позже таким образом, я не волнуюсь по поводу проблемы полномочия). Однако это не является довольно рабочим, как я надеялся. Если я называю QueryServiceConfig, lpServiceStartName находится в формате ".\accountname". Если я передаю эту строку, как к LogonUser, она перестала работать. Я принимаю часть, прежде чем '\' представит машину, на которой принадлежит пользователь?

Кроме того, если я называю ChangeServiceConfig, указывающий "LocalSystem" и "" для lpServiceStartName и lpPassword параметров соответственно, это хорошо работает. Однако вызов LogonUser с этими параметрами не работает.

Я действительно хотел бы использовать тот же синтаксис, который SCM использует для имен учетной записи.

0
ответ дан 6 December 2019 в 15:36
поделиться

LogonUser является каноническим способом сделать это, хотя Microsoft несколько препятствует ему.

2
ответ дан 6 December 2019 в 15:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: