Předchozí článek popisoval základy PowerShell modulu DynamicsAxCommunity, tento příspěvek je hlavně o tom jak ho používat.
Společná témata
Je zde několik věcí, s kterými byste se měli seznámit, než začnete modul používat.
Konfigurace
Funkce potřebují vědět, jakou použít konfiguraci AX. První poziční parametr očekává jméno konfigurace (tak jak ho můžete vidět v Configuration utility) a můžete ho dokonce vypustit – pak se použije aktivní konfigurace. Jinou možností je použít konfigurační soubor – buďto pomocí parametru -Path nebo z roury (pipe).
AxVersion
Všechny funkce potřebují znát verzi AX, aby našly správné klíče v registrech atd. Výchozí hodnota je nastavena na 6 (=AX2012). Pokud používáte jinou verzi, máte tři možnosti:
- Použít parametr AxVersion (alias Version), např.
Get-AXConfig -AxVersion 5
- Změnit hodnotu proměnné $AxVersionPreference (např.
$AxVersionPreference=5
) - Změnit výchozí hodnotu v kódu (ale já bych raději nastavil $AxVersionPreference v PowerShellovém profilu počítače)
Remoting
Pokud pracujete jen s klientem AX a klientskými konfiguracemi, žádný PowerShell remoting není potřeba. To platí také pokud je AOS nainstalován na stejném počítači. Pokud ale potřebujete pracovat se vzdáleným AOS (třeba jen dostat jméno databáze z konfigurace AOS), bez remotingu se neobejdete.
Nemusíte se starat o jména počítačů, jediná informace, kterou musíte poskytnout, jsou přihlašovací údaje. Relevantní funkce k tomu nabízí parametr -Credential.
Aliasy parametrů
Parametry mají jména a mohou mít také aliasy. Ale to není všechno – můžete zkrátit jméno jakéhokoli parametru na cokoli co je stále jednoznačné, takže můžete použít prostě -ax namísto -AxVersion bez jakéhokoli speciálního aliasu.
Funkce a příklady
Konfigurace AX
Funkce: Get-AXConfig, Set-AXConfig
Get-AXConfig zobrazuje konfigurace z registrů Windows a podrobnosti o instancích AX, například adresář pro logy. Tyto informace jsou využívány ostatními funkcemi a můžete je také použít ve vlastních skriptech.
Příklady:
Zobrazení všech konfigurací z registrů Windows (lokální počítač, aktuální uživatel):
Změna aktivní konfigurace (parametr -Verbose je použit jen pro získání nějakého výstupu):
Zobrazení podrobností o aktivní konfiguraci (používám zde Format-List (nebo fl) abych nedostal příliš široký výstup):
Zobrazení podrobností o pojmenované konfiguraci:
Zobrazení podrobností o konfiguraci uložené v souboru:
Můžete také předat cestu k souboru z roury (ačkoli ani tak nemůžete zpracovat více konfigurací najednou):
Potřebujete-li informace o serverových komponentách, použijte parametr -IncludeServer (alias Server):
Dynamics AX 2009 má vlastnost navíc- ApplDir:
Tyto vlastnosti můžete využít v dalším zpracování. Například následujícím příkazem dostanete všechny .aod soubory:
Spouštění AX klienta
Funkce: Start-AXClient
Stejně jako jiné funkce i Start-AXClient může být spuštěna bez parametrů (použije výchozí konfiguraci), se jménem konfigurace AX nebo s cestou k .axc. Ačkoli zjednodušuje spouštění AX z příkazové řádky, její hlavní účel je být volána z jiných funkcí.
Spouštění startovacích příkazů AX
Funkce: Compile-AXXpp, Compile-AXIL, Synchronize-AXDatabase, Synchronize-AXVCS, Update-XRef
Tyto příkazy spouští klienta AX se startup příkazem. Všimněte si parametrů ve “What if” hlášení:
Když je příkaz skutečně spuštěn (bez -WhatIf), nastartuje klient AX a funkce čeká na jeho ukončení:
Můžete také nastavit nějaký timeout:
Přílišnému počítání se můžete vyhnout zadáním hodnoty například jako (New-Timespan -Hours 4).TotalSeconds
.
Můžete také použít parametr -Confirm a být dotázani před tím, než je zpracování spuštěno:
Synchronize-AXVCS
Funkce Synchronize-AXVCSje prvním pokusem o build AX prostředí přímo ze správy verzí. Provádí to samé jako když z menu Version Control v AX zavoláte Synchronize s volbou “Force”.
Model k synchronizaci zvolíte parametrem -Model:
Update xRef indexes
Funkce: Update-AXXrefIndex
Update-AXXrefIndex znovuvytvoří indexy na všech xRef tabulkách. Bez toho může dojít k znatelné degradaci výkonu, zvláště po kompletní aktualizaci referencí.
Tato funkce volá přímo SQL Server, takže vyžaduje jiné nastavení oprávnění než ostatní funkce. Také závisí na utilitě sqlps. Na druhou stranu nevyžaduje žádnou změnu v AX.
Volá se stejným způsobem jako jiné funkce, například:
Složby AOS
Funkce: Start-AXAOS, Stop-AXAOS, Restart-AXAOS
Všechny tři funkce jsou velmi podobné a akceptují jména a cesty konfigurací stejným způsobem jako funkce výše.
Například, takto se restartuje AOS pro konfiguraci “Dev”:
Přihlašovací údaje
Je-li AOS na vzdáleném počítači, musí být zadány přihlašovací údaje pro vzdálené připojení. Pokud je neposkytnete, PowerShell si o ně řekne:
Přihlašovací údaje se zapamatují a automaticky použijí v následných příkazech. Nicméně je také můžete uložit do proměnné a tu předat do parametru -Credential:
Přeji hodně zábavy s PowerShellem!