none
Spouštění skriptů jiným procesem

    Dotaz

  • Zdravím,

    pořídil jsem UPS a snažím jí nastavit tak, aby mi po výpadku elektriky vypnula počítač. Software UPS umí spustit skript po vzniku nějaké události. Testoval jsem to spuštěním poznámkového bloku. Proces se po odpojení UPS objevil v seznamu procesů, takže jsem usoudil, že to funguje. Do skriptu jsem místo notepad.exe napsal shutdown -s -m \\127.0.0.1 -t 00 a nefunguje to. Když obsah skriptu zkopíruji do příkazového řádku počítač se vypne. Nevíte někdo kde dělám chybu? Je fakt, že i ten poznámkový blok se sice v seznamu procesů objeví, ale je někde na pozadí, nelze s ním pracovat. Díky.

    Vlastimil Škoda

    13. března 2017 13:05

Odpovědi

  • Parametr -m \\127.0.0.1 je nadbytečný ale nemyslím si že bude problém v tom.

    Pro jistotu to nahraď příkazem shutdown -s -f -t 0

    S ním to funguje?

    O jakou UPS jde a jaký SW k ní?

    Většina značkových UPS umí toto zařídít sama. Prostě stačí  říct aby vypla počítač když klesna úroveň baterie pod nějakou hodnotu. Musíš ale mít nainstalovaný SW v počítači a nastavit ho aby toto zařídil.


    JCH

    13. března 2017 15:08

Všechny reakce

  • Ten poznámkový blok nebude na pozadí, ale nejspíše ho nevidíš, protože se spouští v kontextu jiného uživatele, než který je přihlášený ke konzole.

    Co se týká skriptu pro vypnutí:

    1. V kontextu jakého uživatele je volaný? Má uživatel právo vypnout počítač?

    2. Co říká eventlog?


    BB

    13. března 2017 14:39
  • Parametr -m \\127.0.0.1 je nadbytečný ale nemyslím si že bude problém v tom.

    Pro jistotu to nahraď příkazem shutdown -s -f -t 0

    S ním to funguje?

    O jakou UPS jde a jaký SW k ní?

    Většina značkových UPS umí toto zařídít sama. Prostě stačí  říct aby vypla počítač když klesna úroveň baterie pod nějakou hodnotu. Musíš ale mít nainstalovaný SW v počítači a nastavit ho aby toto zařídil.


    JCH

    13. března 2017 15:08
  • Hlavne to byva nastaveno tak, ze UPS SW vypne pocitac a pote SE VYPNE UPS. Ta se automaticky zapne po obnoveni AC a donabiti baterii na nejakou uroven, nasledne se pak zapne pocitac (ma-li v BIOSu spravne nastavene).

    MP

    13. března 2017 15:35
    Moderátor
  • Není mi to jasný proč, ale "shutdown -s -t 0" funguje. Proč nefunguje "shutdown -s -m \\127.0.0.1 -t 00" nechápu. Další věc, která mi není jasná je, proč nejde pracovat s notepadem, když je spuštěný pod stejným účtem jako jsem já přihlášený? Ověřeno v seznamu bežících procesů. Jinak díky moc za pomoc. 

    Vlastimil Škoda

    14. března 2017 11:36
  • Možná protože se snažíš předat příkaz na jiný počítač (i když je to localhost) a nemáš k takové činnosti oprávnění (alespoň ne v kontextu spuštěného procesu).

    Takový příkaz příjde přes síťovou kartu (i když je virtuální) a k jeho provedení musíš mít elevaci. Pokud ji nemáš příkaz nic neprovede. Spouští se proces elevovaně?


    JCH

    14. března 2017 11:40
  • RPC neni LPC :)

    Navic prace s IP neni vhodna (IP:Internet, short name:intranet)

    JAK nejde pracovat s notepadem?

    MP

    14. března 2017 11:43
    Moderátor
  • To je právě divný. Když jsem skriptem spouštěl notepad, běžel pod stejným účtem jako jsem byl já přihlášený. Takže předpokládám, že shutdown se také spouští pod stejným účtem jako notepad. A pokud zadám do příkazového řádku shutdown s lacalhostem ručně, počítač se vypne.
    14. března 2017 11:48
  • A spouštíš příkazový řádek elevovaně nebo bez elevace?

    JCH

    14. března 2017 11:51
  • A do toho eventlogu jsi se díval?

    BB

    14. března 2017 11:52
  • RPC neni LPC :)

    Navic prace s IP neni vhodna (IP:Internet, short name:intranet)

    JAK nejde pracovat s notepadem?

    MP

    Když, jsem do skriptu místo shutdown napsal notepad a simuloval výpadek proudu v seznamu procesů se notepad objeví pod stejným účtem, jako jsem já přihlášený, ale okno notepadu nikde.
    14. března 2017 11:54
  • No to je celkem normalni. Proc myslis, ze by okno melo byt interaktivni?

    Zacni od Adama. SW od UPS bezi jako sluzba, nebo jako interaktivni program, nebo kombinace?

    MP

    14. března 2017 11:57
    Moderátor
  • A spouštíš příkazový řádek elevovaně nebo bez elevace?

    JCH

    Bez elevace. V eventlogu se k době testu žádný log nevstahuje.
    14. března 2017 12:00
  • No to je celkem normalni. Proc myslis, ze by okno melo byt interaktivni?

    Zacni od Adama. SW od UPS bezi jako sluzba, nebo jako interaktivni program, nebo kombinace?

    MP

    Běží jako služba.
    14. března 2017 12:01
  • Ještě jednou moc díky za užitečný info.
    14. března 2017 12:16
  • A pod jakym uzivatelem?

    Jinak interaktivita sluze je uz davno potlacena jako security risk.

    MP

    14. března 2017 12:43
    Moderátor
  • Služba UPS standardně běží pod systémovým účtem.  Domníval jsem se, že to je ten důvod, proč se neobjeví okno notepadu, tak jsem nastavil, aby služba běžela pod stejným účtem jako se přihlašuju, ale stejně to nefungovalo.
    14. března 2017 12:50
  • .., ale stejně to nefungovalo.

    CO NEFUNGOVALO ?!?!

    LOCAL SYSTEM ma samozrejme pravo shutdownu. Ze nebylo interaktivni okno notepadu? To je SPRAVNE A OCEKAVANE chovani. Takze to fungovalo.

    MP

    14. března 2017 12:54
    Moderátor
  • Upřesňuji, nefungovalo to tak jak jsem očekával, tedy interaktivní okno notepadu. Už chápu, že je to tak v pořádku. Díky za osvětu.
    14. března 2017 13:20
  • Naposledy  mohly sluzby interagovat primo s uzivatelskym desktopem v XP a W2003. Od vyssich verzi se to nesmi. Tj uz pres 10 let je to jinak.

    Popis napr. https://lisiyao.wordpress.com/2013/07/15/allow-windows-service-interact-with-desktop-in-os-xp-ver-5-and-above/

    15. března 2017 7:23