Článek: AN0001980Aktualizováno:: 10.05.2021
Program Piklo umožňuje spouštění Powershell skriptů. Systém ObjectGears obsahuje řadu funkcí pro zjišťování informací o systémech v síti (počítače, databáze, programy...) založených na existenci Powershell rozhraní daného sytému. Skripty si můžete vytvářet i sami, nechat je spouštět a získaná data popř. importovat do systému ObjectGears.
Spuštění Pikla
Program Piklo lze spustit několika způsoby podle druhu aktivace - z příkazové řádky nebo skriptem přímo z ObjectGears.
Formát spuštění:
Com.ObjectGears.Piklo.exe kod_skriptu [-type F|C] [-ident error_ident] [-config config_file] [par1 [par2 [par3 [...]]]]
kod_skriptu - název skriptu, který se má spustit (název souboru bez přípony)
type - Typ spuštění skriptu
F - Skript bude uložen na disk a jako spuštěn Powershellem jako samostatný proces.
C - Skript bude spuštěn přímo Piklem v rámci aktuálního threadu.
ident - Identifikátor pro jedno konkrétní spuštění Pikla. Identifikátor se vkládá do názvu error souboru pro lepší identifikaci chyby z daného spuštění
config - Nastavení specifického jména pro konfigurační soubor
config_file - Relativní název konfiguračního souboru vzhledem ke spouštěnému Piklo.exe
par1...parx - Parametry předávané Piklu, jejich význam a počet záleží na použitém skriptu. Parametry jsou ve skriptu dostupné pod proměnnými $ScriptPar1...$ScriptParx.
Návratové kódy
Kód |
Popis |
0 |
OK |
1 |
Chyba skriptu. Popis je v soubou error...log |
2 |
Není definován název skriptu |
3 |
Neexistuje soubor se skriptem v adresáři Scripts\__nazev_skriptu__.ps1 |
4 |
Skript se nesmi jmenovat "og" |
Spuštění z příkazové řádky
Piklo je samostatný exe program, a tak jej můžete spustit pomocí příkazové řádky, z bat souboru, Powershellu nebo jej můžete naplánovat jako job ve windows.
Pro základní spuštění stačí zadat:
Com.ObjectGears.Piklo.exe kod_skriptu
Spuštění skriptem z ObjectGears
Piklo můžete přímo spustit pomocí skriptu v ObjectGears. Spouštějte jej však pouze z jobu nebo workflow. Spuštění např. z tlačítka při HTTP požadavku (přístup přes web) nemusí být řádně provedeno. IIS může daný obslužný proces zrušit (zrecyklovat) a Piklo tak může být ukončeno předčasně.
Pro spuštění použijte tuto funkci:
int OG.Process.RunPiklo(string scriptName, string parameters);
scriptName - název spouštěného skriptu (název souboru bez přípony)
parameters - parametry spouštěného skriptu
návratová hodnota - funkce vrací návratový kód programu Piklo
Funkce RunPiklo spouští Com.ObjectGears.Piklo.exe, které je v adresáři daným konfiguračním parametrem PikloDir (ve web.config pro webový přístup nebo ObjectGearsService.exe.config pro windows službu).
Konfigurace
Piklo je možné konfigurovat na dvou úrovních.
První konfigurace je pomocí souboru og_configuration.ps1 ve stejném adresáři jako Piklo samo, ve kterém jsou obecné parametry (např: adresa na web service ObjectGears). Tento skript se používá pro všechny skripty Pikla. Pokud soubor neexistuje, pak je ignorován.
Druhou úrovní je konfigurační skript specifický pro každý jednotlivý skript. Tento soubor je ve stejném adresáři jako Piklo samo a jmenuje se kod_skriptu.config. Zde konfigurujete parametry specifické pro jeden skript. Pokud soubor neexistuje, pak je ignorován.
Pokud uvedete parametr shodného názvu v souboru og_configuration.ps1 i v souboru kod_skriptu.config, ve skriptu bude použita hodnota ze souboru kod_skriptu.config. Parametr používaný ve velké části skriptů, tak můžete definovat jen jednou na jednom místě v og_configuration.ps1. Pokud však konkrétní skript potřebuje jinou hodnotu, vždy ji pro něj můžete korigovat v souboru kod_skriptu.config.
Konfigurační soubory ukládejte v kódování UTF-8.
Jeden skript může být naplánován pro několikanásobné spuštění s různými parametry a to pomocí nastavení specifického jména konfiguračního souboru v parametru config při spuštění skriptu. Příklad:
a = OG.Process.RunPiklo('YourScriptName','-config \\yourserver\yourfolder\yourfile.config -type C');
Chybový log
Při chybě ve skriptu je tato chyba zapsána do souboru error_XXX.log, kde XXX je název spouštěného skriptu. Pokud je však Piklo spuštěno i s parametrem ident, je název vytvořen takto error_XXX_IDENT.log, kde IDENT je hodnota parametru ident.
Nastavením parametru ident tak při častém spouštění Pikla se stejným skriptem, zabráníte přepisování chybového souboru.
Uživatelské skripty
Vlastní uživatelské skripty ukládejte do adresáře Scripts umístěného ve stejné složce jako je program Pikla. Pro vaše skripty platí stejná pravidla pro konfiguraci a log jako pro skripty systému ObjectGears.
Názvy vlastní skriptů nezačínejte písmeny OG, aby nedošlo ke kolizi se skripty systému ObjectGears. Skripty ukládejte v kódování UTF-8.