Principale utente con più risposte
Utenti, Backup e un gran casino in testa

Domanda
-
Buongiorno,
Ho un problema che non so come affrontare quindi chiedo cortesemente il vostro consiglio almeno per poter iniziare a far luce.
Ho un pc a cui, generalmente, si accede con un utente di dominio che non ha credenziali amministrative, il cui unico scopo è quello di eseguire un programma di magazzino e inventario e, salvo necessità o imprevisti, rimane sempre acceso e sempre loggato con questo utente.
Questo programma deve eseguire dei backup periodici e qui sorge il problema che ora tento di spiegarvi nei dettagli.
Il pc è sotto dominio ma il backup deve essere effettuato su un NAS, l'utente in questione può vedere le cartelle presenti sul NAS ma non accedervi; inoltre per effettuare il backup si vorrebbe utilizzare un utente non di dominio e a complicare ulteriormente il tutto è il modo con cui si vorrebbe effettuarlo.
La modalità con cui eseguire il backup è tramite un file bat poiché dispongo di un modello di default fornitomi con il programma, così facendo però avrei un testo con scritto, nero su bianco, le credenziali di accesso alla cartella di backup che non voglio assolutamente far conoscere agli utenti.
Riassumo:
- Pc aggregato al dominio
- Accesso con utente di dominio senza credenziali administrator
- NAS visibile ma non consultabile dal pc tramite l'utente sopra descritto
- Necessità di effettuare il backup sul NAS, senza cambiare utente nel pc
- La cartella del NAS richiede le credenziali di un utente non di dominio per poter scrivere
- Non bisogna far conoscere all'utente le credenziali per la scrittura sul NAS
- Backup periodico(schedulazione di un file bat?)
Ringrazio
A
Risposte
-
Ecco
:: se la data usa / come separatore set bkname=Backup%date:/=%.Bak echo ... 'C:\***\Backups\%bkname%' WITH NOINIT ...
e questo sarà l'output
c:\>... 'C:\***\Backups\Backup25032014.Bak' WITH NOINIT ...
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere- Contrassegnato come risposta Albiz giovedì 27 marzo 2014 09:56
Tutte le risposte
-
Il nas fa parte del dominio? Per non incorrere a problemi ingestibili, tutti gli apparati devono far parte del dominio, incluso il Nas. Al server dai il compito di eseguire il backup, essendo un dominio diamo un senso alla struttura server client, quindi il .bat viene eseguito dal server, macchina che non e'"visibile" agli utenti di rete. Ciao
-
Non dovrebbero esserci grossi problemi a far funzionare il backup come vuoi tu:
- crea un utente di dominio es. BackupUsr con diritti di amministrazione sul pc
- cambia i permessi al tuo .bat in modo che sia leggibile solo da BackupUsr, system e le altre utenze amministrative, questa operazione renderà il bat e credenziali di scrittura inaccessibili all'utente pc.
- pianifica il batch utilizzando l'utente BackuUsr , vedi qui le istruzioni
Ciao
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere- Proposto come risposta GastoneCanali giovedì 27 febbraio 2014 20:57
-
Buongiorno,
@Win3000: il NAS fa parte del dominio ma ha solo un utente non di dominio che va a scrivere e in merito a questi utenti non posso intervenire al momento; tuttavia se riesci a spiegare nel dettaglio come posso operare sarei ben lieto di apprendere.
@Gastone: ma se al posto di un nuovo utente uso l'amministratore di dominio posso farlo? ci sono controidicazioni per caso?
Grazie!
-
Non hai il controllo sull'impianto ("..questi utenti non posso intervenire al momento"). Se il NAS è configurato correttamente al dominio, non hai bisogno dell'utente locale del NAS, sposta il .bat sul server. Modifica i percorsi del .Bat e dal server esegui il file (.bat). Ciao
-
@Gastone: ma se al posto di un nuovo utente uso l'amministratore di dominio posso farlo? ci sono controidicazioni per caso?
Non è il massimo. Primo perchè non è neccessario usare utenti amministratori del dominio, se configuri male le permission e qualcuno riesce a leggere il .bat il dominio non sarà più il tuo! Secondo, quando cambierai la password di amministratore dovrai ricordarti di cambiare la password anche nel task schedulato...
BackupUsr: solo amministratore del pc e senza scadenza password, è ciò che basta!
ciao
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere- Modificato GastoneCanali giovedì 27 febbraio 2014 20:44
-
Non hai il controllo sull'impianto ("..questi utenti non posso intervenire al momento"). Se il NAS è configurato correttamente al dominio, non hai bisogno dell'utente locale del NAS, sposta il .bat sul server. Modifica i percorsi del .Bat e dal server esegui il file (.bat). Ciao
Se il NAS è nel domino a quel punto modifichi le permission della share opportunamente e anche l'utente potrà scrivere il backup...
Se sposti il .bat sul server, dovrai comunque pianificarlo con un utente, ti sconsiglio ancora di usare Adminisrator, opta per un utente dedicato ai task painificati su server.
Ciao
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere -
Se il NAS è nel domino a quel punto modifichi le permission della share opportunamente e anche l'utente potrà scrivere il backup...
Se sposti il .bat sul server, dovrai comunque pianificarlo con un utente, ti sconsiglio ancora di usare Adminisrator, opta per un utente dedicato ai task painificati su server.
Se l'esigenze del topic restano confermate, all'utente del client non dare alcun permesso di scrittura nell'attivita' di Backup. Utilizza un altro utente per tale attivita', cosi risolvi anche "...Non bisogna far conoscere all'utente le credenziali per la scrittura sul NAS". Ciao -
Buongiorno,
vi illustro quello che ho capito (scusate ma, nel caso non si fosse capito, sono principiante):
- Ho questo file bat da modificare:
@echo off rem enter new path c:\temp before first backup! rem delete old backup: cd\ cd temp del Backup.bak cd\ rem enter PC-Name behind -S.... before start of first backup: rem Start backup to path c:\temp: osql -Slocalhost\sqlexpress -U*** -P*** -d*** -Q"BACKUP DATABASE [***] TO DISK = N'C:\TEMP\BACKUP.BAK' WITH NOINIT , NOUNLOAD , NAME = N'***', NOSKIP , STATS = 10, NOFORMAT " rem enter copy path for additional copy if necessary! rem start copy: cd\ cd temp copy backup.bak C:\***\Backups\Backup.bak /y copy backup.bak F:\***\Backup.bak /y rem copy backup.bak "Server:\Path\Backup.bak" /y exit
File che, secondo il fornitore, deve rimanere nel PC, in cui andrebbe modificata solo l'ultima riga con la posizione della cartella del NAS.
- Devo creare un utente di dominio con credenziali amministrative che possa scrivere sia sul pc che sulla cartella designata sul NAS
- Eseguire quanto detto da gastone: "cambia i permessi al tuo .bat in modo che sia leggibile solo da BackupUsr, system e le altre utenze amministrative, questa operazione renderà il bat e credenziali di scrittura inaccessibili all'utente pc".
- Devo schedulare, secondo il fornitore da PC non da server, l'esecuzione del file opportunamente modificato, senza uscire dal client non admin (Brevemente NA), utilizzando però il nuovo utente di dominio
A questo punto mi sorge la seguente domanda:
Se faccio una cosa come questa:
L'utente NA può continuare a lavorare mentre la schedulazione è in corso?
Senza offesa ma preferirei mantenere il file bat nel pc, così come suggerito dal fornitore, non vorrei creare problemi.
Vi ringrazio per l'aiuto!
A
-
Spero che l'utente per il backup non si chiami realmente Utente BKUP ma UtenteBKUP, a parte questo devi settare come esegui indipendentemente e con privlegi piu elevati. Dato che si tratta di sql server l'utente potrà lavorare durante il backup, naturalmente sarà tutto rallentato per l'intera durata e se il pc è molto scarso potrebbe essere difficile lavorare, qui devi valutare tu cosa succede, quanto si rallenta e quanto dura il task.
@echo off rem enter new path c:\temp before first backup! rem delete old backup: cd\ cd temp del Backup.bak cd\ rem enter PC-Name behind -S.... before start of first backup: rem Start backup to path c:\temp: osql -Slocalhost\sqlexpress -U*** -P*** -d*** -Q"BACKUP DATABASE [***] TO DISK = N'C:\TEMP\BACKUP.BAK' WITH NOINIT , NOUNLOAD , NAME = N'***', NOSKIP , STATS = 10, NOFORMAT " rem enter copy path for additional copy if necessary! rem start copy: cd\ cd temp copy backup.bak C:\***\Backups\Backup.bak /y :: se la nas è integrata in active directory
:: e il task pianificato con un utente con i permessi giusti sulla Nas
:: basterà il seguente comando :: NET USE F: \\NAS\tuaSHARE :: non sarà necessario mettere usr e pwd
:: :: La riga seguente è per una NAS non integrata in AD NET USE F: \\NAS\tuaSHARE /user:utenteNAS passwordUtenteNAS copy backup.bak F:\***\Backup.bak /y rem copy backup.bak "Server:\Path\Backup.bak" /y exitAn La prima parte cd \ cd temp è inutile dato che il bk viene salvato in c:\temp
non capisco perchè fai il bk in c:\temp poi lo copi in C:\***\Backups tanto vale farlo direttamente in dove deve finire... Sotto ho modificato il bat togliendo i passaggi inutili, gli manca solo un po' di logging(ora di partenza, ore di fine... etc) e di controllo degli errori (bk non riuscito, mancato collegamento alla nas...)
@echo off rem delete old backup: if exist "C:\***\Backups\BACKUP.BAK" DEL "C:\***\Backups\BACKUP.BAK" :: sql bk osql -Slocalhost\sqlexpress -U*** -P*** -d*** -Q"BACKUP DATABASE [***] TO DISK = N'C:\***\Backups\BACKUP.BAK' WITH NOINIT , NOUNLOAD , NAME = N'***', NOSKIP , STATS = 10, NOFORMAT " :: se la nas è integrata in active directory :: NET USE F: \\NAS\tuaSHARE :: non sarà necessario mettere usr e pwd :: oppure potrai evitare il net use f: e semplicemente usare questo comando :: copy "C:\***\Backups\BACKUP.BAK" "\\NAS\tuaSHARE\***\" /Y :: La riga seguente è necessaria per una NAS non integrata in AD NET USE F: \\NAS\tuaSHARE /user:utenteNAS passwordUtenteNAS copy "C:\***\Backups\BACKUP.BAK" "F:\***\Backup.bak" /y
Dato che ti stai cimentando in powershell, continua trasformando questo bat in uno script PS, almeno troverai più supporto online...
ciao
PS: se il fornitore mi contatta, posso dargli qualche consiglio su come migliorare il bat e smetterla di fornire ai suoi clienti del codice obbrobrioso...
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere
- Modificato GastoneCanali venerdì 28 febbraio 2014 10:46
- Proposto come risposta GastoneCanali martedì 25 marzo 2014 16:30
-
Nessuna offesa, e' corretto seguire le loro indicazioni, se non hai un referente IT interno, sono loro che vi forniscono assistenza e hanno conoscenza delle configurazioni. Fai questa prova (non schedulata): - non toccare o modificare .bat, condividi la cartella del .bat(mettilo in un'apposita cartella). - aggiungi un utente dedicato per il backup con permessi di scrittura e accesso esclusivo alla cartella condivisa. - dal server esegui tramite path di rete il .bat Per la schedulazione apri un altro thread che resta utile anche ad altri. Durante il backup solitamente non si consiglia di effettuare attivita' sullo specifico programma in fase di bck: comunque dipende dall'applicativo. Se esegui il .bat dal server non dovrebbe apparire niente sullo schermo del client, questo e' il motivo per cui ti volevo far sportare il file anche sul server. Prova, non e' invasivo come test, se ti soddisfa procedi con la schedulazione. Ciao
-
Se la cosa corretta è seguire le indicazioni del fornitore, inutile scrivere qui e dare risposte!
Fai questa prova (non schedulata): - non toccare o modificare .bat, condividi la cartella del .bat(mettilo in un'apposita cartella). - aggiungi un utente dedicato per il backup con permessi di scrittura e accesso esclusivo alla cartella condivisa. - dal server esegui tramite path di rete il .bat
...
...
Se esegui il .bat dal server non dovrebbe apparire niente sullo schermo del client, questo e' il motivo per cui ti volevo far sportare il file anche sul server. Prova, non e' invasivo come test, se ti soddisfa procedi con la schedulazione.NON FUNZIONERA' MAI.... non vedrai apparire nulla sul client, ma non avrai il backup!!
osql -Slocalhost\sqlexpress -U*........
Ci sono almeno DUE problemi, sul server ci deve essere sql server Client (per avere osql) e il bat VA MODIFICATO (osql -Spcremoto\sqlexpress), risolti i 2 problemi, potrebbero seguire noie di configurazione della connessione al DB sull porta 1443 o named pipe ...
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere
- Modificato GastoneCanali venerdì 28 febbraio 2014 17:56
-
@GastoneCanali, vedo che conosci bene la configurazione dell'utente, sai che non c'è SQL sul server e sicuramente altro ... A questo punto, invece di riempire il post di polemiche "inutili" cerca di dare dell'indicazioni precise e non sommarie, compila il. Bat correttamente ed elenca i passaggi esatti da eseguire. Il consiglio che è stato dato non altera niente, non fa perdere alcun tempo, eseguire un file .bat e' un secondo, meno tempo rispetto a quello che hai scritto. Non sentenziare le indicazioni di altri, su ogni uno di noi ci sarebbe da ridere ... e scrivi i nomi corretti "..SQL server client", i sw hanno un nome preciso! Ti consiglio la lettura del thread "qualità' del forum".
-
osql -SLOCALHOST\sqlexpress -U*** -P*** -d*** -Q"BACKUP DATABASE [***] TO DISK = N'C:\***\Backups\BACKUP.BAK' WITH NOINIT , NOUNLOAD , NAME = N'***', NOSKIP , STATS = 10, NOFORMAT "
@Win3000: non puoi prendertela se il batch, senza opportune mondifiche, non potrà funzionare se eseguito sul server... così come è fatto funziona solo se eseguito sul client (-Slocalhost).
Io per le mie risposte mi sono basato sulle uniche cose certe che abbiamo avuto da Alberto:
- una NAS
- un pc aggregato al dominio con una qualche versione di Microsoft SQL Server (express ver.??)
- Il pc ha un sitema operativo >= vista (probabilmente windows 7)
- un programma sul pc che utilizza SQL...
- uno user del PC locale che non scrive sulla nas
- Un generico dominio
- Un server DC
Aspettiamo che risponda Albiz, per capire come aiutarlo al meglio.
Non replicherò più ai tuoi post, si qualificano da soli.
Ciao Gastone
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere
- Modificato GastoneCanali venerdì 28 febbraio 2014 21:30
-
@Gastone, bene, hai modificato il post. Non cancellarlo tutto ....
Comunque, non c'è l'ho con lo script, ma con il tono che hai usato.Ti contraddici spesso, è richiami all'ordine gli altri :
- Scrivi "mi sono basato sulle uniche cose certe..." e poi "...qualche versione di Microsoft SQL Server"... "...probabilmente windows 7" ---->cosa c'entra? etc etc
- Scrivi che "... sul server ci deve essere sql server ..." aggiungi "potrebbero seguire noie di configurazione della connessione al DB sull porta 1443 o named pipe ... ",
annunci falsi problemi senza conoscere i settaggi del fw e le configurazioni, all'ultimo riduci il tutto ad uno solo ed evidenziando il localhost, se continui i tuoi interventi si azzerano ...
Te parli di cose utili e gli altri No?
Adesso, ho apprezzato l'eliminazione delle tue espressioni che hai usato nel post, sperando che l'intento è quello di aver compreso il senso del forum.
Chiudo questa parentesi per ritornare alle funzioni costruttive del forum. -
Buongiorno!
Innanzitutto vi fornisco un po' di info sul pc in questione:
- Windows 7 Pro x64
- Aumentata la RAM a 4GB
- HD da 160GB
- SQL express 2008
In secondo luogo, senza offesa, comprendo la logica del file bat ma preferisco modificare solo la parte indicatami dal fornitore se proprio non strettamente necessario.
Farò dei test.
Nel frattempo vi ringrazio!!!
A
-
Buongiorno!
Dopo lungo tempo vi illustro quello che ho fatto:
- Ho creato un utente NON di dominio (causa problemi) ma un account locale del pc.
- Ho modificato il bat.
- Sto tentando di schedularlo
Non è molto ma sono stato impegnato per un po'
Grazie!
Buona giornata
A
-
-
Ecco
:: se la data usa / come separatore set bkname=Backup%date:/=%.Bak echo ... 'C:\***\Backups\%bkname%' WITH NOINIT ...
e questo sarà l'output
c:\>... 'C:\***\Backups\Backup25032014.Bak' WITH NOINIT ...
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere- Contrassegnato come risposta Albiz giovedì 27 marzo 2014 09:56
-