Jaký skript použít místo bat?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

zeus
Elite Level 10.5
Elite Level 10.5
Příspěvky: 11108
Registrován: únor 12
Bydliště: Pankrac
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod zeus » 16 úno 2016 13:09

atari píše:Použití funkce „cint“ už tady ukázal zeus. Už jsme na to přišel. Objekt „GetFileSIze“ prostě VBScript nepodporuje.

Nejde o cint, mel jsi to cele blbe. GetFileSize opravdu neumi, sam jsi na to odkazoval.
Z prikladu jsi to pochopil?
Prazaci jo ty se maj, az kdyz si me zavolaj..

Reklama
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3345
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod atari » 16 úno 2016 13:24

Jo jasně, už jsem to pochopil. Vlastnosti musím získávat jinak, než jsem to dělal. Dík za rady.

Uziv00
Pohlaví: Nespecifikováno

Re: Jaký skript použít místo bat?

Příspěvekod Uziv00 » 16 úno 2016 14:05

Musíš si zvyknout na objekty.
Abys mohl pracovat se soubory, musíš mít objekt pro tuto práci: objFSO.
Abys mohl číst vlastnosti souboru, nebo s ním dále pracovat, musíš vytvořit objekt daného souboru: objFile
A chceš-li znát vlastnost určeného souboru, načteš vlastnost objektu: objFile.Size
A bude ještě hůř - třeba u práce s WMI po vytvoření objektů ještě načteš kolekci, z ní získáš na základě sql dotazu určenou službu a k ní vytvoříš objekt. Až pak ji můžeš ovládat.
vypadá to složitě, ale má to logiku.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3345
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod atari » 16 úno 2016 14:20

S těmi objekty jsem to už pochopil, popsal jsi to jednoduše a stručně.
Ale WMI neznán, nevím co to je (asi to pro moji prácí není potřeba). Co jsou kolekce zhruba tuším (například více stejných objektů sdružených do kolekce), ale nikdy jsem s nimi nepracoval. SQL dotazy také neznám, a nevím co to je.

Jak jsem psal, BAT dávky přestaly být postačujicí, takže hledám výkonnější nástroj. Moje zaměření je zálohování a archivace, takže tam objekty rozhodně budu potřebovat znát (soubory, složky, oddíly) a to ostatní nevím. Uvidíme do budoucna, jestli mě potkají kolekce nebo to další.

Uziv00
Pohlaví: Nespecifikováno

Re: Jaký skript použít místo bat?

Příspěvekod Uziv00 » 16 úno 2016 17:14

WMI=Windows Management Instrumentation.
Pro editaci v příkazové řádce stačí napsat příkaz wmic. Hned uvidíš, jak se konzola hlásí.
Ve spolupráci s vbs hodně silná věc. Používám pro kontrolu a spouštění (ukončování) služeb, kontrolu volného místa na disku, automatizaci záloh logů, kontrolu posledního restartu a dalších blbin.
samotný vbs používám pro rozbor logů, kdy mi z celého log souboru vyfiltruje klíčová slova a celé řádky s nimi zapíše do jiného, čímž mi ušetří hodně práce.
Ostatně některé mé skripty můžeš najít i zde na fóru.

Uživatelský avatar
Oxxid
člen BSOD týmu
Master Level 8
Master Level 8
Příspěvky: 6194
Registrován: prosinec 12
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod Oxxid » 17 úno 2016 16:03

atari píše:S těmi objekty jsem to už pochopil, popsal jsi to jednoduše a stručně.
Ale WMI neznán, nevím co to je (asi to pro moji prácí není potřeba). Co jsou kolekce zhruba tuším (například více stejných objektů sdružených do kolekce), ale nikdy jsem s nimi nepracoval. SQL dotazy také neznám, a nevím co to je.

Jak jsem psal, BAT dávky přestaly být postačujicí, takže hledám výkonnější nástroj. Moje zaměření je zálohování a archivace, takže tam objekty rozhodně budu potřebovat znát (soubory, složky, oddíly) a to ostatní nevím. Uvidíme do budoucna, jestli mě potkají kolekce nebo to další.

Ja jsem jedine pro PowerShell, je to dospely a moderni skriptovaci jazyk a zvladne vicemene vsechno.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3345
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod atari » 17 úno 2016 21:02

Uvidíme do budoucna jak to dopadne. PowerShell asi zvítězí. Na druhou stranu nějaký testovací vbs můžu poslat kámošovi ať ho spustí, když se bude řešit nějaký problém, a v mejlu se podívám se na výsledek logu. Tohle by s PowerShellem zřejmě neprošlo.

ITCrowd: na tu konzoli jsem koukal, a je tam mnoho příkazů. Skoro žádný neznám. Můžeš mi prosím sdělit například se kterým příkazem pracuješ při kontroloe a spouštění služeb?

Uziv00
Pohlaví: Nespecifikováno

Re: Jaký skript použít místo bat?

Příspěvekod Uziv00 » 17 úno 2016 21:13

PowerShell je samozřejmě nej. Jenže už to bude tak 4. skriptovací jazyk, který se budu muset naučit - a zatím nemám kdy :-(
Zde je příklad ve vbs. Skript je spouštěn po startu PC s právy SYSTEM (aby mohl startovat službu).
Ber to jako příklad pro začátek, dnes už to mám řešeno jinak. Zároveň je zde ukázáno, jak může skript zapisovat do logu.
Za zmínku stojí i to, že si sám zjistí název počítače - to z důvodu, aby mohl běžet na všech pracovištích a nebylo ho nutno pro každé pracoviště speciálně upravovat.

Kód: Vybrat vše

'**********************************
'*  Script testuje stav služby    *
'*             Phone              *
'*  Pokud služba neběží, pokusí   *
'*    se ji spustit (6x)          *
'*     Zapisuje do logu           *
'*   D:\ScriptLog\tstsrv.txt      *
'*     Etienn@Script v. 2.0       *
'**********************************
'
Option Explicit
Dim strComputer, objWMIService, a, colRunningServices, objService, fso
Dim WshNet, txtStream, radek, ForAppend
Const LogFile = "D:\ScriptLog\tstsrv.txt"
ForAppend = 8
' nastavení objektů k přístupu k síti a souboru'
Set WshNet = WScript.CreateObject("WScript.Network")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

' Zápis prvního řádku do logu
Set txtStream = fso.OpenTextFile(LogFile, ForAppend, True)
radek = "Start systému -  " & WeekdayName(Weekday(Now()), False, 1) & _
", " & Date & ", " & Time
txtStream.WriteLine ""
txtStream.WriteLine radek
' zápis sítě do logu
txtStream.WriteLine Time & vbTab & WshNet.ComputerName
WScript.Sleep 25000 ' počáteční zpoždění
On Error Resume Next ' nereaguj na chyby
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
a = 1
Do Until a = 6
Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service Where Name = 'Phone'")
For Each objService in colRunningServices
    ' Wscript.Echo objService.DisplayName  & VbTab & objService.State
    txtStream.WriteLine Time & vbTab & WshNet.ComputerName
    txtStream.WriteLine Time & vbTab & objService.DisplayName  & VbTab & objService.State & vbTab & a & ". pokus"
    If objService.State <> "Running" Then
       ' WScript.Echo "Neběží" 
       objService.StartService
    Else
       ' WScript.Echo "Běží"
       Exit Do
    End If
Next
a = a + 1
WScript.Sleep 6000
Loop
txtStream.Close
Set objWMIService = Nothing
Set fso = Nothing
Set WshNet = Nothing

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3345
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod atari » 17 úno 2016 21:40

Dík za tip, prostuduji.

Ještěm mám dotaz na nějaký konvertor vbs to exe. Našel jsem jich několik (free i pay), ale nevím který je spolehlivý bez chyb. Potřebuji zamezit, aby si kdokoli mohl přečíst ve skritpu hesla. Nebo máš jinou radu jak to udělat?

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod faraon » 17 úno 2016 21:48

Jako že přímo ve skriptu máš hesla v plaintextu? To ale budou vidět i v tom EXE, ne?
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uziv00
Pohlaví: Nespecifikováno

Re: Jaký skript použít místo bat?

Příspěvekod Uziv00 » 17 úno 2016 21:57

Bezpečnostní zásada je nikdy hesla ve skriptu nemít. Kompilace do exe tohle řeší.
Výborný nástroj pro práci s vbs je VbsEdit, který v placené verzi umožňuje i kompilaci.
U skriptů nekompilovaných používám řešení dvou polí. V prvním poli jsou náhodně vygenerovaná čísla + správná čísla. Správná čísla tvoří ASCII kód písmen hesla. V druhém poli jsou souřadnice správných čísel v prvním poli. Pomocí dvojité For Next je proveden výběr jednotlivých čísel, která se pomocí funkce Chr() převedou na text hesla. Stejně tak pracuji i se jménem uživatele. Příklad můžeš ještě zesložitit třeba operací XOR, kdy správné číslo dostaneš XOR operací nad prvky ze dvou polí atd. Fantazii se meze nekladou :D
Pozor na kompilátory, které řeší kompilaci do exe tak, že vlastní skript rozbalí do TEMP a odtud spustí. Pokud by zkušený uživatel v této chvíli sestřelil wscript.exe, nebo postačí když je vyžadována reakce a on neodpoví, pak lze skript v tempu nalézt a heslo získáš normálně v textové podobě.
Podobně jsme se spálili s jedním kompilátorem battoexe, který to takhle dělal, a my se pak nestačili divit.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3345
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jaký skript použít místo bat?

Příspěvekod atari » 17 úno 2016 22:15

Přesně tak holý text. Pakuju data v ARJ a jelikož to posílám na Dropbox apod, tak to pakuju pod heslem. Při konverzi bat to exe když zadám kompresi, tak to v tom exe vidět není. To mě nenapadly ty TEMPY, to se schválně podívám.

VbsEdit jsem včera stáhnul, a mám teď tu "otravnou" free verzi. Tak doufám, že ta placená to nerozbaluje do TEMP.

U těch nekompilovaných, to je dobrý nápad. Ale kdo umí programovat tak si to bude umět rozkódovat to heslo, když ten skript dostane do ruky, přepodkládám.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ktorú Ram použiť? Příloha(y)
    od Frank Burns » 11 lis 2024 21:38 » v Rady s výběrem hw a sestavením PC
    1
    870
    od RIKI22 Zobrazit poslední příspěvek
    11 lis 2024 21:39
  • Jak použít zálohu z CodePen na ChatGPT?
    od Minapark » 01 led 2025 18:48 » v Programování a tvorba webu
    1
    1859
    od Minapark Zobrazit poslední příspěvek
    06 led 2025 08:08
  • CPU pasta 2 roky stará, neotevřená... Mohu použít...?
    od TomiDomi » 28 říj 2024 22:59 » v Rady s výběrem hw a sestavením PC
    3
    1706
    od atari Zobrazit poslední příspěvek
    29 říj 2024 20:08
  • Něco mi žere misto na szstemovem SSD Příloha(y)
    od Ketty02 » 13 zář 2024 12:36 » v Vše ostatní (bezp)
    14
    5771
    od buchtik Zobrazit poslední příspěvek
    14 zář 2024 10:56
  • Zapojení grafické karty na 12 pinů místo 14
    od windroid2 » 16 pro 2024 12:22 » v Rady s výběrem hw a sestavením PC
    4
    2058
    od windroid2 Zobrazit poslední příspěvek
    16 pro 2024 13:53

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů