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

时间:2015-10-14 15:24:39

标签: powershell ssis

我正在开发一个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 AD中运行此代码:

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吗?

1 个答案:

答案 0 :(得分:0)

而不是' ft' (Format-Table),请改用Select-Object。 Format- * cmdlet实际上是在操作文本以使其最适合控制台窗口;你不想要那个。试试吧

Search-ADAccount -AccountDisabled | Select-Object SamAccountName, SID

并且看到那会让你。