# Name:            New-FASTManagedProperty.ps1 
# Description:     This script will create Crawled and Managed Properties 
#                This will allow you to only have to crawl a site one time for the Managed Property to apply 
# Usage:        Run the function with a required parameters 
# By:             Ivan Josipovic, Softlanding.ca 
function New-FASTManagedProperty([string]$Name, [string]$CrawledPropertyName, [string]$Type,[bool]$Refinement,$Sortable) 
    switch ($Type)  
        "Text" {$type = "1"}  #variant 31 
        "Integer" {$type = "2"#variant 3 
        "Decimal" {$type = "5"#variant 5 
        "DateTime" {$type = "6"#variant 64 
        "Float" {$type = "4"#variant 5 ? 
        "Binary" {$type = "3"}  #variant 11 
    $managedproperty = Get-FASTSearchMetadataManagedProperty –Name $Name 
    if ($managedproperty -eq $null){ 
        New-FASTSearchMetadataManagedProperty -Name $Name -Type $Type -ea 0 
        $managedproperty = Get-FASTSearchMetadataManagedProperty –Name $Name 
            Set-FASTSearchMetadataManagedProperty –Name $Name –Queryable $true –StemmingEnabled $false –RefinementEnabled  $Refinement -SortableType $Sortable 
    $cp = Get-FASTSearchMetadataCrawledProperty -Name $CrawledPropertyName 
        if ($cp -eq $null){ 
                "1" {$variant = "31"}  #Text 31 
                "2" {$variant = "3"#Integer 3 
                "5" {$variant = "4"#Decimal 5 
                "6" {$variant = "64"#DateTime 64 
                "4" {$variant = "5"#Float 5 ? 
                "3" {$variant = "11"}  #Binary 11 
            New-FASTSearchMetadataCrawledProperty -Name $CrawledPropertyName -Propset "00130329-0000-0130-c000-000000131346" -VariantType $variant 
            $cp = Get-FASTSearchMetadataCrawledProperty -Name $CrawledPropertyName 
            write-host "Created $($CrawledPropertyName) Crawled Property" 
        New-FASTSearchMetadataCrawledPropertyMapping –Managedproperty $managedproperty –crawledproperty $cp -ea 0 
    write-host "Created $($Name)" 
# "Managed Property Name" "Crawled Property Name" "Type" "Refinement $true/$false" "Sortable 1=on 0=off" 
# Type = Text,Integer,Decimal,DateTime,Float,Binary 
New-FASTManagedProperty "Area" "ows_Area" "Text" $true "1"  
New-FASTManagedProperty "BeingRevised" "ows_BeingRevised" "Binary" $false "0" 
New-FASTManagedProperty "BeingRevisedNotes" "ows_Comments" "Text" $false "0" 
New-FASTManagedProperty "Discipline" "ows_Discipline" "Text" $true "1" 

This script needs to be run in the FAST Management Shell. It will create a Managed Property Mapping with the provided Crawled Property. If the crawled property does not exist, it will also be created. It also allows you to enable or disable the Managed Properties Sortable and Refinement Enabled Properties. This script will allow you to only have to perform one Full Crawl on a site in order for the Managed Properties to apply.

You may use the following script to get the Crawled Property Names http://gallery.technet.microsoft.com/scriptcenter/Get-Crawled-Property-names-9e8fc5e0