问题
So today I came across an issue whereby a powershell script was causing the deployment to fail. This job is set-up exactly the same on other machines. This one however just refused to work. The error was:
An object at the specified path C:\Users\user~1.name does not exist
heres the full log at the time of failure
2017-01-11T15:03:12.1295730Z Executing the powershell script: D:\Tfs\Agent2\tasks\PowerShellOnTargetMachines\1.0.25\PowerShellOnTargetMachines.ps1
2017-01-11T15:03:12.3014605Z ##[debug]Entering script PowerShellOnTargetMachines.ps1
2017-01-11T15:03:12.3014605Z ##[debug]environmentName = ***
2017-01-11T15:03:12.3014605Z ##[debug]adminUserName = ***\**.**
2017-01-11T15:03:12.3170816Z ##[debug]protocol = Http
2017-01-11T15:03:12.3170816Z ##[debug]testCertificate = true
2017-01-11T15:03:12.3170816Z ##[debug]resourceFilteringMethod = machineNames
2017-01-11T15:03:12.3170816Z ##[debug]machineNames =
2017-01-11T15:03:12.3170816Z ##[debug]scriptPath = c:\temp\release\ReleaseScripts\ReplaceVariables.ps1
2017-01-11T15:03:12.3170816Z ##[debug]scriptArguments = -FilePath E:\***\web.config
2017-01-11T15:03:12.3170816Z ##[debug]initializationScriptPath =
2017-01-11T15:03:12.3170816Z ##[debug]runPowershellInParallel = true
2017-01-11T15:03:12.3327091Z ##[debug]sessionVariables = $__ManualImportDropLocation__=wewqewq,$enableDetailedLogging=true
2017-01-11T15:03:12.4420874Z ##[debug]Starting Register-Environment cmdlet call for environment : *** with filter
2017-01-11T15:03:12.4577127Z ##[debug]Completed Register-Environment cmdlet call for environment : ***
2017-01-11T15:03:12.4577127Z ##[debug]Starting Get-EnvironmentResources cmdlet call on environment name: ***
2017-01-11T15:03:12.4733388Z ##[debug]Starting Get-EnvironmentProperty cmdlet call on environment name: *** with key: Microsoft-Vslabs-MG-SkipCACheck
2017-01-11T15:03:12.4733388Z ##[debug]Completed Get-EnvironmentProperty cmdlet call on environment name: *** with key: Microsoft-Vslabs-MG-SkipCACheck
2017-01-11T15:03:12.4889674Z ##[debug]Get Resource properties for *** (ResourceId = 1)
2017-01-11T15:03:12.4889674Z ##[debug]Starting Get-EnvironmentProperty cmdlet call on environment name: *** with resource id: 1(Name : ***) and key: Microsoft-Vslabs-MG-Resource-FQDN
2017-01-11T15:03:12.4889674Z ##[debug]Completed Get-EnvironmentProperty cmdlet call on environment name: *** with resource id: 1(Name : ***) and key: Microsoft-Vslabs-MG-Resource-FQDN
2017-01-11T15:03:12.5045997Z ##[debug]Starting Get-Environment cmdlet call on environment name: ***
2017-01-11T15:03:12.5202195Z ##[debug]Completed Get-Environment cmdlet call on environment name: ***
2017-01-11T15:03:12.5227541Z ##[debug]Starting Get-EnvironmentProperty cmdlet call on environment name: *** with resource id: 1(Name : ***) and key: WinRM_Http
2017-01-11T15:03:12.5385567Z ##[debug]Completed Get-EnvironmentProperty cmdlet call on environment name: *** with resource id: 1(Name : ***) and key: WinRM_Http
2017-01-11T15:03:12.5385567Z ##[debug] Resource Username - ***\***.***
2017-01-11T15:03:12.5541595Z Deployment started for machine: '***:5985'
2017-01-11T15:03:12.5854089Z ##[debug]fqdn = ***
2017-01-11T15:03:12.5854089Z ##[debug]scriptPath = c:\temp\release\ReleaseScripts\***.ps1
2017-01-11T15:03:12.5854089Z ##[debug]port = 5985
2017-01-11T15:03:12.5854089Z ##[debug]scriptArguments = -FilePath E:\***\web.config
2017-01-11T15:03:12.5854089Z ##[debug]initializationScriptPath =
2017-01-11T15:03:12.5854089Z ##[debug]protocolOption = -UseHttp
2017-01-11T15:03:12.5854089Z ##[debug]skipCACheckOption =
2017-01-11T15:03:12.5854089Z ##[debug]enableDetailedLogging = false
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.IdentityModel.Clients.ActiveDirectory.dll
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Build.Client.dll
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Build.Common.dll
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Build.VsTestLogger.dll
2017-01-11T15:03:12.6010328Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Build2.WebApi.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Chat.WebApi.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Client.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Common.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Core.WebApi.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DeleteTeamProject.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Diff.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Discussion.Client.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Agent.Common.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Agent.Interfaces.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Agent.Logger.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Agent.Strings.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Agent.Worker.Common.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.WebApi.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Worker.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Git.Client.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Lab.Client.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Lab.Common.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Lab.TestIntegration.Client.dll
2017-01-11T15:03:12.6166590Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Lab.WorkflowIntegration.Client.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Policy.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.ProjectManagement.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.SharePointReporting.Integration.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.SourceControl.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Test.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.TestImpact.Client.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.TestManagement.Client.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.TestManagement.Common.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.TestManagement.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.VersionControl.Client.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.VersionControl.Common.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.VersionControl.Common.Integration.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.Work.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.Client.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.Common.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll
2017-01-11T15:03:12.6322851Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.Client.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.CodeReview.Common.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.CodeReview.Discussion.WebApi.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.CodeReview.WebApi.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.Common.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.WebApi.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Newtonsoft.Json.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: System.Net.Http.Formatting.dll
2017-01-11T15:03:12.6479103Z ##[debug]Loading .NET assembly: Microsoft.TeamFoundation.DistributedTask.Task.DevTestLabs.dll
2017-01-11T15:03:12.6635512Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.DevTestLabs.Client.dll
2017-01-11T15:03:12.6635512Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.DevTestLabs.Common.dll
2017-01-11T15:03:12.6635512Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.DevTestLabs.Definition.dll
2017-01-11T15:03:12.6791675Z ##[debug]Loading .NET assembly: Microsoft.VisualStudio.Services.DevTestLabs.Deployment.dll
2017-01-11T15:03:12.7104184Z ##[debug]Initiating deployment on ***
2017-01-11T15:03:16.7003726Z ##[debug]Finished Deployment operation on ***:5985
2017-01-11T15:03:16.7003726Z ##[debug]Deployment logs for Deployment operation on ***:5985
2017-01-11T15:03:16.7160894Z ##[debug]
2017-01-11T15:03:16.7160894Z Deployment started on target machine...
2017-01-11T15:03:16.7160894Z System.AggregateException: Failed to create working directory on the machine. Consult the logs below for details of the error.
2017-01-11T15:03:16.7160894Z An object at the specified path C:\Users\***~1.*** does not exist. ---> System.Management.Automation.CmdletProviderInvocationException: An object at the specified path C:\Users\***~1.*** does not exist. ---> System.Management.Automation.PSArgumentException: An object at the specified path C:\Users\***~1.*** does not exist.
2017-01-11T15:03:16.7160894Z at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeThePath(String basepath, Stack`1 tokenizedPathStack)
2017-01-11T15:03:16.7160894Z at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePathHelper(String path, String basePath)
2017-01-11T15:03:16.7160894Z --- End of inner exception stack trace ---
2017-01-11T15:03:16.7160894Z at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2017-01-11T15:03:16.7160894Z at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2017-01-11T15:03:16.7160894Z at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2017-01-11T15:03:16.7160894Z at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-11T15:03:16.7160894Z at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-11T15:03:16.7160894Z at System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.PowershellExecutor.<>c__DisplayClass28_0.<Invoke>b__0()
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.<>c__DisplayClass19_0`1.<Execute>b__0()
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.Execute(Action action)
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.Execute[T](Func`1 action)
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.PowershellExecutor.Invoke(String errorContextMessage, Boolean writeResultToLog, Boolean isCancellable, ActionPreference errorActionPreference)
2017-01-11T15:03:16.7160894Z --- End of inner exception stack trace ---
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.PowershellExecutor.Invoke(String errorContextMessage, Boolean writeResultToLog, Boolean isCancellable, ActionPreference errorActionPreference)
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.DeploymentService.SetWorkingDirectory(IPowerShell powerShellSession, String machineName, Int32 powershellPort, String tempMofDirectory)
2017-01-11T15:03:16.7160894Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.DeploymentService.RunPowerShellScripts(DeploymentMachineSpecification deploymentMachine, ScriptSpecification scriptSpecification, ScriptSpecification initializationScriptSpecification, String applicationPath, IPowerShell powerShellSession)
2017-01-11T15:03:16.7160894Z ---> (Inner Exception #0) System.Management.Automation.CmdletProviderInvocationException: An object at the specified path C:\Users\***~1.*** does not exist. ---> System.Management.Automation.PSArgumentException: An object at the specified path C:\Users\***~1.*** does not exist.
2017-01-11T15:03:16.7160894Z at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeThePath(String basepath, Stack`1 tokenizedPathStack)
2017-01-11T15:03:16.7160894Z at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePathHelper(String path, String basePath)
2017-01-11T15:03:16.7160894Z --- End of inner exception stack trace ---
2017-01-11T15:03:16.7160894Z at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2017-01-11T15:03:16.7316466Z at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2017-01-11T15:03:16.7316466Z at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2017-01-11T15:03:16.7316466Z at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-11T15:03:16.7316466Z at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-11T15:03:16.7316466Z at System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
2017-01-11T15:03:16.7316466Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.PowershellExecutor.<>c__DisplayClass28_0.<Invoke>b__0()
2017-01-11T15:03:16.7316466Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.<>c__DisplayClass19_0`1.<Execute>b__0()
2017-01-11T15:03:16.7316466Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.Execute(Action action)
2017-01-11T15:03:16.7316466Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Utilities.RetryExecutor.Execute[T](Func`1 action)
2017-01-11T15:03:16.7316466Z at Microsoft.VisualStudio.Services.DevTestLabs.RemoteDeployer.Deployment.PowershellExecutor.Invoke(String errorContextMessage, Boolean writeResultToLog, Boolean isCancellable, ActionPreference errorActionPreference)<---
2017-01-11T15:03:16.7316466Z ##[debug]Service logs for Deployment operation on ***:5985
2017-01-11T15:03:16.7316466Z ##[debug]RemoteDeployerSource Verbose: 10 : [RemoteDeployer][11:Jan:17:15:3:14:1141; 716, 4](***)Creating public key for communication
2017-01-11T15:03:16.7316466Z RemoteDeployerSource Verbose: 2 : [RemoteDeployer][11:Jan:17:15:3:14:1141; 716, 4](***)Created public key for communication
2017-01-11T15:03:16.7316466Z RemoteDeployerSource Information: 12 : [RemoteDeployer][11:Jan:17:15:3:14:1297; 716, 4](***)Deployment service - VisualStudioRemoteDeployerfd782f8c-20e6-47ca-80b1-a79ed7d375d5 is running...
2017-01-11T15:03:16.7316466Z RemoteDeployerSource Verbose: 4 : [RemoteDeployer][11:Jan:17:15:3:15:1495; 716, 6](***)Input file found
2017-01-11T15:03:16.7316466Z RemoteDeployerSource Verbose: 5 : [RemoteDeployer][11:Jan:17:15:3:15:1495; 716, 6](***)Reading input parameters
2017-01-11T15:03:16.7316466Z RemoteDeployerSource Verbose: 6 : [RemoteDeployer][11:Jan:17:15:3:15:1495; 716, 6](***)Finished reading input parameters
2017-01-11T15:03:16.7472527Z Deployment status for machine '***:5985' : 'Failed'
2017-01-11T15:03:16.7785160Z ##[debug]System.Exception: An object at the specified path C:\Users\***~1.*** does not exist.
2017-01-11T15:03:16.8097547Z ##[error]An object at the specified path C:\Users\***~1.*** does not exist. For more info please refer to http://aka.ms/powershellontargetmachinesreadme
回答1:
After some googling I came across this. The error was pretty much describing the same thing as I was seeing.
However the answer "please use another account" was less than satisfactory to me. Nevertheless I tried a different account and it worked successfully.
I then deleted the c:\users\user.name folder and relogged on with the original account. Usually the Folder c:\users\user.name would be recreated however in this case it created c:\users\temp.
After a quick google again it appears that windows does this when your profile is all out of whack. After removing the profile from the registry and another logon it created the correct folder.
Then finally put the jobs original credentials in and it all worked :)
来源:https://stackoverflow.com/questions/41572933/an-object-at-the-specified-path-c-users-user1-name-does-not-exist