Hey mensen, ik ben al 2 dagen aan het knoeien om dit probleem om te lossen.
We hebben een aplicatie die draait op een Win2003 server, deze draait prima.
Er is nu een nieuwe server en de app is daar ook op gezet, maar deze werkt hier ineens niet meer.
Simpele omschrijving app:
Een aantal acties/controles uitvoeren en daarna met robocopy een stel mappen kopieren.
Robocopy wordt uitgevoerd middels een Process.Start:
Nu is het zo dat robocopy een copy actie wil gaan uitvoeren op een folder waar deze geen rechten heeft.
Er komt een melding terug met "acces denied".
Om dit op te lossen is er een toevoeging gedaan aan de code, deze toevoeging zit ook al in de 2003 versie:
Probleem
Als ik dit onder Windows server 2008 R2 uitvoer, wordt robocopy in zn geheel niet afgetrapt. Ik krijg verder geen foutmeldingen.
Zodra ik het proxy account weghaal, wordt robocopy wel uitgevoerd, maar aangezien de rechten dan niet goed staan, krijg ik een 'acces denied'
Geprobeerd
We hebben een aplicatie die draait op een Win2003 server, deze draait prima.
Er is nu een nieuwe server en de app is daar ook op gezet, maar deze werkt hier ineens niet meer.
Simpele omschrijving app:
Een aantal acties/controles uitvoeren en daarna met robocopy een stel mappen kopieren.
Robocopy wordt uitgevoerd middels een Process.Start:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| process.StartInfo.FileName = AppPath & "ThirdParty\robocopy.exe" 'Parameters van het proces instellen process.StartInfo.UseShellExecute = False process.StartInfo.LoadUserProfile = True process.StartInfo.Arguments = Arguments process.StartInfo.WorkingDirectory = Workingdir process.StartInfo.RedirectStandardOutput = True process.StartInfo.RedirectStandardError = True 'Start het process en wacht tot deze is afgelopen process.Start() 'Wait for the process to exit While Not process.HasExited processOutput += process.StandardOutput.ReadToEnd() End While processOutput += process.StandardError.ReadToEnd() 'Output message wegschrijven naar log. s_Message(processOutput) |
Nu is het zo dat robocopy een copy actie wil gaan uitvoeren op een folder waar deze geen rechten heeft.
Er komt een melding terug met "acces denied".
Om dit op te lossen is er een toevoeging gedaan aan de code, deze toevoeging zit ook al in de 2003 versie:
Visual Basic .NET:
1
2
3
4
| 'Proxy account instellen process.StartInfo.UserName = AppSettings.Proxy_UserName process.StartInfo.Password = LoadSecureString(AppSettings.Proxy_Password) process.StartInfo.Domain = AppSettings.Proxy_Domain |
Probleem
Als ik dit onder Windows server 2008 R2 uitvoer, wordt robocopy in zn geheel niet afgetrapt. Ik krijg verder geen foutmeldingen.
Zodra ik het proxy account weghaal, wordt robocopy wel uitgevoerd, maar aangezien de rechten dan niet goed staan, krijg ik een 'acces denied'
Geprobeerd
- Een ander account als proxy account gebruiken, dit maakt geen verschil.
- Geprobeerd verkeerde credentials in te vullen bij het proxy account, dan krijg ik netjes een exception. Hieruit maak ik op dat mijn credentials iig goed zijn ingevuld.
- Notepad.exe uitvoeren, dit is nml een app die niet zelf afsluit, ik zie dan in mijn taskmgr de app staan. Maar wederom als ik het met credentials uitvoer, dan start notepad niet.
- msdn/google gezocht naar oplossingen.
- Als ik mijn applicatie draai vanuit een admin account dan werkt het wel, maar het is juist de bedoeling dat iemand zonder rechten, de robocopy wel kan starten.