This very long sample configures versioning setting for every site (site collection), site (subsite) and list. You will just have to adapt it with your code.

Please do not use this script in your production environment without further testing :)

Edit: Just noticed you are looking for SharePoint 2007 script, this is 2010. Sorry.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
    Add-PSSnapin Microsoft.SharePoint.PowerShell;
}

function Get-SPList
{
    param(
        [Parameter(
            Position=0, 
            Mandatory=$true, 
            ValueFromPipeline=$true
        )]
        [Microsoft.SharePoint.SPWeb]$CurrentWeb,
        [Parameter(
            Position=1, 
            Mandatory=$false
        )]
        [string]$Title = $null

    )

    Write-Host $CurrentWeb.Url

    foreach($list in $CurrentWeb.Lists)
    {
        if($list.Hidden -eq $false -and ($Title -eq $null -or $Title -eq ""))
        {
            Write-Output $list
        }
        elseif($list.Title -eq $Title)
        {
            Write-Output $list
        }
    }
}

function Set-SPList()
{
    param(
        [Parameter(
            Position=0, 
            Mandatory=$true, 
            ValueFromPipeline=$true
        )]
        [Microsoft.SharePoint.SPList]$SPList,
        [Parameter(Mandatory=$false)]
        [bool]$EnableVersioning = $null,
        [Parameter(Mandatory=$false)]
        [bool]$EnableMinorVersions = $null,
        [Parameter(Mandatory=$false)]
        [int]$MajorVersionLimit = -1,
        [Parameter(Mandatory=$false)]
        [int]$MajorWithMinorVersionsLimit = -1
    )


    if($SPList -ne $null -and $SPList.HasExternalDataSource -eq $false)
    {
        if($EnableVersioning -ne $null)
        {   
            $SPList.EnableVersioning = $EnableVersioning
        }
        if($MajorVersionLimit -gt -1)
        {   
            $SPList.MajorVersionLimit = $MajorVersionLimit
        }

        if($SPList.BaseType -eq "DocumentLibrary")
        {
            if($EnableMinorVersions -ne $null)
            {   
                $SPList.EnableMinorVersions = $EnableMinorVersions
            }

            if($MajorWithMinorVersionsLimit -gt -1)
            {
                $SPList.MajorWithMinorVersionsLimit = $MajorWithMinorVersionsLimit
            }
        }
        $SPList.Update()
    }
}



Get-SPSite | Get-SPWeb -Limit All | ForEach-Object {Get-SPList $_ | ForEach-Object {Set-SPList $_ -EnableMinorVersions $true -EnableVersioning $true -MajorVersionLimit 5 -MajorWithMinorVersionsLimit 3}}


Output workflows associated to all lists in a web application
I've noticed that a variety of pieces in the classical repetoire (certainly at least the piano repetoire), label what seems to be effectively the same key signature differently. That is, I am not aware of any differences in terms of key between a piece in "G Sharp major" and "A flat major" (or their equivalent minors). Is there any reason that sometimes a sharped key signature is used while at other times the equivalent flatted key signature is used?

As a related point, I have undoubtedly noticed the preference of certain "equivalent" key signatures over others. For example, one encounters "E flat" significantly more than "D sharp" and likewise "C sharp" significantly more than "D flat". Is there any particular reason for this, or is it simply a convention that has been handed down to use through musical history?
