[gelöst]NAS - Wsh - Funktion ausführen

Bild Speziell fĂĽr Probleme des Navision Application Servers (NAS).

[gelöst]NAS - Wsh - Funktion ausführen

Beitragvon rom » 19. Februar 2013 14:03

Hallo,

ich habe ein Problem mit einm Bericht und bin mir nicht sicher, ob es so zu lösen ist.

Dieser Bericht erstellt eine Textdatei, welcher an einen Zebradrucker gesendet wird (Es werden dann Etiketten gedruckt.). Wir haben eine .NET Application, die ĂĽber den NAS diesen Bericht aufruft. Dieser Bericht funktioniert tadellos in RTC und im CC.

Ăśber die Applikation bzw. NAS funktioniert es leider nicht so ganz. Es wird die Textdatei, welche gesendet werden soll, korrekt erstellt und in einem Tempordner abgelegt. Von diesem Tempordner wird auch gedruckt. Somit kann ich hoffentlich ein Berichtigungsproblem ausschlieĂźen. Der User, welcher im NAS hinterlegt wir, hat den Drucken an den LPT gemappt.

Die Datei sende ich mit folgender Codezeile:

Code: Alles auswählen

IF ISCLEAR(wsh) THEN
  CREATE(wsh,TRUE,TRUE);

wsh.Exec('cmd.exe /c Copy "'+ FileName+'" LPT3');


Kann der NAS ĂĽberhaupt eine Windows Shell aufrufen? Was muss ich fĂĽr den NAS beachten?

Danke fĂĽr die Infos!
rom
Zuletzt geändert von rom am 20. Februar 2013 16:24, insgesamt 1-mal geändert.
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Beitragvon Natalie » 19. Februar 2013 14:08

[Beitrag aus dem Forum NAV 2009 nach Navision Application Server verschoben.]

GruĂź, Natalie
MSDynamics.de-Team
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon Markus Merkl » 19. Februar 2013 14:14

rom hat geschrieben:
Code: Alles auswählen
IF ISCLEAR(wsh) THEN
  CREATE(wsh,TRUE,TRUE);

wsh.Exec('cmd.exe /c Copy "'+ FileName+'" LPT3');


Kann der NAS ĂĽberhaupt eine Windows Shell aufrufen? Was muss ich fĂĽr den NAS beachten?


Was spricht gegen ein shell(tuirgendwas)?
Markus

“Perl is the only language that looks the same before and after RSA encryption.” (Keith Bostic)
Benutzeravatar
Markus Merkl
 
Beiträge: 487
Registriert: 24. April 2007 10:10
Wohnort: ZH
Arbeitsort: CH-ZH
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: [alle]

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon Sebastian Pfliegel » 19. Februar 2013 14:14

NatĂĽrlich kann der NAS das. Gibt es eine Fehlermeldung? Ist eventuell die Automation nicht registriert? Berechtigungen auf die Dateien/Ordner?
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 14:31

Sebastian Pfliegel hat geschrieben:NatĂĽrlich kann der NAS das. Gibt es eine Fehlermeldung? Ist eventuell die Automation nicht registriert? Berechtigungen auf die Dateien/Ordner?



Fehlermeldung gibt es keine! Muss ich die Automation noch extra registrieren fĂĽr den NAS, wenn genau der selbe Code im RTC und CC funktioniert? Berichtigungen passen, Datei wird ja schon vom NAS abgelegt, aber nicht an den Drucker gesendet. Aus dem Eingabeaufforderung kann ich mit den User diese Datei an den Drucker senden....
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon Sebastian Pfliegel » 19. Februar 2013 14:45

Hast du schon im Ereignisprotokoll des PCs nachgesehen? Alle (Fehler-)Meldungen des NAS landen dort. Du könntest den NAS auch mal im Debugger laufen lassen (einfach ein ", debug" an die Eingabeaufforderderung hinten anhängen). Normalerweise dürftest du nichts mehr registrieren müssen (von den Standard-Automations), wenn die Installation nicht gerade korrupt ist.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 17:11

Sebastian Pfliegel hat geschrieben:Du könntest den NAS auch mal im Debugger laufen lassen (einfach ein ", debug" an die Eingabeaufforderderung hinten anhängen).


Wie ist da die genau Syntax?

Code: Alles auswählen
 IF ISCLEAR(wsh) THEN
   CREATE(wsh);
  wsh.Exec('cmd.exe /c Copy "'+ FileName+'" LPT3 debug') ;


Und was sollte ich als Ergebnis erhalten?

Danke!

vg
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon fiddi » 19. Februar 2013 17:18

Hallo,

1. Hat der Benutzer unter dem der NAS läuft Zugriff auf die entsprechenden Dateien und Verzeichnisse?
2. Warum benutzt du nicht das WSH- Filesystem-Objekt, das kann schon Dateien kopieren, da musst du nicht erst ein cmd.exe aufrufen.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 17:25

fiddi hat geschrieben:1. Hat der Benutzer unter dem der NAS läuft Zugriff auf die entsprechenden Dateien und Verzeichnisse?

Ja, der NAS legt sich ja schon selber die Datei in das entsprechende Verzeichnis....

fiddi hat geschrieben:2. Warum benutzt du nicht das WSH- Filesystem-Objekt, das kann schon Dateien kopieren, da musst du nicht erst ein cmd.exe aufrufen.


Weil es sonst im NAV nicht funktioniert..
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon fiddi » 19. Februar 2013 17:52

Wo kommt denn 'LPT3' her, hasst du 3 parallele Schnittstellen in dem PC? Oder legst du die mit "Mode" oder "net use" an? In letzterem Fall könnten die nur für den Benutzer sichtbar sein, der den Befehl aufgerufen hat, nicht der, der den Service gestartet hat.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 17:57

fiddi hat geschrieben:Wo kommt denn 'LPT3' her, hasst du 3 parallele Schnittstellen in dem PC? Oder legst du die mit "Mode" oder "net use" an? In letzterem Fall könnten die nur für den Benutzer sichtbar sein, der den Befehl aufgerufen hat, nicht der, der den Service gestartet hat.

GruĂź, Fiddi



Ich habe fĂĽr den User, welcher im Dienst vom NAS hinterlegt ist, das LPT3 mit Net use und persistent:yes angelegt.
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon fiddi » 19. Februar 2013 18:07

versuch es erst mal mit einer normalen Datei, wenn das funktioniert, hat du das eigentliche Problem gefunden.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 18:12

fiddi hat geschrieben:versuch es erst mal mit einer normalen Datei, wenn das funktioniert, hat du das eigentliche Problem gefunden.


Wie meinst du das?
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 19. Februar 2013 18:21

ICh glaube ich habe dir Ursache:

Im Eventlog kommt vom Desktop Windows Manager folgende Meldung:

"Der Desktopfenster-Manager konnte nicht gestartet werden, da kein zusammengestelltes Design verwendet wird.!

Ereignis ID 9003-

Es passt mit der Zeit ungefährt mit der Ausführung des Codes zusammen...
Kann das stimmen?
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon fiddi » 19. Februar 2013 18:30

Kopier mal deine Datei nicht ach LPT3 sondern nach xyz.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon Sebastian Pfliegel » 19. Februar 2013 21:45

rom hat geschrieben:Wie ist da die genau Syntax?

Code: Alles auswählen
 IF ISCLEAR(wsh) THEN
   CREATE(wsh);
  wsh.Exec('cmd.exe /c Copy "'+ FileName+'" LPT3 debug') ;


Und was sollte ich als Ergebnis erhalten?


So war das nicht gemeint :-D
Das ", debug" hängst du an den Aufruf von der nas.exe bzw. nassql.exe statt dem Parameter für die Installation als Service.

Die Meldungen vom NAS kommen auch immer von dem jeweiligen Dienst natürlich. Daher glaube ich kaum, dass der Desktopfenster-Manager etwas damit zu tun haben könnte. Ich würde jetzt auch wie von fiddi angesprochen die Datei die du an den Drucker "kopieren" möchtest einfach an einen anderen Dateipfad hinkopieren. Anstatt des copy-Befehls könnte dir eventuell ein print zusagen.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 20. Februar 2013 14:23

Sebastian Pfliegel hat geschrieben:
rom hat geschrieben:Wie ist da die genau Syntax?

Code: Alles auswählen
 IF ISCLEAR(wsh) THEN
   CREATE(wsh);
  wsh.Exec('cmd.exe /c Copy "'+ FileName+'" LPT3 debug') ;


Und was sollte ich als Ergebnis erhalten?


So war das nicht gemeint :-D
Das ", debug" hängst du an den Aufruf von der nas.exe bzw. nassql.exe statt dem Parameter für die Installation als Service.

Die Meldungen vom NAS kommen auch immer von dem jeweiligen Dienst natürlich. Daher glaube ich kaum, dass der Desktopfenster-Manager etwas damit zu tun haben könnte. Ich würde jetzt auch wie von fiddi angesprochen die Datei die du an den Drucker "kopieren" möchtest einfach an einen anderen Dateipfad hinkopieren. Anstatt des copy-Befehls könnte dir eventuell ein print zusagen.


Ich habe es nun mal versucht zu debuggen, da kommt keine Fehlermeldung oder ähnliches...
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon Sebastian Pfliegel » 20. Februar 2013 14:45

Gut, dann geh ich mal stark davon aus, dass er das LPT3 nicht wirklich mag ... Nimm doch wirklich mal als Ziel sowas wie "C:\". Schau dir mal den Befehl an: PRINT. Vielleicht funktioniert dieser besser als der COPY.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 20. Februar 2013 14:50

Sebastian Pfliegel hat geschrieben:Gut, dann geh ich mal stark davon aus, dass er das LPT3 nicht wirklich mag ... Nimm doch wirklich mal als Ziel sowas wie "C:\". Schau dir mal den Befehl an: PRINT. Vielleicht funktioniert dieser besser als der COPY.


Also du meinst, einfach von "c:\temp", wo es jetzt liegt, wo anders hinkopieren?
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: NAS - Wsh - Funktion ausfĂĽhren

Beitragvon rom » 20. Februar 2013 16:23

Ich habe es nun gelöst.

Es lag daran, dass das Consolenfenster nicht öffnen konnte. Ich habe beim NAS User den Dienst gestarte und dann ging es..
Bzw. versuchen wir es ĂĽber wsh.exec und wsh.rund auszufĂĽhren.


Danke fĂĽr die Hilfe
lg
rom
Microsoft Partner
Microsoft Partner
 
Beiträge: 512
Registriert: 7. Januar 2009 13:14
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 - 6.01

Re: [gelöst]NAS - Wsh - Funktion ausführen

Beitragvon Sebastian Pfliegel » 20. Februar 2013 17:35

Hmm, ihm hat also der cmd.exe /c nicht gefallen? Naja, den kann man ja getrost weglassen.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: [gelöst]NAS - Wsh - Funktion ausführen

Beitragvon fiddi » 20. Februar 2013 18:01

Hmm, ihm hat also der cmd.exe /c nicht gefallen? Naja, den kann man ja getrost weglassen.


Bei normalen Dateinamen schon, wenn man aber Devices verwendet, bin ich mir da nicht so sicher.

GruĂź, Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell


ZurĂĽck zu Navision Application Server

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast