如何从powershell AD模块获取完整SID并在SSIS中运行

如何从powershell AD模块获取完整SID并在SSIS中运行,powershell,ssis,Powershell,Ssis,我正在开发一个SSIS包,以从AD获取所有禁用的帐户。我希望获取完整的SID并将其放入一个文件中。但它不允许我这样做 现在,我的软件包中有一段代码可以正常工作: -executionpolicy remotesigned -command "import-module activedirectory; search-adaccount -accountdisabled |ft SamAccountName, SID" >d:\scripts\disabledaccount\Disabled

我正在开发一个SSIS包,以从AD获取所有禁用的帐户。我希望获取完整的SID并将其放入一个文件中。但它不允许我这样做

现在,我的软件包中有一段代码可以正常工作:

-executionpolicy remotesigned -command "import-module activedirectory; search-adaccount -accountdisabled |ft SamAccountName, SID" >d:\scripts\disabledaccount\DisabledAccount.txt
但这只返回SID,如:S-1-5-21-1219070818-4200922009-29827

所以我需要完整的SID。我尝试在Powershell广告中运行此代码:

import-module activedirectory; search-adaccount -accountdisabled |ft SamAccountName,@{Label="SID";Expression={$_.SID};width=50;align="left"} >d:\scripts\disabledaccount\DisabledAccount.txt
而且效果很好。但是,当我尝试在SSIS包中运行它时,它不起作用,因为这部分的原因是@{Label=“SID”;Expression={$\.SID};width=50;align=“left”}

有人能告诉我应该在那里放置什么来获得完整的SID吗?

使用
选择对象,而不是“ft”(
格式表
)。Format-*cmdlet实际上是在操纵文本,使其最适合控制台窗口;你不会想要的。试试看

Search-ADAccount -AccountDisabled | Select-Object SamAccountName, SID
你要明白这一点