6

I have a powershell script that inserts webparts onto a page. The problem is that if I don't have the page checked out it will throw the following error:

Exception calling "AddWebPart" with "3" argument(s): "The file is not checked out. You must first check out this document before making changes." At C:\temp\AddWebParts.ps1:49 char:27

Is it possible to checkout a page using PowerShell?

4 Answers 4

5

Found this after doing a little more research:

$Site = Get-SPWeb $siteurl
$Site.GetFile($myFile).CheckOut()

Hope this helps someone!

2

yes, if you have SPListItem, you may call

$file = $listItem.File;
$file.CheckOut();
1
  • Thanx! This works great. How do you check in the same file again? Commented Apr 23, 2012 at 13:20
2

I think the POSH script excerpts above (by Abe & Ashish) would work but also verify the CheckOut & Lock status property of the file prior to checking it out: $fooFile.CheckOutType - this returns enum type showing online, offline & none. To check the file property LockType - $fooFile.LockType which returns enum SPLockType (exclusive, shared & none).

1
  • The code will be similar to the following: 1. $fooWeb = Get-SPWeb("FooWebURL"); 2. $fooFile = $fooWeb.GetFile("FooFile"); 3. if($fooFile.CheckOutType -eq "None" -And $fooFile.LockType -eq "None") 4. { $fooFile.CheckOut() 5. Write-Host $fooFile.Name Checked out 6. } else 7. { Write-Host $fooFile.Name already Checked out or locked } 8. $fooWeb.Dispose() Commented Dec 16, 2011 at 21:21
0

Below script will help you to checkout file

$urlWeb = "http://mysite"
$urlWebWP =  "http://mysite/pages/default.aspx"

$web = Get-SPWeb 
$urlWeb $page =  $web.GetFile($urlWebWP)
$page.CheckOut()

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.