Xeroxの複合機で、ActiveDirectory連携によるカード認証を導入した際、カード番号をPowerShellで一括登録

2021年2月9日火曜日

ActiveDirectory PowerShell 複合機

t f B! P L

いきさつ

複合機の管理担当である総務さんと、Xeroxさんとの間で、

「複合機から出力するときにカード認証にしようよ。余計な印刷が減って経費削減になるよ。ADで認証できたら複合機にいちいちユーザー登録しなくていいし、誰がどれだけ使ったか集計するときも、ユーザーと紐づいているから楽になっていいよね~。」

という話で盛り上がっているところに、巻き込まれたわたし。ADで使っていない項目に、カード番号をセットしていただけたらそれで認証できますから、という。社員番号とカード番号のリストを送られてきて、さてどうしようかと思案。一人ひとりADで登録するのはメンドウなので、何かスクリプト的なもので一気に設定できないか試してみた。

PowerShellでADを操作するために「RSAT」をインストール

Windows10端末を使ってPowerShellでADを操作するにあたり、「Windows 10 用のリモート サーバー管理ツール」をインストールする必要があるようだ。いわゆる、「RSAT」というやつ。

■Windows 10 用のリモート サーバー管理ツール
https://www.microsoft.com/ja-JP/download/details.aspx?id=45520

ここから、ツールをダウンロードする。いくつかバージョンが用意されているが、最新っぽい「WindowsTH-RSAT_WS2016-x64.msu」を落として、インストールした。


「はい」をクリックすると、インストールが始まる。


「同意します」をクリック。


結構時間がかかる、数分待つ感じ。


完了した画面は、あっけない感じ。


これで、PowerShellでADを操作する準備が整った。

PowerShellでADの項目に値を入れる

ps1ファイルを、以下のような感じで作成。今回、ADでカード番号を入れる項目を、ポケットベル(pager)に設定している。

# 管理者権限に昇格する
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }

# スクリプトがある場所のパスを通す
Set-Location -LiteralPath $PSScriptRoot

# リストに沿って、カード番号をセットしていく
$importFilePath = ".\modify.csv" 
import-csv -Encoding Default $importFilePath | Foreach-Object {
    Set-ADUser -Identity $_.user -Replace @{Pager=$_.cardno}
};

加えて、ps1と同じフォルダに、ADのユーザーごとにセットしたいカード番号を、以下のような感じで作成する。「modify.csv」という名前を付けて保存すれば、準備完了。

user,cardno
00001,1000000301
00002,1000000302
00003,1000000303

これで、ps1ファイルを実行してあげると、、、セットしたいユーザーに一括で反映できた!

今後の運用について

使い始めに一括で設定するのはこれで大丈夫だけど、当然これからのユーザー登録、また削除などにも対応する必要がある。特に、認証のためのカードは使いまわしになる(使わなくなった方のカードを、別の方に使ってもらう)ため、先に使っていた方のカード情報を削除しないまま、新たに配布した方のカード情報を登録してしまうと、認証エラーで印刷できない。

登録や削除の頻度があまり無い状態であれば、ADを直接編集するのもいいかな~と思うけど、編集にあたって事故が起きないよう、何か仕組み化しておかないとダメかなと思う今日このごろ。

このブログを検索

サイトマップ

  • ()
  • ()
もっと見る

Google検索

マルウェア「Emotet」に感染したくないから、「EmoCheck」と「EmoKill」の使い方、利用方法をまとめてみた!

  はじめに 世間を騒がしている「Emotet」。2014年ごろから確認されているマルウェアだが、流行と鎮静化を繰り返しながら変異を続けており、今もなお大きな影響を及ぼしている。2020年は、多数の企業が被害を受けた年になった。 Emotetに一旦感染するとやっかいだ。そのモジュ...

QooQ