vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Windows Dienst und Zugriffsrechte 
Autor: ketzei
Datum: 17.10.12 03:17

Hallo zusammen,

hab einen Dienst erstellt in dem ich eine Datei im Netzwerk auf den lokalen Rechner kopieren will.
Leider kommt aber bei der Funktion File.Copy die Fehlermeldung "Der Zugriff auf den Pfad "\\......" wurde verweigert".
Der Dienst wurde mit dem Acount "LocalSystem" installiert.
Hab auch die anderen Acounts schon ausprobiert, ausser "User"! Aber auch mit denen hat es nicht funktioniert.

Kann mir jemand helfen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: powerzone3000
Datum: 17.10.12 10:38

Hallo,
ich vermute mal du befindest dich in einer Domäne.
Wahrscheinlich haben auf dieses Netzlaufwerk nur Domänen-Benutzer Zugriff, das Lokale Systemkonto zählt natürlich nicht dazu.

Klappt es denn, wenn du in den Eigenschaften des Dienstes unter "Anmelden" ein (z. B. dein) Domänen-Konto angibst?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ketzei
Datum: 18.10.12 00:40

Hallo,

ja wenn ich mich mit einem Domänen-Konto anmelde funktionierts.

Wie kann ich das bei meinem Dienst einstellen, dass der sich automatisch mit einem bestimmten Benutzer in der Domäne anmeldet?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ModeratorDaveS (Moderator)
Datum: 18.10.12 08:47

LocalSystem hat keinen Netzwerkzugriff. Für sowas verwendet man das NetworkService-Konto. Die Machine wird im Netzwerk als Domäne\machinename$ bekannt. Alternativ legt man einen Domänenbenutzer an für diesen Dienst. Besser übrigens als einzelne Benutzer/Machinen zu berechtigen definiert man eine Gruppe als Rolle in AD.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ketzei
Datum: 18.10.12 22:35

und wie kann ich das in meinen Code einbinden?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ModeratorDaveS (Moderator)
Datum: 19.10.12 11:37

Meinst du weil der Dienst sonst unter System laufen soll? Oder was hat es sonst mit Code zu tun?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: powerzone3000
Datum: 19.10.12 11:44

Das müsste gehen indem du die ServiceAccount-Eigenschaft deines ServiceProcessInstallers auf NetworkService festlegst.
Oder du legst es auf User fest und gibst Username und Password mit (sonst wird es bei der Installation abgefragt)

ServiceProcessInstaller-Klasse
ServiceAccount-Enumeration
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ModeratorDaveS (Moderator)
Datum: 19.10.12 13:21

Wenn er das meint...Anmelder-Konto kann man sonst immer ändern.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: ketzei
Datum: 19.10.12 22:31

Danke für die Antworten, genau das will ich machen: auf User stellen anschließend Username und Password festlegen.

Imports System
Imports System.Collections
Imports System.Configuration.Install
Imports System.ServiceProcess
Imports System.ComponentModel
 
Public Class ProjectInstaller
 
    Inherits Installer
    Private processInstaller As ServiceProcessInstaller
 
    Public Sub New()
        MyBase.New()
 
        'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
        InitializeComponent()
 
        'Initialisierungscode nach dem Aufruf von InitializeComponent hinzufügen
        processInstaller = New ServiceProcessInstaller()
        ServiceInstaller1 = New ServiceInstaller()
 
        processInstaller.Account = ServiceAccount.User
        processInstaller.Username = "sepp"
        processInstaller.Password = "1234"
 
        ServiceInstaller1.StartType = ServiceStartMode.Automatic
 
        ServiceInstaller1.ServiceName = "AOI_KVP"
 
        Installers.Add(ServiceInstaller1)
        Installers.Add(processInstaller)
 
    End Sub
 
End Class
muss ich die domäne auch angeben? der benutzer ist nämlich in der domäne!!

Beitrag wurde zuletzt am 19.10.12 um 22:36:12 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows Dienst und Zugriffsrechte 
Autor: powerzone3000
Datum: 22.10.12 08:04

Ich habe es noch nicht getestet, aber normalerweise gibt man das mit Domänenname\Benutzername an:
processInstaller.Username = "domain\username"
Wenn du den Benutzer "hart" codierst, solltest du auch daran denken, dass du die Anmeldedaten für den Dienst anpassen musst sobald der User sein Passwort ändert.
Und das kann (je nach Sicherheitsrichtlinie) in bestimmten Absänden notwendig sein.

Gruß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel