Utilità di pianificazione di Windows con utente regolare


0

Ho uno script PowerShell sulla mia condivisione di rete (\ server \ dir \ my.ps1).

  • se lo eseguo dal prompt dei comandi (powershell -file "\ server \ dir \ my.ps1") funzionerà come previsto.

  • se creo un'attività di base nello scheduler con "Esegui solo quando l'utente ha effettuato l'accesso" funziona come previsto.

  • se si seleziona "Esegui se l'utente è connesso o meno", lo script non verrà eseguito

  • nella scheda azione: Progam / Script - & gt; powershell; Argomenti: -file "\ server \ dir \ my.ps1"

  • nella cronologia delle attività vedo l'attività eseguita bene ... ma lo script non fa nulla ...
  • l'utente è un utente normale

  • Se cambio l'utente in amministratore, tutto funziona come previsto ....

È possibile eseguire un'attività pianificata con un utente regolare con "Esegui se l'utente è connesso o meno"?

#

Quindi ho fatto qualche test:

Nel file PS ho messo questo script:

Test-Connection -ComputerName SBS | file esterno "c: \ script \ test.txt"   $ olSession = (New-Object -ComObject Outlook.Application) .Session   $ olSession.Logon ('Outlook') $ contactsFolder = 10 $ elemek =   $ OlSession.GetDefaultFolder ($ contactsFolder) .Items   @ ($ elemek) | PerOggetto-Oggetto {$ _. Elimina ()}

  • La prima riga viene eseguita come previsto (con utente connesso o meno)
  • Il resto della linea non è stato eseguito
  • Se incollo queste righe su cmd di quanto tutto funzioni come previsto
  • Se cambio le impostazioni su "Esegui solo se l'utente ha effettuato l'accesso" di ogni riga eseguita come previsto
  • Se concedo i diritti di amministratore all'utente, tutto viene eseguito come previsto anche se disconnesso ...

Quindi qualcosa con le mie linee di sessione di outlook ... non capisco ...


L'utente ha i diritti "Accedi come lavoro batch"?
DarkMoon

Sì. Nella politica del dominio ho concesso il diritto per l'utente. (prima di apportare queste impostazioni, non posso salvare l'attività9
holian

Prova a specificare il percorso completo dell'eseguibile "c: \ windows \ system32 \ windowspowershel \ 1.0 \ powershell.exe", anziché solo "powershell". Potresti non avere un ambiente completo quando esegui un'attività mentre sei disconnesso, nel qual caso la variabile PATH non sarà in grado di aiutare a trovare PowerShell.
DarkMoon

No ... ho modificato il mio post con un breve test ... per favore, se tu potessi dare un'occhiata a .... thx
holian

Oh, ho la sensazione che non ci sia desktop da lanciare, la sessione non viene creata. Prova qualcosa come se ($ olSession) {& lt; fai lo script normalmente & gt; } else {"Variabile non inizializzata" | File esterno "c: \ script \ VarNotInit.txt"}
DarkMoon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.