問題タブ [winrm]
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.
php - PHP Exec() コマンドを使用して WINRS / WINRM cmd を実行する
プラットフォームの詳細: IIS7、PHP5、Windows Server 2008 サーバー名: server1
php の exec() 関数を使用して、次のコマンドを含む .bat ファイルを実行しようとしています。
ただし、そのコマンドを実行すると機能しません。custom_functions.bat ファイルを server2 で直接実行すると、正常に動作するため、問題は私のコードではない可能性があります。パーミッションエラーだと思います。
exec("whoami") を実行すると、ユーザーとして "nt authority\network service" が返されます。
exec("ipconfig") や exec("dir c:\") などの php exec() 関数を使用して基本的な Windows コマンドを実行すると、正常に動作します。問題は、WINRM を使用してリモート サーバーでコマンドを実行しようとしたときに発生します。php の system() 関数も使用しましたが、結果は同じでした。
助けてください!?
windows - PowerShell コマンドをリモートで実行することのセキュリティ?
PowerShell は初めてです。Windows 7 を実行しているリモート PC で PowerShell コマンドを実行しようとしています。
リモート PC で、次の PowerShell コマンドを実行しました。
ホスト PC で最後の 2 つのコマンドを実行しました (ただし を使用<remote_ip>
)。
これが正常に機能することを確認しました:
私の質問: これはパブリック ネットワーク上で安全ですか? 私は何か他のことをすべきですか?または、SSL を使用する必要がありますか? もしそうなら、どうすればいいですか?
windows - サーバーをTrustedHostsに追加せずに、winrmを使用してリモートサーバーに接続します
私はwinrmとTrustedHostsに対処するのに苦労してきましたが、役に立ちませんでした。いくつかの実験の結果、winrm / config / clientのこのフィールドは最大1023シンボルに制限されていることがわかりました。これは、特にipv6でホストを追加する場合には十分ではありません。Windowsリモート管理のインストールと構成から引用します。A trusted hosts list should be set up when mutual authentication cannot be established.
また、同じファイルのテキストには次のように書かれています。Other computers in a workgroup or computers in a different domain should be added to this list.
つまり、2台のコンピューターが同じドメインにある限り、winrmを使用して一方から他方にアクセスできるはずだと思いました。
テストドメインに2台のコンピューターを追加しようとしましたが、実行されました。
winrm get winrm / config / client -r:192.168.100.1 -u:user -p:pass
それらの1つから他へ、しかしこれはエラーで失敗しました:
TrustedHostsに192.168.100.1を追加した後、上記のクエリは成功します。だから私の質問は:TrustedHostsを変更せずに2つのホスト間でwinrmを使用することは可能ですか?信頼できるホストをに設定すること*
は私にとってオプションではありません。
powershell - Exchangeに対するリモートRunspace接続が失敗する
C#を介してリモートでExchangeサーバーにコマンドを発行したい。PowerShellを介してこれを直接行うと、機能します。しかし、C#を介してPowerShellにコマンドを発行すると、失敗します。
これが私がPowerShellで行っていることです(これは機能します):
これがC#です(動作しません):
このリモートログインを実行する権限を持つ特定のユーザーがいます。PowerShellはこのユーザーとして実行されますが、ユーザーはC#コードで偽装されます。これは、PSCredentialとして渡すこのユーザーのユーザー名とパスワードでもあります。
何が悪いのかについて何か考えはありますか?
command-line - TeamCity から勝者を複数回呼び出す
次のように、同じ Team City コマンドラインで 2 つの winrs コマンドを実行すると:
ビルドがハングします。
- ビルド エージェントで winrs プロセスを手動で強制終了すると、ビルドは終了しますが、コード 1 で終了します。
- winrs コマンドを 1 つだけ実行すると、ビルドは成功します。
- winrs コマンドを 2 つの異なるビルド ステップに分割すると、ビルドも成功します。
- 2行をバッチファイルに入れてビルドエージェントで実行すると、それも機能します。
- 2行をcmdファイルに入れて、ビルドエージェントユーザーとしてビルドエージェントで実行すると、それも機能します。
ここで何が起こっているのか/これを修正する方法を知っている人はいますか?
Team City または winrs の第一人者が私を助けてくれることを願っています。
c# - 別のドメイン (WinRM) エラーからリモート Exchange (2010 および 2013) PSSession を開くことができません。お知らせ下さい?
リモート交換 PS セッションを開こうとしていますが、失敗して WinRM エラーが発生します。
通常の PS セッションを開くことはできますが、Exchange 構成ではできないことに注意してください。
PSRemoting が有効になっている同じドメイン内の任意のマシンから Exchange サーバーを管理することは可能ですか?
異なるドメインのマシンから Exchange サーバーを管理することは可能ですか?
エラーに関する提案は大歓迎ですか?
私が実行したコマンドは次のとおりです。
よろしく、
ドリーマー
c# - C# は、2 台のコンピューターが信頼されたドメインにあるかどうかを確認します (または: winrm 接続の認証メカニズムを決定します)。
winrm 経由で他のコンピューターに接続したい。接続先のコンピュータの FQDN しか取得できませんでした。宛先が信頼できるドメインにあるかどうかの情報がありません。したがって、基本的な質問は、接続に必要な認証メカニズムをどうすればよいかということです。それを確認する C# .NET メソッドはありますか?
または、認証メカニズムを kerberos に設定し、失敗した場合はネゴシエートに設定する簡単な方法はありますか?
sql-server - vagrantでchef-soloを使用すると、SQL Serverのセットアップが「一時クラスを生成できません」で失敗する
この 1 週間、私はChef COOK-1172に対処しようとしてきましたが、あまり成功しませんでした。Chef-Solo プロビジョナーを使用して、Vagrant から SQL Server 2008 R2 Developer Edition (私の場合) をインストールしようとしています。
私は、Ruby WinRM gem を直接使用して Chef の外で問題を再現し、渡された資格情報を使用してゲスト Windows vagrant ボックスで setup.exe プロセスを開始するカスタム PowerShell スクリプトを使用して修正することができました。つまり、WinRM gem は、指定された資格情報で SQL Server setup.exe を起動するリモート PS スクリプトを呼び出し、これが機能します。
ただし、ゲストでchef-soloを介してまったく同じスクリプトを実行すると、InvalidOperationException: Unable to generate a temporary classで失敗します。
Ruby スクリプトと、テストに使用している埋め込み PowerShell スクリプトは、OS X ホストから呼び出されます。
SQL インストール ログから:
私の最初の疑いは、一時ディレクトリで何らかのアクセス許可の問題が発生しているということですが、ProcMon を実行してみましたが、セットアップの実行中に ACCESS DENIED の結果が見つかりませんでした。さらに、PowerShell スクリプトと UAC がオフになっているため、明示的にローカル管理者 (vagrant) として実行しています。
c# - WinRM - CredSSP を使用しないセカンド ホップ
Kerberos (委任) のみを使用して、WinRM サービスの「2 番目のホップ」で偽装することは可能ですか?
CredSSP は、ユーザー パスワードを要求できないため、私にとっては解決策ではありません。Windows 2008 R2、C#、.NET 4.0 を使用しています ...
シナリオ: クライアント/サーバー アプリケーションがあります (クライアントは ODBC ドライバーを使用してサーバーと通信します)。クライアントは現在のユーザーの Windows 資格情報を取得し、サーバーに渡します。サーバーはスレッドを作成し、呼び出し元を偽装します。このなりすましスレッドから、Kerberos 認証を使用してリモート WinRM サービス (PowerShell) を呼び出そうとしていますが、常に失敗します:
System.Management.Automation.Remoting.PSRemotingTransportException: リモート サーバーからのデータの処理に失敗し、次のエラー メッセージが表示されました: アクセスが拒否されました。詳細については、about_Remote_Troubleshooting ヘルプ トピックを参照してください。
したがって、呼び出し元に許可がないようです..
デバッグすると、違いは現在のプリンシパルの ImpersonationLevel プロパティ (None と Delegation) にあります。
- コンソールアプリケーションから同じコードを実行すると動作します
- 現在、クライアントとサーバーは同じマシン上にあります
アドバイスをありがとう