我有一台机器,我需要从networking共享(域上)复制文件,以从域外的机器进行部署。
目前我有以下代码;
configurationdeployWebsite
{
PARAM
(
[string []] $ MachineName =“localhost”
)
节点$ MachineName
{
文件testing{
SourcePath =“\\ buildserver \ mywebsite”
DestinationPath =“C:\ deployments”
recursion= $ true
Type =“目录”
}
}
}
deployWebsite -MachineName“at-test-2012”
我运行这个,我能够生成一个很好的MOF文件。
我得到的错误如下;
PS C:\ dsc> Start-DscConfiguration -Path。\ deployWebsite -CimSession $ sess -Wait -Verbose -Force
VERBOSE:使用以下参数执行操作'调用CimMethod',''methodName'= SendConfigurationApply,'className'= MSFT_DSCLocalConfigurationManager,'namespaceName'= root / Microsof
T /窗/ DesiredStateConfiguration”。
VERBOSE:用户sid S-1-5-21-77344112-180879520-4075690869-1002从计算机AT-TEST-2012到达的LCM方法呼叫。
VERBOSE:[AT-TEST-2012]:LCM:[开始设置]
VERBOSE:[AT-TEST-2012]:LCM:[启动资源] [[文件]testing]
VERBOSE:[AT-TEST-2012]:LCM:[开始testing] [[文件]testing]
VERBOSE:[AT-TEST-2012]:[[File] Test]访问被拒绝。
VERBOSE:[AT-TEST-2012]:[[File] Test]相关的文件/目录是:\\ buildserver \ mywebsite。
VERBOSE:[AT-TEST-2012]:[[File] Test]path不能指向根目录或networking共享的根目录。
VERBOSE:[AT-TEST-2012]:[[File] Test]相关的文件/目录是:\\ buildserver \ mywebsite。
VERBOSE:[AT-TEST-2012]:[[File] Test]如果要recursionconfiguration目标目录,必须指定SourcePath。 确保SourcePath是一个di
教区和它是可访问的。
如果要recursionconfiguration目标目录,则必须指定SourcePath。 确保SourcePath是一个目录,并且它是可访问的。
+ CategoryInfo:InvalidArgument:(:) [],CimException
+完全合格错误Id:MI结果4
+ PSComputerName:at-test-2012
SendConfigurationApply函数没有成功。
+ CategoryInfo:InvalidArgument:(root / Microsoft / ... gurationManager:String)[],CimException
+完全合格错误Id:MI结果4
+ PSComputerName:at-test-2012
VERBOSE:操作“调用CimMethod”完成。
VERBOSE:configuration作业完成时间为3.979秒
CIM会议似乎安装的很好。
PS C:\ dsc> Get-CimSession Id:1 名称:CimSession1 InstanceId:7ae9cd9b-fc65-4879-94c1-ec9805479500 ComputerName:at-test-2012 协议:WSMAN
它是用下面的代码创build的。
$ sess = New-CIMSession -cn at-test-2012 -Authentication Credssp -Credential $ cred
它是通过工作组计算机上的本地pipe理员用户的凭证,并且是试图从中提取文件的域计算机上的本地用户。
如果我通过创build一个PSSession尝试另一个testing,并试图复制文件,那么它工作正常,我看到文件出现在工作组机器上。
$ cred = Get-Credential -Credential部署用户
$ sess = New-PSSession -cn at-test-2012 -Authentication Credssp -Credential $ cred
Invoke-Command -Session $ sess -ScriptBlock {Copy-Item -Path'\\ buildserver \ mywebsite'-Destination'C:\ deployments'}
问题是,Start-DscConfiguration似乎不支持PSSession,只有CIMSessions。
那么,下一步要尝试什么? 我认为我的CIMsession安装正确,我想我有所有必要的设置在文件共享,工作组机器都设置正确的PSSession正常工作。
干杯,安迪
通常我以三种方式之一处理这样的问题:
如果您有其他可能影响更改的networking的configuration,请注意做远程Start-DscConfiguration。
例如,通过JustEnoughAdministration资源创build前面提到的JEA端点,可以重置WinRM并提前中断本地和远程的Start-DscConfiguration调用 – 等等。
计划任务不受networking影响configuration内的问题的影响,也不受其他环境因素的影响。 最大的窍门是如果你需要监视configuration的稳定性,这对读者来说是一个练习(或将来的问题/答案)。