ターミナル サーバーのテキスト ファイルを検索し、切断されたセッションを見つけて、ユーザー名とサーバー名を返す PS スクリプトを作成しています。
目的は、セッションが切断されているユーザーに定期的に電子メールを送信して、ユーザーが適切にログオフできるようにすることです。ログオフしないと、従来のデータ入力システムを開いたままにしておく傾向があり、インデックスやテーブルの破損の発生率が高くなります。
私がこれまでに持っているコードは次のとおりです。
$tsservers = Get-Content .\powershell\terminalservers.txt
foreach ($i in $tsservers){
#write-output $i
$Sessions = Get-TSSession -ComputerName $i | where {(($_.state -eq "Disconnected"))} | Select -ExpandProperty UserName
foreach ($session in $Sessions) {
$query = "SELECT * from ds_user where ds_sAMAccountName='$session'"
$user = Get-WmiObject -Query $query -Namespace "root\Directory\LDAP"
$user.DS_mail
}
}
これを使用して、ユーザー名を取得し、AD を照会して電子メールを生成できます。サーバープロパティをそのコードに組み込むために何度も試みましたが、役に立ちませんでした。
編集 1: 理想的には、複数のプロパティを渡したいと思います (例: 切断時間など)。