문제

I have written a powershell script to loop through all projects on our PWA instance and when it gets to a specific one I would like to check it out. the checkout() fails with an error:
format-default : The collection has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested.

The script works perfect if I remove the CheckOut() line. Any ideas what I am doing wrong?

Add-Type -Path 'C:\dll\microsoft.sharepointonline.csom.16.1.6906.1200\lib\net40-full\Microsoft.ProjectServer.Client.dll'
Add-Type -Path 'C:\dll\microsoft.sharepointonline.csom.16.1.6906.1200\lib\net40-full\Microsoft.SharePoint.Client.dll' 

$PWAInstanceURL = "https://mycorp.sharepoint.com/sites/pwa" 
$PWAUserName = "My User" 
$password = "My Password" 
$securePass = ConvertTo-SecureString $password -AsPlainText -Force  

$projContext = New-Object Microsoft.ProjectServer.Client.ProjectContext($PWAInstanceURL) 
[Microsoft.SharePoint.Client.SharePointOnlineCredentials]$spocreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($PWAUserName, $securePass);  

$projContext.Credentials = $spocreds 

$projects = $projContext.Projects

$projContext.Load($projects)
$projContext.ExecuteQuery()

Write-Host 'Loaded ProjContext ' $projects.Count


foreach ($project in $projects){

    if ($project.Name -eq "Name of Project to Stop On"){

       Write-Host $project.Name $project.Id


       $existingProj = $projContext.Projects.GetByGuid($project.Id)
       Write-Host 'New Proj ' $existingProj
       $newProj.CheckOut()
     }
}
도움이 되었습니까?

해결책

The 'format-default' error message means that PowerShell encountered an error trying to print the output to the console. To avoid this try storing the output of CheckOut() in a junk variable:

$gulp = $project.CheckOut()

다른 팁

It looks like permission issue. Can you please include the user(User being used to run the code) in Administrator group and try?

Isn't it should be?It don't see initialization of $newProj in your existing code.

$existingProj.CheckOut()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top