2016-08-10 1 views
2

私はこのPowerShell(またはVBまたはバッチ)スクリプトを作成しようとしています。必要なのは、代替資格情報を使用してネットワークドライブを永続的にマップすることだけです。何らかの理由で、資格情報が永続していないようです。最初は正常にマップされ、ログイン時にはドライブに赤色のXが表示され、開こうとするとパスワードの入力が求められます。Powershell永続マップドライブは次のログオンのための資格情報を保存しません

管理者としてpowershellを実行すると、再ログオン時にドライブが表示されなくなります。私は範囲の問題のために推測していますが、私は世界の旗がそれを世話していると考えましたか?

私はまた、 "net use"メソッドと "Wscript.Network"メソッドをpowershell ...の同じ結果から試しました。

私はWindowsスクリプティングのために新しくなったので、おそらく何か本当にダムなのです。ここに私が使っているスクリプトの本質があります。私はそれをPowerShellのウィンドウに直接ペーストしています。私はどこに迷いましたか?

$user = "USERNAME" 
$pass = "PASSWORD" 

$cur_share = "\\192.168.1.100\websites" 

$drive = "X" 

$PWord = ConvertTo-SecureString -String $pass -AsPlainText -Force 
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user, $PWord 

New-PSDrive -Name $drive -PSProvider "FileSystem" -Root $cur_share -Scope "Global" -Persist -Credential $Credential 

答えて

0

おかげジョン。私が実行可能な解決策を見つけたと同時に投稿します。キーは、ネットワークパスを使用する前に、管理に資格情報を格納することです。

$result = cmdkey /add: "192.168.1.100" /user: "USERNAME" /pass: "PASSWORD" 

これは、資格情報を永続的に格納します。ドライブをマッピングすると、パスワードプロンプトが表示されずに永続的に動作します。

1

代替の資格情報を使用しているため、この現象が発生しています。自分の資格情報で自分のコードを使用すると、ドライブは再起動しても保持されますが、別の資格情報を使用してもそれはありません。これは明らかに設計通りです。コマンドレットのヘルプから

関連する詳細情報:

マップされたネットワークドライブには、ユーザーアカウントに固有のものです。マップされたネットワーク 管理者として実行 オプションを使用してセッションを作成するか、別のユーザーの資格情報を使用してドライブを作成すると、 資格情報なしで開始されたセッションでは表示されない または現在の使用者。

参考:

https://technet.microsoft.com/en-us/library/hh849829.aspx?f=255&MSPPError=-2147217396

関連する問題