CodeSOD: An Odd Sort ノート

CodeSOD: An Odd Sort

このスクリプトは、すべてのアクティブディレクトリユーザーとその最終ログオン時刻を報告することを目的としていますが、非効率的で複雑なアプローチを採用しています。ユーザーアカウントをフィルタリングするためにアルファベットの各文字を反復処理しますが、これは完全にアルファベット順のソートを保証するものではありません。各文字に対して、新しいDirectorySearcherオブジェクトを作成し、「name」プロパティのみを明示的に要求し、一致するすべての comptes を検索します。その後、取得された各名前に対して、スクリプトはさらに別のDirectorySearcherを作成します。この新しい検索erは、すべてのプロパティを取得するために特定のユーザーアカウントをクエリするために使用されます。ユーザー名の検索では1つの結果のみが期待されますが、FindAll()メソッドが使用され、配列が返されます。これにより、単一要素の配列を反復処理するための不要なループが必要になります。最後に、ユーザー名と最終ログオン時刻をコンマで連結して出力します。スクリプトの設計は、検索erのインスタンス化の繰り返し、冗長なクエリ、および非論理的なフィルタリング方法により、非常に非効率的です。その欠点にもかかわらず、マネージャー向けのCSVを生成できる能力により、組織内で「ミッションクリティカル」となっています。