2

CSV ファイルにリストした Active Directory の多数のユーザーの役職フィールドを編集したいと考えています。

これを実行すると、ユーザーに関連付けられたすべての属性を取得できます。

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%UsrFld%))" -attr * -limit 0

ただし、これを使用して「タイトル」フィールドを編集するために次のことを実行しようとすると:

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%promptusername%))" -attr * -limit 0| dsmod user -title Disabled User

次のエラーが表示されます。

dsmod failed:Value for 'Target object for this command' has incorrect format.

明らかに、DSMOD は構文の前半を編集対象として解釈できないと言っています。私の質問は、使用しているクエリでタイトル フィールドを編集するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

ここでの問題は、dsquery からの出力がユーザー オブジェクトのすべての属性であり、dsmod が単に userDN を想定していることです。残念ながら、メール フィールドで dsquery * を使用しようとして、これに遭遇しました。

私の dsquery: dsquery * domainroot -filter "(&(objectcategory=person)(objectclass=user)(mail=somedude@contoso.com))" -attr識別名 -L

出力は次のとおりです。CN=Some Dude、OU=BitInspector、OU=Bit Makers、OU=Mfgs、DC=Contoso、DC=Com

Dsmod は、"CN=Some Dude,OU=BitInspector,OU=Bit Makers,OU=Mfgs,DC=Contoso,DC=Com" のような引用符付きの入力を想定しています。

残念ながら、dsquery の出力を引用符で囲む方法がわからなかったため、PowerShell に行き着きました。

于 2015-02-19T18:03:08.713 に答える