Tenho uma máquina para a qual preciso copiar arquivos de um compartilhamento de rede (no domínio) para uma implantação de uma máquina fora do domínio.
Atualmente, tenho o seguinte código:
Configuration deployWebsite
{
param
(
[string[]] $MachineName = "localhost"
)
Node $MachineName
{
File Test {
SourcePath = "\buildserver\mywebsite"
DestinationPath = "C:\deployments"
Recurse = $true
Type = "Directory"
}
}
}
deployWebsite -MachineName "at-test-2012"
Eu corro isso e sou capaz de gerar um arquivo MOF que é bom.
O erro que recebo é o seguinte:
PS C:\dsc> Start-DscConfiguration -Path .\deployWebsite -CimSession $sess -Wait -Verbose -Force
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = root/Microsof
t/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer AT-TEST-2012 with user sid S-1-5-21-77344112-180879520-4075690869-1002.
VERBOSE: [AT-TEST-2012]: LCM: [ Start Set ]
VERBOSE: [AT-TEST-2012]: LCM: [ Start Resource ] [[File]Test]
VERBOSE: [AT-TEST-2012]: LCM: [ Start Test ] [[File]Test]
VERBOSE: [AT-TEST-2012]: [[File]Test] Access is denied.
VERBOSE: [AT-TEST-2012]: [[File]Test] The related file/directory is: \buildserver\mywebsite.
VERBOSE: [AT-TEST-2012]: [[File]Test] The path cannot point to the root directory or to the root of a net share.
VERBOSE: [AT-TEST-2012]: [[File]Test] The related file/directory is: \buildserver\mywebsite.
VERBOSE: [AT-TEST-2012]: [[File]Test] SourcePath must be specified if you want to configure the destination directory recursively. Make sure that SourcePath is a di
rectory and that it is accessible.
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 : at-test-2012
The SendConfigurationApply function did not succeed.
+ CategoryInfo : InvalidArgument: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : MI RESULT 4
+ PSComputerName : at-test-2012
VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 3.979 seconds
A sessão do CIM pareceu estar bem configurada.
PS C:\dsc> Get-CimSession
Id : 1
Name : CimSession1
InstanceId : 7ae9cd9b-fc65-4879-94c1-ec9805479500
ComputerName : at-test-2012
Protocol : WSMAN
Foi criado com o seguinte código:
$sess = New-CIMSession -cn at-test-2012 -Authentication Credssp -Credential $cred
E foi passado credenciais para um usuário que é administrador local sobre a máquina do grupo de trabalho e é um usuário local na máquina do domínio que está tentando extrair arquivos.
Se eu tentar outro teste criando uma PSSession e tentando copiar os arquivos, ele funciona bem e vejo os arquivos aparecerem na máquina do grupo de trabalho.
$cred = Get-Credential -Credential deployuser
$sess = New-PSSession -cn at-test-2012 -Authentication Credssp -Credential $cred
Invoke-Command -Session $sess -ScriptBlock {Copy-Item -Path '\buildserver\mywebsite' -Destination 'C:\deployments'}
O problema é que o Start-DscConfiguration não parece suportar PSSessions, apenas CIMSessions.
Então, alguma indicação sobre o que tentar em seguida? Acho que minha CIMsession está configurada corretamente e acho que tenho todas as configurações necessárias no compartilhamento de arquivos, a máquina do grupo de trabalho está toda configurada corretamente, pois o PSSession funciona bem.
Felicidades,
Andy