Domanda

Voglio automatizzare molte delle mie attività quotidiane tramite PowerShell. Un processo che abbiamo è di imaging desktop dopo ore. Una volta che questa operazione è stata completata, i file di immagine devono essere spostati fuori i dischi rigidi dei server su un'unità di rete. Sto scrivendo un app per l'esecuzione come un servizio sulla mia macchina che chiamerà lo script PowerShell e battere tutto fuori, mi avvisa solo quando si verifica un problema.

Ho creato una directory sul server per gli script. Funziona bene se chiamo il mio script, FileCopy.ps1, dal server:

copy-item C:\scripts\myFile1.txt -destination C:\scripts\myFile2.txt

Tuttavia, a mio Net app, che io chiamo lo script da mia macchina locale:

RunScript(LoadScript(@"\\Server\ServerShare\FileCopy.ps1")); 

non funziona. Ecco perché vede C: \ scripts come essere sulla macchina locale. Così, lo cambio:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt

non funziona. Aggiungo un'altra linea allo script:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
get-childitem \\Server\ServerShare | format-table name

E 'ancora non copia il file, ma ha restituire il contenuto della directory di script sul server.

Così vado al server ed eseguire lo script con i percorsi UNC in atto - restituisce PowerShell un errore

Copy-Item : Access to the path '\\Server\ServerPath\myFile2.txt' is denied.

Questa sembra essere la radice del problema. Qualsiasi idea di come posso ottenere intorno a questo? Ho effettuato l'accesso al server come un amministratore.

È stato utile?

Soluzione

L'esecuzione dello script come amministratore non importa con condivisioni di rete IIRC. L'autorizzazione di condivisione predefinite consentono solo la lettura. Quelle permanenti devono essere aggiornati per consentire la scrittura alla condivisione.

FYI se si sta utilizzando net share per creare le condivisioni su Windows 7 sarà necessario utilizzare il /grant:<users>,CHANGE per concedere le autorizzazioni a un utente.

Altri suggerimenti

Sono su Server 2003 R2. Amministratore ha avuto pieno accesso nella scheda di sicurezza, ma sono andato alla scheda condivisione, permessi, e tutti erano impostato l'accesso in lettura. Ho aggiunto admin e me stesso come Controllo completo, ora la vita è buona !!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top