J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un
service tournant en tant que LocalSystem...
Voici la situation:
J'ai un serveur que j'appellerais "machineA" sur lequel j'ai activé le
compte Invité sans mot de passe. Je partage alors un répertoire de
machineA. J'appelle ce point de montage "montageA".
Sur une station que j'appellerais "machineB", j'ai un service qui
tourne en tant que LocalSystem.
Je souhaiterais que le service puisse monter la ressource
\\machineA\montageA. J'utilise pour celà la fonction
WNetAddConnection2 que j'appelle avec les paramètres suivants:
ret = WNetAddConnection2(
&NetResource,
NULL,
NULL,
0);
Le problème, c'est que le WNetAddConnection2 me renvoie
systématiquement l'erreur ERROR_ACCESS_DENIED lorsqu'elle est appelée
par le Service alors que si je me log sur machineB en tant que "Toto"
et que j'execute la même séquence de code (en tant que Toto donc), ça
marche très bien...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Remi Thomas
"Fred" wrote
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem... Voici la situation: J'ai un serveur que j'appellerais "machineA" sur lequel j'ai activé le compte Invité sans mot de passe. Je partage alors un répertoire de machineA. J'appelle ce point de montage "montageA". Sur une station que j'appellerais "machineB", j'ai un service qui tourne en tant que LocalSystem. Je souhaiterais que le service puisse monter la ressource machineAmontageA. J'utilise pour celà la fonction WNetAddConnection2 que j'appelle avec les paramètres suivants:
ret = WNetAddConnection2( &NetResource, NULL, NULL, 0);
Le problème, c'est que le WNetAddConnection2 me renvoie systématiquement l'erreur ERROR_ACCESS_DENIED lorsqu'elle est appelée par le Service alors que si je me log sur machineB en tant que "Toto" et que j'execute la même séquence de code (en tant que Toto donc), ça marche très bien...
Quelqu'un aurait-il une idée??
Merci d'avance...
Fred
LocalSystem ne peut pas faire de réseau. Il faut transformer ton service pour qu'il tourne sous un compte utilisateur.
Rémi
"Fred" <frederic.viollet@laposte.net> wrote
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un
service tournant en tant que LocalSystem...
Voici la situation:
J'ai un serveur que j'appellerais "machineA" sur lequel j'ai activé le
compte Invité sans mot de passe. Je partage alors un répertoire de
machineA. J'appelle ce point de montage "montageA".
Sur une station que j'appellerais "machineB", j'ai un service qui
tourne en tant que LocalSystem.
Je souhaiterais que le service puisse monter la ressource
\machineAmontageA. J'utilise pour celà la fonction
WNetAddConnection2 que j'appelle avec les paramètres suivants:
ret = WNetAddConnection2(
&NetResource,
NULL,
NULL,
0);
Le problème, c'est que le WNetAddConnection2 me renvoie
systématiquement l'erreur ERROR_ACCESS_DENIED lorsqu'elle est appelée
par le Service alors que si je me log sur machineB en tant que "Toto"
et que j'execute la même séquence de code (en tant que Toto donc), ça
marche très bien...
Quelqu'un aurait-il une idée??
Merci d'avance...
Fred
LocalSystem ne peut pas faire de réseau.
Il faut transformer ton service pour qu'il tourne sous un compte
utilisateur.
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem... Voici la situation: J'ai un serveur que j'appellerais "machineA" sur lequel j'ai activé le compte Invité sans mot de passe. Je partage alors un répertoire de machineA. J'appelle ce point de montage "montageA". Sur une station que j'appellerais "machineB", j'ai un service qui tourne en tant que LocalSystem. Je souhaiterais que le service puisse monter la ressource machineAmontageA. J'utilise pour celà la fonction WNetAddConnection2 que j'appelle avec les paramètres suivants:
ret = WNetAddConnection2( &NetResource, NULL, NULL, 0);
Le problème, c'est que le WNetAddConnection2 me renvoie systématiquement l'erreur ERROR_ACCESS_DENIED lorsqu'elle est appelée par le Service alors que si je me log sur machineB en tant que "Toto" et que j'execute la même séquence de code (en tant que Toto donc), ça marche très bien...
Quelqu'un aurait-il une idée??
Merci d'avance...
Fred
LocalSystem ne peut pas faire de réseau. Il faut transformer ton service pour qu'il tourne sous un compte utilisateur.
Rémi
Arnaud Debaene
Fred wrote:
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources réseau. La solution consiste à faire tourner ton service sous un compte dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un tel compte dans le code de ton service (typiquement, si ton service accède à cette ressource réseau suite à une requête client, il est de bon ton que le service impersonnifie le client en question).
Arnaud
Fred wrote:
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un
service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources
réseau. La solution consiste à faire tourner ton service sous un compte
dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un
tel compte dans le code de ton service (typiquement, si ton service accède à
cette ressource réseau suite à une requête client, il est de bon ton que le
service impersonnifie le client en question).
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources réseau. La solution consiste à faire tourner ton service sous un compte dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un tel compte dans le code de ton service (typiquement, si ton service accède à cette ressource réseau suite à une requête client, il est de bon ton que le service impersonnifie le client en question).
Arnaud
Fred
Arnaud Debaene a écrit :
Fred wrote:
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources réseau. La solution consiste à faire tourner ton service sous un compte dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un tel compte dans le code de ton service (typiquement, si ton service accède à cette ressource réseau suite à une requête client, il est de bon ton que le service impersonnifie le client en question).
Arnaud
Tout d'abord, merci pour vos réponses... En fait, le service en question execute des setup (qui peuvent se trouver sur le montage réseau) pour maintenir la machine à jour, et c'est pour ça que j'avais utilisé le compte LocalSystem. J'ai besoin que le Service ait toujours le droit d'installer des composants sur la machine... Existe-t-il un compte qui aurait les droits d'installation et accès au réseau?
Merci encore.
Fred
Arnaud Debaene a écrit :
Fred wrote:
Bonjour,
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un
service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources
réseau. La solution consiste à faire tourner ton service sous un compte
dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un
tel compte dans le code de ton service (typiquement, si ton service accède à
cette ressource réseau suite à une requête client, il est de bon ton que le
service impersonnifie le client en question).
Arnaud
Tout d'abord, merci pour vos réponses...
En fait, le service en question execute des setup (qui peuvent se
trouver sur le montage réseau) pour maintenir la machine à jour, et
c'est pour ça que j'avais utilisé le compte LocalSystem. J'ai besoin que
le Service ait toujours le droit d'installer des composants sur la
machine...
Existe-t-il un compte qui aurait les droits d'installation et accès au
réseau?
J'ai un petit souci avec l'utilisation de WNetAddConnection2 dans un service tournant en tant que LocalSystem...
C'est normal et voulu : le compte System n'a pas accès aux ressources réseau. La solution consiste à faire tourner ton service sous un compte dédié qui dispose des droits adéquats, ou bien, alors d'impersonnifier un tel compte dans le code de ton service (typiquement, si ton service accède à cette ressource réseau suite à une requête client, il est de bon ton que le service impersonnifie le client en question).
Arnaud
Tout d'abord, merci pour vos réponses... En fait, le service en question execute des setup (qui peuvent se trouver sur le montage réseau) pour maintenir la machine à jour, et c'est pour ça que j'avais utilisé le compte LocalSystem. J'ai besoin que le Service ait toujours le droit d'installer des composants sur la machine... Existe-t-il un compte qui aurait les droits d'installation et accès au réseau?