You can use below PowerShell
script for create a new item version and update field value
# Get All items under particular node with specific template name
$items = Get-ChildItem -Path "master:/sitecore/content/Home" -Recurse | Where-Object { $_.TemplateName -eq 'Template Name' }
# Loop all items
foreach ($item in $items)
{
# Get item to update and create new item version
$itemToUpdate = Add-ItemVersion -ID $item.ID -Language en -IfExist Append
$itemToUpdate.Editing.BeginEdit()
$itemToUpdate.Fields["Button Text"].Value = "Button Text Mew"
$itemToUpdate.Editing.EndEdit()
}
I tested it on my Sitecore
instance and it's working as expected, please try it.
You can get more information about creating new item version from below URL
as well.
https://doc.sitecorepowershell.com/appendix/common/add-itemversion