Discussione:
batch XCOPY attraverso la rete: necessarie le credenziali?
(troppo vecchio per rispondere)
Andrea Guidotti
2005-05-16 10:50:27 UTC
Permalink
Salve a tutti,
vi illustro brevemente il problema nella speranza che qualcuno di voi abbia
avuto a che fare con una questione simile.
La querelle è questa: ho la necessita di copiare una cartella con relativi
files e sottocartelle da un client w2k ad un server anch'esso w2k.
Entrambe le macchine sono membri di un dominio, e sulla cartella di
destinazione vi sono dei permessi esclusivi per l'utente proprietario dei
files da copiare.

Il problema è banale: schedulando lo script per partire automaticamente ad
un'ora stabilita, il tutto non funziona, perchè lo script com'è ovvio che
sia parte con credenziali SYSTEM, e come arriva sul percorso di rete di
destinazione viene gentilmente invitato ad andarsene...:)

D'altronde non posso schedulare il job per partire con le credenziali di
dominio dell'utente,visto che lo costringerei a doversi ricordare di
aggiornare le credenziali del job ogni volta che la pwd di dominio viene
cambiata.

Siete a conoscenza di qualche walktrough o pratica per aggirare questo
limite?
Saluti a tutti

Andrea Guidotti
Michele Betelli
2005-05-16 11:40:57 UTC
Permalink
Post by Andrea Guidotti
Salve a tutti,
ciao
Post by Andrea Guidotti
vi illustro brevemente il problema nella speranza che qualcuno di voi
abbia avuto a che fare con una questione simile.
La querelle è questa: ho la necessita di copiare una cartella con
relativi files e sottocartelle da un client w2k ad un server
anch'esso w2k. Entrambe le macchine sono membri di un dominio, e
sulla cartella di destinazione vi sono dei permessi esclusivi per
l'utente proprietario dei files da copiare.
Il problema è banale: schedulando lo script per partire
automaticamente ad un'ora stabilita, il tutto non funziona, perchè lo
script com'è ovvio che sia parte con credenziali SYSTEM, e come
arriva sul percorso di rete di destinazione viene gentilmente
invitato ad andarsene...:)
D'altronde non posso schedulare il job per partire con le credenziali
di dominio dell'utente,visto che lo costringerei a doversi ricordare
di aggiornare le credenziali del job ogni volta che la pwd di dominio
viene cambiata.
Siete a conoscenza di qualche walktrough o pratica per aggirare questo
limite?
scusa, ma non mappi una unita di rete?
usa net use con le credenziali apposite
Post by Andrea Guidotti
Saluti a tutti
Andrea Guidotti
ciao
Mitch
Andrea Guidotti
2005-05-16 13:21:54 UTC
Permalink
Ciao Michele,
purtroppo sia utilizzando l'unc tipo \\nome-server\nome-share sia
utilizzando un'unità mappata non cambia nulla, perchè il batch viene
lanciato con credenziali SYSTEM locale del pc, ragione per cui il file
server di destinazione non riconosce l'identita di chi sta tentando la
connessione..
Ovviamente lanciando il batch manualmente tutto funziona alla perfezione...
Idee?
Post by Michele Betelli
Post by Andrea Guidotti
Salve a tutti,
ciao
scusa, ma non mappi una unita di rete?
usa net use con le credenziali apposite
Michele Betelli
2005-05-16 14:01:09 UTC
Permalink
Post by Andrea Guidotti
Ciao Michele,
ciao
Post by Andrea Guidotti
purtroppo sia utilizzando l'unc tipo \\nome-server\nome-share sia
utilizzando un'unità mappata non cambia nulla, perchè il batch viene
lanciato con credenziali SYSTEM locale del pc, ragione per cui il file
server di destinazione non riconosce l'identita di chi sta tentando la
connessione..
non sono d'accordo
se fai partire il job con un semplice utente,
ma se nel net use inserisci delle credenziali di scrittura su quella share
la copia deve avvenire
anche se questo non è il metodo migliore

come hai fatto a creare questo job e settare l'utente che lo avvia
Post by Andrea Guidotti
Ovviamente lanciando il batch manualmente tutto funziona alla
perfezione... Idee?
l'idea è quella di creare un utenza apposita (quindi limitata a questo scopo
e senza scadenza pwd)
questa utenza la usi per lanciare il job
nel comando net use *non* inserire l'utenza , prenderà le credenziali di chi
ha lanciato il job
o altrimenti non usarlo neanche il net use in questo caso

ciao
Mitch
Andrea Guidotti
2005-05-16 14:52:17 UTC
Permalink
Post by Michele Betelli
non sono d'accordo
se fai partire il job con un semplice utente,
ma se nel net use inserisci delle credenziali di scrittura su quella share
la copia deve avvenire
anche se questo non è il metodo migliore
Forse non mi sono spiegato...
Nella mia situazione vorrei evitare di usare qualsiasi tipo di credenziale.
Essendo in un dominio, la pwd sottosta' ad una scadenza che rende il job
poco "automatico"...ovvero: ogni mese l'utente (o il sysadm/factotum) si
deve ricordare di cambiare le credenziali nello script, questo che si usi o
meno il net use all'inizio dello script.
Mi spiego meglio, buttando giù due righe di script:

--------------------------------
inizio script 'bkp.bat'
--------------------------------
NET USE Z: \\nomeserver\nome share /USER:dominio\nomeutente password
XCOPY C:\cartella_da_copiare Z:\ /E /Y
NET USE DELETE Z:
--------------------------------

Se utilizzo un utente locale (non di dominio) impostando pwd senza
scadenza, dovrei crearne uno speculare sul server di destinazione, e la cosa
non mi piace, ne in termini di sicurezza, ne soprattutto in termini di
gestibilità: se per ogni situazione del genere operassi in questa maniera,
mi troverei a dover gestire svariati utenti locali al server, tutti
speculari ma tutti gestibili solo dal server in questione..Esempio pratico?
Qualcuno scopre la pwd, io la devo cambiare...Operazione da ripetere sugli N
server per gli N account creati in questo modo...Una pazzia! :/
Post by Michele Betelli
come hai fatto a creare questo job e settare l'utente che lo avvia
Per creare il job ho utilizzato WINAT, e NON ho settato alcun utente.
Perchè uso winat? Perchè Scheduled Task non lavora bene (e.g. non parte
proprio) se l'utente non è loggato (ovvero la macchina è nello stato
CTRL-ALT-CANC)
Post by Michele Betelli
Post by Andrea Guidotti
Ovviamente lanciando il batch manualmente tutto funziona alla
perfezione... Idee?
l'idea è quella di creare un utenza apposita (quindi limitata a questo scopo
e senza scadenza pwd)
questa utenza la usi per lanciare il job
vedi sopra
Post by Michele Betelli
nel comando net use *non* inserire l'utenza , prenderà le credenziali di chi
ha lanciato il job
Questo è vero se il job viene lanciato manualmente, ma NON è vero se il job
è stato schedulato per partire ad una determinata ora,
sia l'utente in questione loggato o meno. Provare x credere...
Post by Michele Betelli
o altrimenti non usarlo neanche il net use in questo caso
E ritorniamo al principio...
Ho anche provato ad utilizzare WMI con l'impersonate, ma nulla da fare...

Idee? ;)
Post by Michele Betelli
ciao
Mitch
Ciaoo
Andrea
Michele Betelli
2005-05-16 15:10:10 UTC
Permalink
Post by Andrea Guidotti
Post by Michele Betelli
non sono d'accordo
se fai partire il job con un semplice utente,
ma se nel net use inserisci delle credenziali di scrittura su quella
share la copia deve avvenire
anche se questo non è il metodo migliore
Forse non mi sono spiegato...
Nella mia situazione vorrei evitare di usare qualsiasi tipo di
credenziale.
Essendo in un dominio, la pwd sottosta' ad una scadenza
dipende, puoi benissimo configurare l'utente in modo che la sua password non
scada (come consigliato prima)
Post by Andrea Guidotti
che rende il job poco "automatico"...ovvero: ogni mese l'utente (o il
sysadm/factotum) si deve ricordare di cambiare le credenziali nello
script, questo che si usi o meno il net use all'inizio dello script.
non se ne parla neanche :-)
[cut]
Post by Andrea Guidotti
Se utilizzo un utente locale (non di dominio) impostando pwd senza
scadenza, dovrei crearne uno speculare sul server di destinazione, e
la cosa non mi piace, ne in termini di sicurezza, ne soprattutto in
termini di gestibilità: se per ogni situazione del genere operassi in
questa maniera, mi troverei a dover gestire svariati utenti locali al
server, tutti speculari ma tutti gestibili solo dal server in
questione..Esempio pratico?
non capisco perchè devi usare utenti locali
Post by Andrea Guidotti
Qualcuno scopre la pwd, io la devo
cambiare...Operazione da ripetere sugli N server per gli N account
creati in questo modo...Una pazzia! :/
se dovesse succedere, esistono gli script
Post by Andrea Guidotti
Post by Michele Betelli
come hai fatto a creare questo job e settare l'utente che lo avvia
Per creare il job ho utilizzato WINAT, e NON ho settato alcun utente.
Perchè uso winat? Perchè Scheduled Task non lavora bene (e.g. non
parte proprio) se l'utente non è loggato (ovvero la macchina è nello
stato CTRL-ALT-CANC)
non sono d'accordo neanche su questo
lo scheduled task funziona,devi solamente configurarlo correttamente
hai controllato che il servizio sia in esecuzione?
hai controllato di non avere flaggato "esegui solo se loggato"?
hai controllato i log per vedere cosa c'è che non va?
Post by Andrea Guidotti
Post by Michele Betelli
Post by Andrea Guidotti
Ovviamente lanciando il batch manualmente tutto funziona alla
perfezione... Idee?
l'idea è quella di creare un utenza apposita (quindi limitata a
questo
scopo
Post by Michele Betelli
e senza scadenza pwd)
questa utenza la usi per lanciare il job
vedi sopra
vedi sopra :-)
Post by Andrea Guidotti
Post by Michele Betelli
nel comando net use *non* inserire l'utenza , prenderà le
credenziali di
chi
Post by Michele Betelli
ha lanciato il job
Questo è vero se il job viene lanciato manualmente, ma NON è vero se
il job è stato schedulato per partire ad una determinata ora,
sia l'utente in questione loggato o meno. Provare x credere...
usa lo scheduled tasks e configuralo come ti ho detto e vedrai che funziona
Post by Andrea Guidotti
Post by Michele Betelli
o altrimenti non usarlo neanche il net use in questo caso
E ritorniamo al principio...
Ho anche provato ad utilizzare WMI con l'impersonate, ma nulla da fare...
lascia perdere, avresti la pwd in chiaro
Post by Andrea Guidotti
Idee? ;)
sempre quella
Post by Andrea Guidotti
Ciaoo
Andrea
ciao
Mitch
ALESSANDRO Baraldi
2005-05-19 17:30:27 UTC
Permalink
Post by Andrea Guidotti
Post by Michele Betelli
non sono d'accordo
se fai partire il job con un semplice utente,
ma se nel net use inserisci delle credenziali di scrittura su quella share
la copia deve avvenire
anche se questo non è il metodo migliore
Forse non mi sono spiegato...
Nella mia situazione vorrei evitare di usare qualsiasi tipo di
credenziale.
Post by Andrea Guidotti
Essendo in un dominio, la pwd sottosta' ad una scadenza che rende il job
poco "automatico"...ovvero: ogni mese l'utente (o il sysadm/factotum) si
deve ricordare di cambiare le credenziali nello script, questo che si usi o
meno il net use all'inizio dello script.
--------------------------------
inizio script 'bkp.bat'
--------------------------------
NET USE Z: \\nomeserver\nome share /USER:dominio\nomeutente password
XCOPY C:\cartella_da_copiare Z:\ /E /Y
--------------------------------
Se utilizzo un utente locale (non di dominio) impostando pwd senza
scadenza, dovrei crearne uno speculare sul server di destinazione, e la cosa
non mi piace, ne in termini di sicurezza, ne soprattutto in termini di
gestibilità: se per ogni situazione del genere operassi in questa maniera,
mi troverei a dover gestire svariati utenti locali al server, tutti
speculari ma tutti gestibili solo dal server in questione..Esempio pratico?
Qualcuno scopre la pwd, io la devo cambiare...Operazione da ripetere sugli N
server per gli N account creati in questo modo...Una pazzia! :/
Post by Michele Betelli
come hai fatto a creare questo job e settare l'utente che lo avvia
Per creare il job ho utilizzato WINAT, e NON ho settato alcun utente.
Perchè uso winat? Perchè Scheduled Task non lavora bene (e.g. non parte
proprio) se l'utente non è loggato (ovvero la macchina è nello stato
CTRL-ALT-CANC)
Post by Michele Betelli
Post by Andrea Guidotti
Ovviamente lanciando il batch manualmente tutto funziona alla
perfezione... Idee?
l'idea è quella di creare un utenza apposita (quindi limitata a questo
scopo
Post by Michele Betelli
e senza scadenza pwd)
questa utenza la usi per lanciare il job
vedi sopra
Post by Michele Betelli
nel comando net use *non* inserire l'utenza , prenderà le credenziali di
chi
Post by Michele Betelli
ha lanciato il job
Questo è vero se il job viene lanciato manualmente, ma NON è vero se il job
è stato schedulato per partire ad una determinata ora,
sia l'utente in questione loggato o meno. Provare x credere...
Post by Michele Betelli
o altrimenti non usarlo neanche il net use in questo caso
E ritorniamo al principio...
Ho anche provato ad utilizzare WMI con l'impersonate, ma nulla da fare...
Idee? ;)
Post by Michele Betelli
ciao
Mitch
Ciaoo
Andrea
Se non sbaglio non è d'obbligo passare la PWD per mappare la risorsa di rete
con un'altro utente.
Via WMI non ne sono certo che la PWD sia opzionale, ma se usi
WNetAddConnection2(API)
il parametro PWD lo passi come NullString non dovresti avere problemi in
quanto
basta passare "Dominio\Utente" come USer.

In ogni caso puoi provare a mappare la risorsa con WMI MapNetworkDrive
passando i parametri corretti.

Forse non è il tuo caso, ma visto che ci sono incappato anch'io volevo
evidenziare
che non funziona con il Sistema Operativo WinNT.

Saluti
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
AlessandroD
2005-05-16 15:09:56 UTC
Permalink
Post by Andrea Guidotti
[...]
D'altronde non posso schedulare il job per partire con le credenziali di
dominio dell'utente,visto che lo costringerei a doversi ricordare di
aggiornare le credenziali del job ogni volta che la pwd di dominio viene
cambiata.
Se la cosa è davvero importante, puoi metterti daccordo con il sistemista
perché ti attivi un account di dominio ad hoc in modo da usare questo
account per far partire il job.
Essendo un account legato ad attività di sistema, le cui caratteristiche
sono conservate gelosamente dal sistemista, il rinnovamento delle password
non ti serve...
Oppure puoi fare il pecorso inverso: scheduli il job sul server, in più così
ne hai anche centralizzato la sua manuntezione.
Ciao, Alessandro
Loading...