View Full Version : IFS - Freigabe per Befehlszeile
Hallo,
wir haben gerade damit angefangen uns mit dem IFS zu beschäftigen.
Um sich Verzeichnis des IFS als "Windows-Verzeichnisse" mappen zu können, müssen diese bekantlich zuvor freigegeben werden. Dies haben wir auch per Operations Navigator getan.
Meine Frage ist nun, ob dies auch per Befehlsziele möglich ist?
Vielen Dank im Voraus.
Gruss Hermann
Hallo Hermann,
das geht über APIs
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzahl/rzahlapiguide.htm
siehe auch z.B.:
hier (http://www.rlpforen.de/showthread.php?t=9143&highlight=ifs+api)
Gruß Ronald
Hallo,
ja das gibt es als Zusatz::cool:
Freeware GreenScreen NetserverTools ->
http://www.malume.de/ibmiseries/freeware/netservertools/index.html
Benutze ich selbst, ist ganz nett.:)
Gruss Holger
(Gibt Dir ein Menü mit sämtlichen Kommandos, Vergiß die APIs, warum das Fahrrad 5 mal erfinden)
Hallo,
dieses Tool hatte ich auch mal bei mir installiert. Aber es hat mir den Befehl CHGNETA aus der QSYS gelöscht. Das ist natürlich nicht so toll.
Man kann sich selbst ein CL + CMD erstellen welches dann das entsprechende AS/400 API aufruft.
QCLSRC/ADDSHARE Code:
0001.00 /************************************************** ***************/
0002.00 /* IFS FREIGABE ERSTELLEN */
0003.00 /************************************************** ***************/
0004.00 PGM PARM(&SHARENAME &PATHNAME &TEXTDESC &PERMS &MAXUSERS)
0005.00 DCL VAR(&SHARENAME ) TYPE(*CHAR) LEN(12)
0006.00 DCL VAR(&PATHNAME ) TYPE(*CHAR) LEN(20)
0007.00 DCL VAR(&PATHNAMEL) TYPE(*CHAR) LEN(4)
0008.00 DCL VAR(&CCSPATHN) TYPE(*CHAR) LEN(4)
0009.00 DCL VAR(&TEXTDESC) TYPE(*CHAR) LEN(50)
0010.00 DCL VAR(&PERMS) TYPE(*CHAR) LEN(4)
0011.00 DCL VAR(&PERMSP) TYPE(*CHAR) LEN(4)
0012.00 DCL VAR(&MAXUSERS) TYPE(*CHAR) LEN(4)
0013.00 DCL VAR(&MAXUSERSP) TYPE(*CHAR) LEN(4)
0014.00 DCL VAR(&ERRORCODE) TYPE(*CHAR) LEN(255)
0015.00 DCL &LENGTH *DEC LEN(2) VALUE(20)
0016.00 DCL &LENGTHC *CHAR LEN(4)
0017.00 CHGVAR VAR(%BIN(&CCSPATHN)) VALUE(0)
0018.00 CHGVAR VAR(%BIN(&MAXUSERSP)) VALUE(&MAXUSERS)
0019.00 CHGVAR VAR(%BIN(&PERMSP)) VALUE(&PERMS)
0020.00 LOOP:
0021.00 IF (%SUBSTRING(&PATHNAME &LENGTH 1) *EQ ' ') (DO)
0022.00 CHGVAR VAR(&LENGTH) VALUE(&LENGTH - 1)
0023.00 IF (&LENGTH *EQ 0) GOTO CMDLBL(EXIT)
0024.00 GOTO CMDLBL(LOOP)
0025.00 ENDDO
0026.00 CHGVAR VAR(&LENGTHC) VALUE(&LENGTH)
0027.00 CHGVAR VAR(%BIN(&PATHNAMEL)) VALUE(&LENGTHC)
0028.00 CALL PGM(QZLSADFS) +
0029.00 PARM(&SHARENAME +
0030.00 &PATHNAME +
0031.00 &PATHNAMEL +
0032.00 &CCSPATHN +
0033.00 &TEXTDESC +
0034.00 &PERMSP +
0035.00 &MAXUSERS +
0036.00 &ERRORCODE)
0037.00 IF (&ERRORCODE *NE '*') +
0038.00 SNDPGMMSG MSG('ERROR CODE:' *CAT &ERRORCODE)
0039.00 ELSE SNDPGMMSG MSG('Freigabe erfolgreich erstellt')
0040.00 EXIT:
0041.00 ENDPGM
QCMDSRC/ADDSHARE Code:
0001.00 CMD PROMPT('IFS Ordner freigeben')
0002.00 PARM KWD(SHARENAME) TYPE(*CHAR) LEN(12) +
0003.00 CHOICE('Neue Freigabe (MAX:12 Zeichen)') +
0004.00 PMTCTL(*PMTRQS) PROMPT('Freigabename')
0005.00 PARM KWD(PATHNAME) TYPE(*CHAR) LEN(20) +
0006.00 CHOICE('Muss mit / beginnen') +
0007.00 PMTCTL(*PMTRQS) PROMPT('IFS Pfad') /* +
0008.00 'First char must be slash U/U' */
0009.00 PARM KWD(TEXTDESC) TYPE(*CHAR) LEN(50) +
0010.00 CHOICE('Freigabe Bemerkung') +
0011.00 PMTCTL(*PMTRQS) PROMPT('Freigabe +
0012.00 Bemerkung') /* 'Share comment' */
0013.00 PARM KWD(PERMS) TYPE(*CHAR) LEN(4) RTNVAL(*NO) +
0014.00 RSTD(*YES) DFT(1) VALUES(1 2) +
0015.00 CHOICE('Berechtigung (1: R/O, 2:R/W)') +
0016.00 PMTCTL(*PMTRQS) PROMPT('Berechtigung') /* +
0017.00 '1: READ/ONLY 2:READ/WRITE' */
0018.00 PARM KWD(MAXUSERS) TYPE(*CHAR) LEN(4) RSTD(*NO) +
0019.00 DFT(-1) RANGE(-1 255) CHOICE('Max User +
0020.00 (-1 to 255,-1:NOMAX)') PMTCTL(*PMTRQS) +
0021.00 PROMPT('Maximale Benutzer')
Gruß
Matthias
Hi!
Ich hab mit dem API mal herumexperementiert. Soweit so gut. Aber wie bekomme ich eine Freigabe jetzt wieder weg??? :D
Mfg
Christian
Auch hierfür gibts API's:
iSeries NetServer API guides (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzahl/rzahlapiguide.htm?resultof=%22%71%7a%6c%73%61%64%6 6%73%22%20%22%71%7a%6c%73%61%64%66%22%20)
In diesem Fall Remove Server Share (QZLSRMS) API (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qzlsrmvs.htm)