【问题标题】:Change file property in team foundation server 2010 via Powershell通过 Powershell 在 Team Foundation Server 2010 中更改文件属性
【发布时间】:2013-01-16 02:55:02
【问题描述】:

我需要能够通过 Powershell 在 Team Foundation Server 2010 中更改文件的“ANSI NULL”属性:

cls
if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PSSnapin Microsoft.TeamFoundation.PowerShell
}

[Microsoft.TeamFoundation.Client.TfsTeamProjectCollection] $tfs = get-tfsserver "http://tfsserver.com"

$items = Get-TfsItemProperty -Server $tfs -Item "$/databaseproject/Database/trunk/Database/Stored Procedures" -Recurse | where{$_.ItemType -eq "File"}
foreach($item in $items)
{
    #i'm stuck on how to get/change the file item properties
}

基本上,我想将 TFS 中 .sql 文件的 ANSI NULLS 属性从 ON 更改为 OFF。我有大约 60 个要更改。

TIA!

【问题讨论】:

    标签: powershell tfs


    【解决方案1】:

    我不相信 Get-TfsItemProperty 输出的对象上存在 ANSI NULL 属性,即使它确实具有这样的属性,您也无法更改它。 Get-TfsItemProperty 根据从服务器检索的信息创建本地数据对象。它是不可变的,即它的所有属性都只有 getter(而不是 setter)。

    此属性更可能是某个文件(.dbschema??)中捕获的设置。在这种情况下,我通常建议您签出该文件,修改设置并重新签入。但是,我遇到了this Q&A that might help。具体看答案 8 和 9。答案 8 暗示可能存在一个错误,即使更改设置也无济于事。答案 9 有一些建议的解决方法。

    【讨论】:

    • 谢谢基思!据我所知,不,没有。我希望我错过了什么。它是 dbproject 中的 .sql 文件,每个存储的 proc 文件 (*.sql) 都有一个 ANSI Nulls 属性
    • 好的,再试一次:谢谢 Keith!据我所知,不,没有。我希望我错过了什么。它是 dbproject 中的 .sql 文件,每个存储的 proc 文件 (*.sql) 都有一个 ANSI Nulls 属性。它看起来像通用 tfs 项目属性,ANSI Null 将不适用。这是一张图片来说明我的意思:dropbox.com/s/hh4i08mnmd0ihs5/Cap.PNG
    • 您需要找到存储该设置的文件。也许它在项目文件中?如果不容易找到,请在更改设置时使用 SysInternals ProcMon 监控文件系统活动。
    • 会的。谢谢基思。我会将您的答案标记为答案(即使这不是我想听到的答案;)
    • 实际上,我打算让它闲逛一会儿,看看是否有人插话。我有 99.9% 的把握你的答案是正确的,但我要打个招呼无论如何,玛丽。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多