質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

4034閲覧

ドメインに参加させるスクリプトのエラーについて

teketeke

総合スコア46

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2017/04/27 11:29

編集2017/04/28 01:02

ドメインに参加させたいWindowsにはOpenSSHを入れています。

以下のスクリプトをローカルで実行すると、ドメインに参加させることができますが、
リモート(CentOS)からsshで引数を渡して実行させると、エラーになってしまいます。

各引数をecho で出すと正しい値でしたし、$credの中のユーザー名、パスワードも正しい値でした。
リモートから実行する時は、どのようにすれば良いのでしょうか。

■リモートからの実行方法 どちらも同じエラーとなっています。

/usr/bin/ssh -o 'StrictHostKeyChecking no' -i ssh_host_rsa_key user@10.0.2.2 "powershell C:\work\addDomain.ps1 ASDzxc1230 Administrator dev.local" /usr/bin/ssh -o 'StrictHostKeyChecking no' -i ssh_host_rsa_key user@10.0.2.2 "powershell C:\work\addDomain.ps1 'ASDzxc1230' 'Administrator' 'dev.local'"

また、addDomain.ps1のpass,uname,domainを引数から受け取らずに、以下のように直接記載しても同じエラーとなっていました。

###該当のソースコード

powershell

1$pass=$Args[0] 2$uname=$Args[1] 3$domain=$Args[2] 4 5#$pass=ASDzxc1230 6#$uname=Administrator 7#$domain=dev.local 8 9echo "=PASS=" 10echo "$pass" 11echo "=NAME=" 12echo "$uname" 13echo "=DOMAIN=" 14echo "$domain" 15 16$password = ConvertTo-SecureString "$pass" -asplaintext -force 17$cred = New-Object System.Management.Automation.PsCredential "$uname",$password 18Add-Computer -DomainName "$domain" -Credential $cred 19#Restart-Computer

###エラーメッセージ

Add-Computer : コンピューター 'pctest001' は、現在のワークグループ 'WORKG ROUP' からドメイン 'dev.local' に参加できませんでした。エラー メッセージは次 のとおりです。パスワードを更新できませんでした。現在のパスワードとして指定され た値が間違っています。。 発生場所 C:\work\addDomain.ps1:28 文字:1 + Add-Computer -DomainName "$domain" -Credential $cred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (pctest001:String) [Add- Computer], InvalidOperationException + FullyQualifiedErrorId : FailToJoinDomainFromWorkgroup,Microsoft.PowerShe ll.Commands.AddComputerCommand

###追記
uname 引数を 'dev.local\Administrator' として、ドメインユーザであることを明示すると実行することができました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argparse

2017/04/28 00:13

uname 引数を 'dev.local\Administrator' として、ドメインユーザであることを明示するとどうでしょうか?
teketeke

2017/04/28 01:00

試したところ、実行できました。ありがとうございます。 今のところローカルとリモートで違いが出る原因はわかりませんが、ドメインが絡むところは、ドメイン名を明示するようにしてみます。
guest

回答1

0

自己解決

argparse様の御指摘にある、ドメインユーザであることを明示したところ実行できました。

今のところローカルとリモートからで動作が変わるのは、原因がわかりませんが、実行できるようになりました為、解決済みとさせていただきます。

投稿2017/04/28 01:04

teketeke

総合スコア46

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問