問題タブ [powershell-remoting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
11757 参照

powershell - Powershell リモート処理プロファイル

Enter-PSSessionローカル マシンで使用してリモート PowerShell セッションを開くときに、リモート マシンのプロファイルで関数を使用するにはどうすればよいですか。

0 投票する
10 に答える
50780 参照

powershell - PowerShellリモーティングセッション(PowerShell)でファイルを編集する方法

PowerShellリモーティングを使用して別のコンピューターに接続しています。本当にいいです。多くのことができますが、ファイルを編集するにはどうすればよいですか?

PS C:\ Users \ guutlee> Enter-PSSession -ComputerName appprod

[appprod]:PS C:\ Users \ guutlee \ Documents> cd \ myapp

[appprod]:PS C:\ myapp>

リモートマシン上のファイルでファイルエディタを開くにはどうすればよいですか?

[appprod]:PS C:\ myapp>app.configを編集します

したがって、「ファイル名」の編集は、powershell.exeまたはpowershell_ise.exeからハングしているように見えます

私が考えることができる唯一のことは、pssessionから戻って、VisualStudioを開く「start\ we​​bprod \ c $ \ inetpub \ myapp\web.config」です。

[appprod]:PS C:\ myapp> exit

PS C:\ Users \ guutlee> start \ agobuild \ c $ \ myapp \ app.config

PS C:\ Users \ guutlee> Enter-PSSession -ComputerName appprod

[appprod]:PS C:\ Users \ guutlee \ Documents> cd \ myapp

[appprod]:PS C:\ myapp> myapp.exe

もちろん、これでファイルを再検索し、c $共有が利用可能でアクセス可能であることを期待し、続行したいときにpssessionを再接続して、作業ディレクトリを再検索する必要があります。あまりエレガントではないようです。

これは関数であるかもしれませんが、頭を包むのに苦労しています。

では、リモートpssessionを使用してファイルを便利に編集するにはどうすればよいですか?

編集

kbrimingtonの投稿により、sshの-Xオプションについて考えさせられました。おそらく、PowerShellセッションで、ウィンドウ化されたアプリを元のウィンドウ化環境に転送できるようになるのは素晴らしいことです...

それでも、ファイルを編集するだけでよかったと思います。

編集

vi、emacs、cmd、editを使用したテスト

PS C:\ Users \ Meredith> Enter-PSSession -ComputerName appprod

[appprod]:PS C:\ Users \ guutlee \ Documents> C:\ vim \ vim72 \ vim filename.txt

[appprod]:PS C:\ Users \ guutlee \ Documents> C:\ emacs-23.2 \ bin \ emacs.exe -nw filename.txt

emacs.exe:emacs:標準入力はttyではありません

[appprod]:PS C:\ Users \ guutlee \ Documents> cmd

MicrosoftWindows[バージョン6.1.7600]

Copyright(c)2009MicrosoftCorporation。全著作権所有。

C:\ Users \ guutlee \ Documents>

[appprod]:PS C:\ Users \ guutlee \ Documents> edit filename.txt

viと編集ハング(プロンプトを戻すにはControl-C)

cmdが実行され、プロンプトが生成されますが、すぐに終了してPowerShellプロンプトに戻ります

emacsはエラーを生成します(標準入力はttyではありません)

編集

Jeredは、ファイルをローカルにプルバックして編集することを提案しています。私はUNCではなくpssessionsを使用してコピーすることへの彼の答えを飾りました(おそらくこれは彼が意図したものです)

PS C:\ Users \ Meredith> Invoke-Command -Session $ ps -ScriptBlock {get-content c:/inetpub/myapp/web.config}> web.config

Web設定を編集する

PS C:\ Users \ Meredith> get-content web.config | Invoke-Command -Session $ ps -ScriptBlock {set-content c:/inetpub/myapp/web.config}

ローカルからリモート、またはリモートからローカルのいずれかの方向で、invoke-commandsを実行できる可能性があります。

0 投票する
1 に答える
4245 参照

powershell - Invoke-Commandを使用してリモートマシン上のコマンドのリストを処理します

コマンドのリストを取得してリモートマシンで実行するPowerShellスクリプトを作成しようとしていますが、次のコードがあります。

これはエラーをスローしませんが、実際にはコマンドを実行しません(たとえば、stop-service servicename)。$ messagesは、スクリプトが呼び出されたときに引数として渡されたテキストファイルから読み込まれます。しばらくの間、Invoke-Expressionでローカルコマンドを実行するために使用しているため、このスクリプトの残りの部分が機能することはわかっています。

どんな助けでも素晴らしいでしょう。

0 投票する
2 に答える
26067 参照

powershell - PowershellでリモートGUIアプリを実行する

Powershellの機能の一部をラップするカスタムコンポーネントがあるため、BizTalk 2006から使用できます。ほとんどの操作(ファイルパスの確認、ファイルのコピーまたは移動)では、これで問題なく動作します。ただし、何らかの処理を行うには、GUIアプリをリモートで起動する必要があります。コンポーネント自体がリモートボックスへの接続を処理します。必要なのは、いくつかのパラメーターを設定してから、コマンドを実行するように指示することだけです。

問題は次のとおりです。ボックス自体のPowerShellコマンドラインからこれを実行すると、これは正常に機能します。ただし、リモートで起動すると(BizTalkから、テストハーネスから、リモートのPowershellコマンドラインとStart-PSSessionを介した接続を使用しても)、このアプリは短時間実行され、実際には何もせずに終了します。私の疑惑は、問題のexeファイルがプロセスを実行するためにロードするGUIを必要とするため、問題を引き起こしているのはこれであるということです。-NoNewWindowや-WindowStyleなど、考えられるすべてのことを試しましたが、役に立ちませんでした。これを機能させるための助けをいただければ幸いです。

注:古いwin32アプリケーションであり、このアプリケーションのバッチバージョンまたはコマンドラインバージョンが提供されていないため、実行しようとしているアプリケーションのソースにアクセスできません。

0 投票する
1 に答える
59261 参照

powershell - Enter-PSSessionがPowershellスクリプトで機能していません

スクリプトから以下の行を実行すると、ファイルはローカルマシンに作成されます。

PowerShellコンソールから各行を個別に実行すると、リモートセッションが正しく作成され、ファイルがリモートマシンに作成されます。理由について何か考えはありますか?タイミングの問題はおそらくスクリプトですか?

0 投票する
1 に答える
1597 参照

windows - PowerShell リモート処理を使用して、リモート サーバーで sysocmgr.exe を実行します。

sysocmgr.exe を使用して、リモート サーバーで Windows コンポーネントのリモート インストールを実行できません。動作してpsexec.exe \\ServerName -i sysocmgr.exe /i:%wnidir%\inf\sysoc.inf /u:\\path\to\components.txtいますが、powershell リモート処理を使用して同じ結果を達成したいと考えています。

WinRM を使用した PowerShell リモート処理は正常に機能していますが、PowerShell を使用して sysocmgr.exe をリモートで実行できません。

両方のサーバー(ローカルとリモート)で行ったこと:

  1. Set-ExecutionPolicy unrestricted
  2. Enable-PSRemoting- わかった
  3. Set-Item WSMan:\localhost\Client\TrustedHosts *
  4. WinRM サービスを再起動しましたが、動作しています

これらすべてが両方のサーバーで機能するようになったので、New-PSSession を使用して永続的なリモート セッションをセットアップしました。

次に、すべてのサーバーへのアクセス可能な共有に保存され、次を含むpowershellスクリプト(script.ps1)を起動しようとしました:

Invoke-Command を使用しました:

上記の呼び出しコマンドを起動した後、リモート サーバー (server1) のタスク マネージャーで、sysocmgr.exe が実行されていることを確認できますが、何も実行されません。Windows コンポーネントのインストールが始まらない ...

私は使用してみました:

enter-pssession -computername Server1-正常に動作しましたscript1.ps1を起動しようとしましたが、同じことをしました。タスクマネージャーでsysocmgr.exeを見ることができますが、何もしません...

デスクトップと対話するためのパラメーターが不足していると思います.psexecの「-i」パラメーターのように、powershellでは見つけることができません...

ご協力ありがとうございました。

0 投票する
1 に答える
1317 参照

powershell - プッシュランスペースはどうなりましたか?また、置き換えは何ですか?

PowerShell v2 CTPの少なくとも一部には、「push-runspace」と呼ばれるコマンドレットがありました。これにより、リモートPowerShellを実行する基本的にローカルウィンドウであるものを取得できます。ただし、このコマンドレットとすべての* -runspaceコマンドレットは、PowerShellv2には存在しません。この種の機能について私が見ることができる唯一の言及はこれです:

IsRunspacePushedプロパティに注意してください。このことから、このようなことはまだ可能だと思いますが、どうすればよいでしょうか。

0 投票する
2 に答える
4471 参照

powershell - Powershell Remotingを介して7za.exeを実行するにはどうすればよいですか?

私はこれを行うためにいくつかの異なる方法を試しましたが、それらはすべて同じエラーになります。コマンドのセットは次のとおりです。


私が得る出力はこれです:

どうすればそのエラーを乗り越えることができますか?

スクリプトブロックをリモート処理せずにServerAで直接実行すると、機能することを指摘しておく必要があります。助けてくれてありがとう!

0 投票する
3 に答える
4935 参照

powershell - ネットワーク共有にあるimport-module

ネットワーク上の他のサーバーへのリモートセッション中にロードしたいモジュールをネットワーク共有に配置しています。

ここに私のコマンド:

エラーは次のとおりです。

モジュールをネットワーク共有からロードできないのですか、それとも何が間違っているのですか?

ありがとう

0 投票する
2 に答える
4598 参照

powershell - Powershell - リモート マシンにあるスクリプトを実行して、ネットワーク共有からファイルにアクセスします。

以下のコマンドを使用して、リモート マシンにある PowerShell スクリプトを実行しようとしていますが、うまく機能します

起動コマンド (powershell c:\install\install.ps1) -computername box1 -credential (get-credential)

上記のスクリプトは、(robocopy を使用して) ネットワーク共有からファイルをコピーします - 場所が存在しないという不平を言って失敗します。許可の問題が原因であることがわかりました。共有に次の資格情報を使用するようにスクリプトで明示的に言及したときに機能します

net use \share1\files パスワード /user:username

スクリプトがリモート マシンの他のリソースにアクセスするために使用するスクリプトの実行に使用されるのと同じ資格情報を渡す方法はありますか?

ありがとう!サンジーブ