Used this script today to add a custom site column (Forarchive) to the core Content Type - Document
********************************************
[void][System.Reflection.Assembly]::Load("Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
[void][System.Reflection.Assembly]::Load("Microsoft.Sharepoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
[void][System.Reflection.Assembly]::Load("Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
********************************************
$url = "http:///sites/sitename/"
$site = new-object Microsoft.SharePoint.SPSite($URL)
$web = $site.RootWeb
$ct=$web.ContentTypes["Document"];
$fieldAdd=$web.Fields["ForArchive"]
$fieldLink=New-Object Microsoft.SharePoint.SPFieldLink($fieldAdd)
$ct.FieldLinks.Add($fieldLink);
$ct.Update()
$web.Dispose()
$site.Dispose()