A %TIME% 10. és 11. karaktere a milliszekundum két számjeggyel (0-99), így a rand_wait 6 - 600 közötti értéket vesz fel, ami másodpercben (amit a timeout vár) 10 perc.
BlackY
- SzBlackY blogja
- A hozzászóláshoz be kell jelentkezni
- 1074 megtekintés
Hozzászólások
O"o", de miert is jobb ez, ha szinkronizálva vannak a gépek órái, mint ahogy irod? NTP is siman tud 1millisec alatti driftet...
Az mondjuk ketsegtelen, hogy barmilyen shell-ben a RANDOM az egy kaki...:/ Esetleg uuidgen alapokon? Kersz egyet, Lecsapod az utolso 2 hexa jegye't, ertelmezed mint 0...255 kozotti ege'sz, oszt annyi. Az uuid elvileg hwaddr alapjan is dolgozik, az meg eselyes hogy kulonbozik ke't ge'pen.
- A hozzászóláshoz be kell jelentkezni
Mert a PsExec (a detach opcióval) gyors _egymás utánban_ indítja el a gépeken - a %RANDOM% így messze nem elég random (30 gépnél 1 max. 2 másodperc alatt meg van), a fenti viszont szép nagy szórást eredményez :)
uuidgen Win alatt nem csak Visual Studio telepítés után érhető el?
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
A win-t nem ismerem (mmint hogy az uuidgen-nek milyen fuggosegei vannak), de azt latom hogy win-es backenddel rendelkezo dolgok igencsak szeretik az uuid-et hasznalni ;) Szoval vmi support csakcsak van, hogy nativan (shellbol) tudd ele'rni.
Aha, igen, ha mondjuk 0.05 masodpercenkent indulnak a processzek, akkor a millisec mar valoban fog annyit szo'rni hogy ne legyen gond. Csak aztan nehogy x e'v mulva legyen gond, hogyha a gepek gyorsulasa miatt vagy aka'r PS upgrade miatt ez ma'r (ujra) race condition-szeruseget okoz.
- A hozzászóláshoz be kell jelentkezni
"Szoval vmi support csakcsak van, hogy nativan (shellbol) tudd ele'rni."
Nincs. Powershellbol elo lehet banyaszkodni a C#-os assemblyt/osztalyt (fejbol mar nem tudom, hogy melyik nevterben van, es az betoltodik-e alapbol) es abbol lehet bohockodni egy UUID-et, de parancs meg abban sincs ra. Batch-bol pedig nativ eszkozokkel elerhetetlen.
Egyebkent ha a gepek gyorsulnak, akkor valszinu a szerver is gyorsul annyit, hogy eleg legyen a kapacitas tobb kliens kezelesehez is :-)
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Egyebkent ha a gepek gyorsulnak, akkor valszinu a szerver is gyorsul annyit, hogy eleg legyen a kapacitas tobb kliens kezelesehez is :-)
Yup :) Vagy ha mégsem, akkor bízunk abban, hogy az MS a későbbiekben sem akar pontosabb NTP klienst csinálni, most 1-2 másodperc pontosságot tart a Wiki szerint :)
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Egyebkent ha a gepek gyorsulnak, akkor valszinu a szerver is gyorsul annyit, hogy eleg legyen a kapacitas tobb kliens kezelesehez is :-)
jaja, a szerver is gyorsul(hat), igy a terhelheto"se'ge az no"ni fog. de a wall-clock (%time, etc.) nem fog gyorsabban ja'rni ;)
- A hozzászóláshoz be kell jelentkezni
A kollega itt azt fejtegette, hogy a random varakozas mennyire lesz eleg. En azt az esetet vettem alapul, amikor mar nem var eleget a "random" varakozas.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Erre nem érné meg egy pár soros apró C vagy C# kódot írni, ami egy printf-el kitolná a RAND értéket? Vagy éppen várakozna annyit?
Vagy nem kivitelezhető telepíteni egy Ruby-t vagy Python-t vagy egyebet és abból printelni egy erős random értéket?
Vagy mindenképpen csak a klienseken elérhető eszközökből akarsz generálni?
"delayed expansion" nem jó?
http://superuser.com/questions/588401/random-number-in-a-batch-file-doe…
- A hozzászóláshoz be kell jelentkezni
Egy Powershell-re átírás előbb-utóbb lehet, hogy kell majd, csak lusta voltam utánanézni, hogy abból hogy tudok network drive-ot csatolni (különösen más user nevében), vbscriptet indítani, ilyesmik; a klienseken elérhetőség nem árt, és csak ezért nem szívesen raknék fel plusz interpretert.
A delayedexpansion szvsz. nem segít, mert a script elején akarok várakozni és ott még nincs elég tényező (a psexec kiadása és a futásban a várakozásig elérés ugyanaz a másodperc), hogy befolyásolja a kapott értéket.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
A Powershellbol siman tudsz hivni DOS parancsokat. Tehat egy net use X: siman mukodik ott is.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni