我正在开发一个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吗?
答案 0 :(得分:0)
而不是' ft' (Format-Table
),请改用Select-Object
。 Format- * cmdlet实际上是在操作文本以使其最适合控制台窗口;你不想要那个。试试吧
Search-ADAccount -AccountDisabled | Select-Object SamAccountName, SID
并且看到那会让你。