Saya mencoba menggunakan PowerShell DSC untuk menyalin konten folder dari jaringan berbagi. Ini kodenya:
Configuration TestSetup {
Node localhost {
File Test {
SourcePath = "\\Server\SomeShare\SomeFolder"
DestinationPath = "E:\test"
Recurse = $true
Type = "Directory"
}
}
}
Namun ini tidak berhasil - ketika saya menjalankannya saya mendapatkan pesan kesalahan berikut:
The related file/directory is: \\Server\SomeShare\SomeFolder.
The path cannot point to the root directory or to the root of a net share.
SourcePath must be specified if you want to configure the destination directory recursively. Make sure that SourcePath is a directory and that it is accessible.
+ CategoryInfo : InvalidArgument: (:) [], CimException
+ FullyQualifiedErrorId : MI RESULT 4
+ PSComputerName : localhost
The SendConfigurationApply function did not succeed.
+ CategoryInfo : InvalidArgument: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : MI RESULT 4
+ PSComputerName : localhost
Saya mendapatkan hasil yang serupa ketika mencoba menginstal paket dari jaringan berbagi atau mengekstrak arsip dari jaringan berbagi. Saya menjalankan PowerShell 4 pada Windows Server 2008 R2 SP1.
Apakah ada cara untuk menggunakan PowerShell DSC dengan jaringan berbagi?
windows
powershell
network-share
dsc
Richard
sumber
sumber
Jawaban:
Manajer Konfigurasi Lokal DSC berjalan sebagai akun SISTEM lokal, bukan akun pengguna Anda. Karena itu ia tidak akan dapat mengakses sumber daya jaringan kecuali diberikan izin eksplisit.
Ada dua kemungkinan situasi. Entah bagiannya ada di mesin yang sama dengan konfigurasi DSC sedang diterapkan (sebut saja mesin ini A) atau bagian itu ada di mesin yang berbeda (sebut saja mesin ini B).
Jika pembagian ada di mesin A, izin BACA perlu diberikan kepada pengguna SISTEM. Sebagai contoh:
Jika bagiannya ada di mesin B, izin BACA perlu diberikan ke akun komputer mesin A. Misalnya:
Sumber: http://www.powershellmagazine.com/2013/09/02/copying-powershell-modules-and-custom-dsc-resources-using-dsc/
sumber
The
DSC
berjalan padalocalhost
untuk menerapkan konfigurasi. Ini berartiDSC
file sumber daya perlu didistribusikan ke setiap mesin yang akan dikonfigurasiDSC
.Oleh karena itu manajemen izin sangat penting ketika menyalin file DSC dari share.
DSC
berjalan di bawahNT AUTHORITY\SYSTEM
akun dan kecualiCredential
atribut telah ditetapkan,Computer account
digunakan ketika menarik file dari jaringan berbagi.Oleh karena itu dan tergantung dari mana file tersebut diambil,
SYSTEM
akun tersebut harus diberikanread
izin pada share lokal danComputer account
kebutuhan untuk diberikanread
izin pada share jarak jauh.Ini secara konkret dirinci dalam jawaban Richards, yang memperluas sintaksis pada sumber blog asli untuk informasi ini.
sumber
Saya tidak punya waktu saat ini untuk melihat lebih jauh ke dalam ini, tetapi sepertinya mungkin untuk lulus dengan aman kredensial untuk Manajer Konfigurasi Lokal untuk digunakan. Bahkan, dalam posting blog contohnya menggunakan sumber daya File untuk menarik file dari jaringan berbagi. Saya berharap untuk segera mencoba ini, kemudian kembali untuk menyempurnakan jawaban ini.
TechNet Blog: Ingin mengamankan kredensial di Konfigurasi yang Diinginkan State PowerShell Windows? - oleh Travis Plunk
sumber
Powershell hampir sebodoh shell cmd yang lama. Itu masih memiliki dukungan yang sangat terbatas untuk jalur UNC. Dengan mengingat hal itu ... apakah Anda sudah mencoba aliasing jalur UNC? yaitu
Dan kemudian merujuk jalan sebagai
UNCPath:\SomeFolder
. BersihkanRemove-PSDrive
saat Anda selesai.Juga, terkadang Anda dapat menentukan
FileSystem::\\Server\SomeShare\SomeFolder
sebagai path. Saya telah melihat kasus-kasus di mana ini tidak berhasil ... tetapi patut dicoba.sumber
FileSystem::\\Server\SomeShare\SomeFolder
jelas merupakan jalan yang harus ditempuhRelative path is not supported