問題タブ [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.
image-processing - System.Drawing.Image を使用して、$imageFile.Width および $_.Fullname で Export-Csv を実行する
このスクリプトを記述して画像のサイズとファイルパスを収集するためのより良い方法があるかどうか疑問に思います。スクリプトは小規模から中規模のディレクトリでうまく機能しますが、100,000 以上のファイル/フォルダーが可能であるとは確信していません。
現在、Where-Object フィルターは実際には使用していません。
上記のスクリプトをリモート ディレクトリで appx. 20,000 個のファイル + フォルダーがスクリプトに必要です。.csv を作成する前に 26 分。
Windows 7 で Powershell V2 ISE からスクリプトを実行していますが、リモート サーバーは Windows Server 2003 にあると思います。
リモート サーバーから直接スクリプトを実行する方が高速でしょうか?
すべてのデータが csv に書き込まれる前に「キャッシュ」に収集されるため、csv をエクスポートするプロセスは遅くなりますか?
20,000 個のファイルだけを処理する必要がある場合は、26 分待ちますが、500,000 個のファイルとフォルダーでは長い待ち時間になります。
私の本当の問題は速度ではなく、メモリにあまりにも多くのデータを保存していると思うので、以下の方法をテストしています。これについては George Howarth の投稿に感謝し、トップ スクリプトについては PoSherLife に感謝します -http://powershellcommunity.org/tabid/54/aft/4844/Default.aspx
イメージ以外のファイル タイプでこれらのスクリプトを実行する場合、リスクやパフォーマンスの低下はありますか?
画像以外を除外しないと、次のエラーが発生します。
アドバイスをありがとう!ジョージ・ハワースと PoSherLife の脚本に改めて感謝します!
powershell - PowerShellリモートジョブ
以下のコードでエラーが発生するのはなぜですか。
Receive-Job:コマンドがパイプライン入力を受け取らないか、入力とそのプロパティがパイプライン入力を受け取るパラメーターのいずれとも一致しないため、入力オブジェクトをコマンドのパラメーターにバインドできません。行:1 char:147 + Get-Job -Id 1 | Select-Object -ExpandProperty childjobs | Where-Object{$_。state-eq'完了'}| Select-Object -ExpandProperty id | Receive-Job <<<<
+ CategoryInfo:InvalidArgument:(2:PSObject)[Receive-Job]、ParameterBindingException + FullyQualifiedErrorId:InputObjectNotBound、Microsoft.PowerShell.Commands.ReceiveJobCommand
ただし、この行は完全に機能します。
コードに関するヒントや役立つコメントをいただければ幸いです。PowerShellは初めてです。
ありがとう
powershell - リモート セッションへの InputObject の NoteProperties にアクセスする方法
PSObject
を介してリモート セッションに渡されている NoteProperties が定義されている にアクセスするのが困難ですInvoke-Command
。この目的のためにオブジェクトを作成する理由は、リモート セッションで 2 つの個別の情報にアクセスする必要があるためですが、PowerShell では単一のInputObject
.
私のコードは次のようになります。
上記の番号付きの行ごとに、次の出力が得られます。
1.$input
そのため、まず、変数をコンソールにダンプする通常の手法を試しました。これにより、プロパティが期待値で渡されることが確認されました。
2.$input | Get-Member
これにより、以前の試行よりもわずかに多くの情報が生成されました。
最後の 2 行は、リモート セッションによって受信されたオブジェクトに NoteProperty が存在することを明確に示していることに注意してください。これらのすべての言及はDeserialized
、私の興味をそそり始めています...
3.$input.NoteProperty1
最初の 2 つは運が良かったので、自分NoteProperty1
自身を調べてみました。ただし、このプロパティの値は null のようです。上記の行を使用してコンソールに何も書き込まれない場合は、$input.NoteProperty1 -eq $null
True を返します。
4.$input.NoteProperty1 | Get-Member
そのため、最後に、 をNoteProperty1
介して値を直接検査しようとしGet-Member
ましたが、「get-member コマンドレットにオブジェクトが指定されていません。」というメッセージが表示されて惨めに失敗しました。これは、Get-Member に null オブジェクトが渡されたことと一致しています。
ヘルプ!
だから、私は今、完全に途方に暮れています. 両方に期待値があり、値がありません。NoteProperties の必要性を排除するために、これを少し異なる方法で書くことができると思いますが、ここで何が起こっているのか知りたいです!
powershell - Select-Objectは入力を変更しますか?
この質問に続いて、Select-Objectは処理の一部として入力をnullに設定しているようです。これは私には間違っているようです。これが私がやろうとしていることです:
実際に起こることは$foo
、期待値しかなく、$bar
常にであるということ$null
です。少し調べてみると、最初の実行後に$input
設定されていることがわかりました。例として、2行の間に挿入すると、「get-memberコマンドレットにオブジェクトが指定されていません」というエラーがスローされます。$null
Select-Object
$input | Get-Member
Select-Object
ここで何が起こっているのですか?
c# - Powershellスクリプトまたはアプリをホストして、WSManConnectionInfo経由でアクセスできるようにするにはどうすればよいですか?(Office 365など)
リモートランスペースに接続するために私が知っている唯一の方法には、次のパラメーターが含まれます
また
HTTPを介して公開できるように独自のカスタムPowershellオブジェクトを設定するにはどうすればよいですか?
使用する正しいパラメータは何ですか?また、それらを設定するにはどうすればよいですか?
powershell - バッチ スクリプトは正常に実行されるが、PowerShell Remoting を介して実行すると失敗する
Windows 2008 R2 サーバーに次のバッチ スクリプトがあります。
コマンドプロンプトまたはPowerShellを使用してサーバー自体でスクリプトを実行すると、完全に正常に動作し、「0」が返されます。
問題は、リモート コンピューターから実行する必要があることです。そのため、次のようにします (テスト用の例)。
出力は「-1073740940」です。これはおそらくエラー コード C0000374 であり、ヒープの破損に関係している可能性があります。
これは djoin コマンド自体の問題のようです。同じ Invoke-Command を使用して問題なく、djoin をコメントアウトして、ping などの他のバイナリを実行できます。
ターゲット コンピューター上の PowerShell からスクリプトを実行すると問題なく動作することを念頭に置いて、リモート操作によってどのような問題が発生する可能性があるでしょうか?
どちらの場合も、Domain Admins のメンバーである私のアカウントを使用して、同じ権限でスクリプトが実行されます。それがパーミッションの問題だとは思えず、他にどこを見るべきかわかりません。
[編集]
全体をあきらめた。これは、djoin のバグか、djoin と PS リモート処理の間の相互作用におけるあいまいな問題のいずれかです。
ドメイン資格情報を提供するために「runas /netonly ...」を使用して、クライアントで直接djoinを実行することができました。これは非常に面倒な解決策ですが (runas によって開始されたプロセスの終了ステータスを取得する方法をまだ理解していません)、仕事は完了します。
powershell - サーバーを変更して、Powershell でリモート コマンドを簡単に呼び出す方法
次のように入力するだけでリモートセッションに入ることができるサーバー(Microsoft Windows Server 2003 R2 SEを使用、WinRMを手動でインストール)があります。
Enter-PSSession *computername_here*
または(リモートセッションの外で)リモートコマンドを呼び出します:
Get-Process -ComputerName *computername_here*
残念ながら、別のもの ( Microsoft Windows Server 2008 R2 SEを使用) では機能しません (同じ構成を使用していますが)。入力する必要があります (最初の例によると):
Enter-PSSession
IP address
-Credential "ドメイン\ユーザー名"
その後、ユーザー名とパスワードを指定します。資格情報を外部ファイルに保存できることは承知していますが、最初のサーバーの場合のように単純にリモート サーバーに接続するために何かしたくないですか? ファイアウォールをチェックするか、サーバーを特別な方法で構成する必要がありますか?
================================================== ================
答えてくれてありがとう。私は「Microsoft Windows Server 2008 R2 Standard」OSについて話している
(「* gwmi win32_operatingsystem |select name*」コマンドが教えてくれたように)。
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
* に設定されたプロパティTrustedHostsが含まれているため、正しいと思います。
興味深いことに、私は両方のマシンで管理者権限を持っていますが、サーバーから直接ではなく、ローカル コンピューターから "localhost" の内容を確認しようとすると、エラー メッセージが表示されます。
PS WSMan:\localhost> ls
アクセスが拒否されました。+ CategoryInfo : + FullyQualifiedErrorId : System.InvalidOperationException、Microsoft.PowerShell.Commands.GetChildItemCommand
powershell - PowershellのInvoke-Commandは、-ComputerNameパラメーターの変数を取りませんか?
私はこれを機能させることができないようで、この問題をグーグルで検索する方法を理解できないため、ここで髪を引っ張っています。Powershell2.0を実行しています。これが私のスクリプトです:
最後のコマンドはエラーを出します:
しかし、Write-Outputコマンドの出力をシェルにコピーして実行すると、問題なく動作します。Invoke-Commandが受け入れるものに文字列変数をキャストするにはどうすればよいですか?前もって感謝します!
powershell - PowerShellコマンドを組み合わせる
みんな私はこの独特の問題を抱えており、答えを求めて頭を踏みにじっています。私は基本的に2つの優れた実行スクリプトを持っていますが、それらを組み合わせる必要があります。何らかの理由でこれが機能せず、すべての種類の構文PowerShellエラーが発生します。
正しく動作する最初のスクリプト。2番目のスクリプトについては、以下を参照してください
これが実行される2番目のコマンドです。これはそれ自体でうまく機能し、もう一度試みます
これを上記のコマンドと組み合わせると失敗します。
今私が達成しようとしているのは、私の出力を以下のようなものにすることです。
DisplayName MailboxSize( "MB")ItemCount
Alias ServerName
ProhibitSendReceiveQuota UseDatabaseQuotaDefaults IssueWarningQuota日時:2012年4月10日火曜日16:04:28
名前FoldersizeItemsinfoldertopofinfromationstore03カレンダー123454
受信ボックス1024785241送信済みアイテム1474554削除済みアイテム5414745875
powershell-remoting - PowerShellリモーティングとホストバージョン
Powershellでリモート処理を使用すると奇妙な問題が発生します。
次のことを行うdothis.ps1というスクリプトがあります。
このスクリプトはInvokeProcess
、Microsoft.TeamFoundation.Build.Workflows.Activities
私が抱えている問題は、dothis.ps1からPowershellのバージョンを印刷すると、2.0になっていることです。
ただし、リモートスクリプト(somSecript.ps1)からPowershellのバージョンを印刷すると、1.0になります。
次のコマンドが機能しないため、実行しているPowerShellのバージョンを知りたいと思いました。$Host.Runspace.ThreadOptions
誰かが私に何が起こっているのか説明できますか?ありがとう。