2017-11-14 5 views
0

Azureストアから作成したAzureにSQL Server 2014 VMがあります。 PowerShell CustomExtensionを追加して、新しいVMが利用可能になるとすぐにデータベース環境をセットアップしたいと考えています。私はアクセス許可に問題があります。以下のPowerShellコードをローカル管理者として実行すると、ローカル管理者にドメイン管理者権限がないため、Windows NTユーザーまたはグループが見つからないというメッセージが表示されます。以下のPowerShellをドメイン管理者として実行すると、そのドメイン管理者にはSQL Serverにログオンする権限がありません。これは実際に達成しようとしている作業です。最初のドメインユーザーを追加するPowerShellスクリプト[アクセス許可の問題]

cls 
import-module sqlps –DisableNameChecking -Verbose:$false | Out-Null 
$sql = "USE [MASTER] 
GO 
CREATE LOGIN [ABC.PROD\My Group Name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] 
GO" 
Invoke-Sqlcmd -Query $sql 

ドメイン管理者として上記の実行が、私はこのエラー

起動-SQLCMDを取得する場合:ログインユーザー 'ABCの\ myadminusername' に失敗しました。

ローカル管理者として上記の実行が、私はこのエラー

起動-SQLCMDを取得する場合:Windows NTユーザーまたはグループ 'ABC.PROD \マイグループ名' ではない ました。もう一度名前を確認してください。

便利なPowerShellを使ってこのキャッチ22から簡単に抜け出す方法はありますか?これを手動で行う場合は、ローカル管理者としてSQL Serverにログオンし、ユーザー、リストの場所を追加し、尋ねられたときにドメイン管理者の資格情報を提供するだけです。しかし、私はこれらのドメイン管理者の資格情報をこのSQLコマンドに供給するための方法を見ることができません。私はこの質問を書いていた一方で

は、 デビッド

答えて

0

OKをいただきありがとうございます、私は実際に問題を発見しました。すでに質問が書かれていたことを考えれば、これを投稿して、他の人に役立つ場合に答えを出すと思った。

問題は、完全修飾ドメイン名を提供してはならないということでした。以下のコードは、ローカル管理者として実行されたときに機能します。私は "ABC.PROD \ My Group Name"を "ABC \ My Group Name"に変更しました。

cls 
import-module sqlps –DisableNameChecking -Verbose:$false | Out-Null 
$sql = "USE [MASTER] 
GO 
CREATE LOGIN [ABC\My Group Name] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] 
GO" 
Invoke-Sqlcmd -Query $sql 
関連する問題