2
我用下面的函數來連接到PostgreSQL數據庫:添加廣告屬性到SQL查詢輸出
function Get-ODBC-Data{
param([string]$query=$(throw 'query is mandatory.'))
$conn = New-Object System.Data.Odbc.OdbcConnection
$conn.ConnectionString = "Driver={PostgreSQL Unicode(x64)};Server=192.168.0.120;Port=7050;Database=datbase;Uid=user;Pwd=pass;"
$conn.open()
$comm = New-object System.Data.Odbc.OdbcCommand($query,$conn)
$dase = New-Object system.Data.DataSet
(New-Object system.Data.odbc.odbcDataAdapter($comm)).fill($dase) | out-null
$conn.close()
$dase.Tables[0]
}
下面的查詢返回所有的用戶ID和用戶代碼。用戶ID恰好匹配Active Directory的sAMAccountName屬性。
$query = "SELECT userid,code FROM pval_users"
$users = Get-ODBC-Data -query $query
$用戶的示例內容:
userid code
------- ------
jdoe 34576
bmil 98765
我要嵌入特定的廣告屬性$未存儲在數據庫中的用戶,從而使輸出看起來像:
userid First Last code
------- ------ ----- -----
jdoe John Doe 34576
bmil Bill Miller 98765
什麼是實現此目標的「最佳」解決方案?我有一個想法,使用Get-ADuser -id $_.userid | select givenName, sn
,但我沒有設法得到它的輸出,我需要它的順序。
在此先感謝!
非常感謝Mark!正是我在找什麼。我認爲選項1將適合我的需求。目前我仍然有一個小問題,即姓氏顯示爲空,儘管AD中的字段已經填滿。 – user7986342
'surname'而不是'sn'做了詭計;) – user7986342
我已經修改了答案,以備將來參考。 –