![]() |
VOOZH | about |
The CData Cmdlets Module for Microsoft Project is a standard PowerShell module offering straightforward integration with Microsoft Project. Below, you will find examples of using our MicrosoftProject Cmdlets with native PowerShell cmdlets.
The User and Password properties, under the Authentication section, must be set to valid Microsoft Project user credentials. In addition, specify a URL to a valid Microsoft Project server organization root or Microsoft Project services file.
$conn = Connect-MicrosoftProject -User "$User" -Password "$Password" -URL "$URL"
Follow the steps below to retrieve data from the Projects table and pipe the result into to a CSV file:
Select-MicrosoftProject -Connection $conn -Table Projects | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myProjectsData.csv -NoTypeInformation
You will notice that we piped the results from Select-MicrosoftProject into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.
The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.The following line deletes any records that match the criteria:
Select-MicrosoftProject -Connection $conn -Table Projects -Where "ProjectName = Tax Checker" | Remove-MicrosoftProject
The cmdlets make data transformation easy as well as data cleansing. The following example loads data from a CSV file into Microsoft Project, checking first whether a record already exists and needs to be updated instead of inserted.
Import-Csv -Path C:\MyProjectsUpdates.csv | %{
$record = Select-MicrosoftProject -Connection $MicrosoftProject -Table Projects -Where ("Id = `'"+$_.Id+"`'")
if($record){
Update-MicrosoftProject -Connection $microsoftproject -Table Projects -Columns ("ProjectName","ProjectActualCost") -Values ($_.ProjectName, $_.ProjectActualCost) -Where ("Id = `'"+$_.Id+"`'")
}else{
Add-MicrosoftProject -Connection $microsoftproject -Table Projects -Columns ("ProjectName","ProjectActualCost") -Values ($_.ProjectName, $_.ProjectActualCost)
}
}
As always, our goal is to simplify the way you connect to data. With cmdlets users can install a data module, set the connection properties, and start building. Download Cmdlets and start working with your data in PowerShell today!
Download a free trial of the MS Project Cmdlets to get started:
Download NowLearn more:
👁 Microsoft Project IconAn easy-to-use set of PowerShell Cmdlets offering real-time access to Microsoft Project data. The Cmdlets allow users to easily read, write, update, and delete live data - just like working with SQL server.