[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
質問
大量のユーザーをADにインポートするためのPowerShellスクリプトを作成しています。
項目の1つは、プログラム番号に従ってユーザーをADセキュリティグループに追加することです。私が何かスペルを間違えたり、その他の単純なヒューマンエラーを起こさない限り、ほとんどの場合、これはうまくいっています。しかし、全員が追加されなければならないセキュリティグループが2つあり、そのうちの1つは
Add-ADGroupMember
は完璧に動作するのですが、もう一方のグループを見つけることができません。これは、私が使用しているスクリプトです。
$Users = Import-Csv "C:\PSScripts\Create\users.csv"
foreach ($User in $Users)
{
$AccountName = $User.firstname + "." + $User.lastname
$Program = $User.Program
$HomeDrive = 'H:'
$UserRoot = '\\twgeneral\homedrive\'
$HomeDirectory = $UserRoot+$AccountName
Set-ADUser $AccountName -HomeDrive $HomeDrive -HomeDirectory $HomeDirectory
If ($AccountName -eq $AccountName)
{
Add-ADGroupMember -Identity "ALL_USERS" -Member $Accountname
}
If ($AccountName -eq $AccountName)
{
Add-ADGroupMember -Identity "000-All users" -Member $Accountname
}
}
そして、こんなエラーが返ってきました。
Add-ADGroupMember : Cannot find an object with identity: '000-All users' under: 'DC=*****,CD=local'.
At C:\psscripts\create\Groups.ps1:15 char:23
+ {ADD-ADGroupMember <<<< -Identity "000-All users" -Member $Accountname
+ CategoryInfo : ObjectNotFound: <000-All users:ADGroup> [Add-ADGroupMember], ADIdentityNotFoundException
+ FullyQualifiedErrorId : Cannot find an object with identity: '000-All users' under: 'DC=*****,DC=local'.,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
しかし、ADUCグラフィック・インターフェースを使用して、000-Allユーザー・グループにユーザーを追加することができます。
同様に、これより前のスクリプトを実行して、SAM; 表示名; Exch. しかし、グループスクリプトが動作する部分、ALL_USERSグループを実行しようとすると、一部のユーザーは同じ「オブジェクトが見つかりません」エラーを返します。具体的には、Markiem-ChalmersやTatem-Brownのようなハイフンを含んだ姓を持つユーザーです。
の構文がおかしいのは知っています。
Add-ADGroupMember
グループ名をALL_USERSから000-All usersに変更しただけで、正しく実行されます。また、スペルが正しいことを二重、三重、四重にチェックしました。どんなヘルプでも大いに結構です!
どのように解決するのですか?
コメントで出していただいた質問に対する回答です。
Add-ADGroupMember
は、DN、SAM、GUID、または Sid でのみ検索できます。このコマンドレットを直接使用して、Name やその他のプロパティで検索することはできません。
あなたは
可能
を実行します。
Get-ADUser
をCSVのエントリに追加して、Nameなどを使ってSAMを引き出しますが、SAMが切り捨てられることが問題なら、なぜsubstringではないのでしょうか?
$limit = #The length a name can be before it gets truncated
if($AccountName.Length -gt $limit)
{
$AccountName = $AccountName.Substring(0,$limit)
}
関連
-
[解決済み】powershellにターミネーターがない。"
-
[解決済み] リモートサーバーへのEnter-PSSessionが "access is denied "で失敗する。
-
[解決済み] PowerShellで、変数が数値を保持しているかどうかをテストするにはどうすればよいですか?
-
[解決済み] xPath を使用する Powershell スクリプトの .SelectSingleNode が web.config ファイルから値を抽出する際に動作していない
-
[解決済み] Get-ADUser でのエラー: 無効な列挙コンテキスト
-
[解決済み] AzureのAdd-AzureDiskが動作しない
-
[解決済み] PowerShellで環境変数をコンソールに出力する方法は?
-
[解決済み] いずれかのキーを押して続行[複製]。
-
[解決済み] 配列、ハッシュテーブル、ディクショナリーを作成しますか?
-
[解決済み] Get-MSolUserのフィルタリング方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PowerShellです。エラー "引数 ... を受け入れる位置パラメーターが見つかりません"
-
[解決済み] PowerShell起動時に「動的操作はhomogenous appdomainでしか実行できない」エラーが発生する。
-
[解決済み] Invoke-Sqlcmd エラー : リモート DB サーバを呼び出すために powershell を実行すると、ユーザ xxxx のログインに失敗しました。
-
[解決済み] Powershell - 空のパイプ要素は許可されません。
-
[解決済み] PowerShellで使用できるすべての色のリスト?
-
[解決済み] PowerShellでディレクトリを変更する
-
[解決済み] Windows PowerShellでファイルが存在するかどうかをチェックする?
-
[解決済み] PowerShellでコマンド出力に改行を追加するにはどうすればよいですか?
-
[解決済み] PowerShell:PowerShellで配列オブジェクトを文字列に変換するにはどうすればよいですか?
-
[解決済み] PowerShellの画面を各コマンドの前に自動的にクリアする方法はありますか?