L'attività pianificata funziona su un'unità mappata quando configurata per la modalità Windows XP, ma non per Windows 7


1

Esiste un PC Windows 7 con un'attività pianificata. L'unica cosa che fa è eseguire un file VBS situato su un'unità mappata che punta a una condivisione di rete:

M:\Folder\Script.vbs

dove si M:trova l'unità mappata.

L'attività è impostata su Run whether user is logged in or note ha salvato le credenziali per l'utente che ha accesso a quella cartella.

Ora, se seleziono questo nel menu a discesa:

inserisci qui la descrizione dell'immagine

quindi l'attività funziona. Tuttavia, se seleziono che:

inserisci qui la descrizione dell'immagine

quindi fallisce con il codice 8007010B(che, come ho capito, è "Il nome della directory non è valido"). Non riesce a stabilire se qualcuno ha effettuato l'accesso e indipendentemente da ciò che ha attivato l'attività (la pianificazione o l'utente che l' Runha eseguita manualmente). Non riesce anche se eseguo l'accesso al computer come utente in base al quale l'esecuzione dell'attività dovrebbe essere eseguita Runmanualmente.

Quando eseguo l'accesso come utente con cui viene eseguita l'attività, ho accesso all'unità mappata e posso eseguire lo script con Explorer senza problemi.

Sembra che ci sia un certo spessore di compatibilità, ma quale? E cosa devo fare per farlo funzionare quando 'configurato per Windows 7', che dovrebbe essere la modalità nativa per il computer?

Vorrei lasciarlo così com'è, ma se qualcuno aggiorna erroneamente l'attività alla modalità Windows 7, non c'è modo di tornare indietro: l'opzione Windows XP viene quindi rimossa dal menu per tale attività. Per riaverlo, è necessario esportare l'attività come XML, eliminarlo e reimportare.

Risposte:


2

Quando l'attività viene eseguita, la mappa unità M: non esiste nel contesto dell'utente / sessione in cui l'attività viene eseguita.

O fai riferimento all'ubicazione della rete tramite UNC o modifica lo script dell'attività per mappare M: sul percorso prima di eseguire il resto del suo lavoro.


Questo potrebbe essere il caso, ma voglio capire esattamente perché. Perché funziona in modalità XP? Perché non funziona in modalità 7 quando ho effettuato l'accesso come utente giusto e ho già mappato l'unità (perché viene creata un'altra sessione per l'esecuzione dell'attività, ignorando la sessione esistente?)? Inoltre, preferirei non cambiare i percorsi in UNC perché lo script usa anche M: percorsi, e così anche altri script che chiama.
GSerg,

@GSerg Inoltre, prova a deselezionare "Esegui con i privilegi più alti", mi ostacola in modi strani ogni volta che provo ad usarlo.
Ƭᴇcʜιᴇ007,

1

@ Ƭᴇcʜιᴇ007 è corretto. L'esecuzione dello script tramite " Esegui se l'utente è connesso o meno " utilizza una sessione di sistema e non può vedere le unità della sessione utente fisica.

Un'altra soluzione è quella di creare un'altra attività che utilizza lo stesso account utente e utilizza la stessa selezione " Esegui se l'utente è connesso o meno ". Questa attività verrebbe utilizzata esclusivamente per mappare le unità desiderate su cui si basano le altre attività pianificate. Le unità rimarranno mappate nella sessione di sistema e consentiranno alle altre attività di vedere le stesse unità mappate. Attivo questa attività che esegue un file batch per mappare le unità per l'utente del sistema ogni 5 minuti.

Mappatura Powershell di esempio

if (-not (test-path E:)) {Log -Letter "E:"; Net Use E: \\server\share 'password' /user:user /persistent:yes /y}

Mappatura batch / Powershell semplice

Net Use E: \\server\share 'password' /user:user /persistent:yes /y


0

Secondo questo thread, è necessario aggiungere lo stesso percorso nella casella "Avvia in". Aggiungi M:\Folder\all'inizio nella casella e dovrebbe funzionare bene.


Ho provato M:\Folder, M:\Folder\ , "M:\Folder"e "M:\Folder\". Non funziona. Funziona in modalità Windows XP, dove contiene M:\Foldersenza virgolette o barra finale, ma non sembra influire sulla modalità Windows 7.
GSerg

Strano. tutta la ricerca che ho fatto afferma che l'inizio nella casella è la chiave ... senza le doppie virgolette.
Nathan C
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.