1

MS Liveにユーザーを追加するために、次のスクリプトを作成しました。

$pass = Get-Content D:\PSScripts\pass.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential "user@domain.com", $pass
Connect-MsolService -Credential $cred
New-MsolUser -userprincipalname test@domain.com -Displayname "Johny Tester2"

コマンドを1行ずつPowerShellにコピーして貼り付け、新しいユーザーを正常に作成できますが、コマンドラインからすべてを実行する方法がわかりません。

上記の4行をD:\ PSScripts\script2.ps1のファイルに保存しました

次の内容のファイルを作成しました:D:\ PSScripts \ runall.bat:

powershell.exe "&'D:\ PSScripts \ script2.ps1'"

(私はまた、&記号なし、引用符なし、'exe'なし、-コマンドスイッチ付きで試しました)

最初の2行を通過した後、「Connect-MsolService」と「New-MsolUser」でエラーが発生するようです。

「Connect-MsolService」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して、再試行してください。

別のプログラムからこれらのコマンドを実行できるようにする必要があり、batファイルを実行するのが最善の選択肢です。助けてください。

Win Server 2008 R2、PowerShellバージョン2.0で実行

4

3 に答える 3

4

PowerShell 2は動的なモジュールの読み込みを行いませんが、これはPowerShell 3の新機能です。問題を修正するには、Import-Moduleコマンドレットを使用してモジュールをセッションに手動でインポートできます。これが完全な修正です。

Import-Module MSOnline
$pass = Get-Content D:\PSScripts\pass.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential "user@domain.com", $pass
Connect-MsolService -Credential $cred
New-MsolUser -userprincipalname test@domain.com -Displayname "Johny Tester2"
于 2012-10-31T10:35:02.307 に答える
1

追加してみてください

import-module MSOnline

あなたの始めにD:\PSScripts\script2.ps1

于 2012-10-31T05:59:30.537 に答える
0

ここで完全なトピックを参照してください:MSOnlineをPowerShellにインポートできません(Connect-MsolServiceエラー)

この問題を解決するために私がしたことは次のとおりです。

MSOnlineおよびMSOnlineExtendedというフォルダーをソースからコピーします

C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ MSOnline

フォルダに

C:\ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ Modules

そして、PSでを実行するImport-Module MSOnlineと、モジュールが自動的に取得されます:D

于 2013-04-15T15:02:41.223 に答える