タグ付けされた質問 「powershell」

Windows PowerShellは、CMD.exeシェルおよびバッチ言語に取って代わる、Windows用のコマンドラインシェルおよびスクリプト言語です。PowerShellは、Windows Script HostおよびVBScriptと同様の機能を提供するWindows用の自動化エンジンでもあります。

0
Windowsのwaitfor.exeシグナリングプロトコルが必要
Windowsは waitFor.exe これはシステム上でシグナルを送信または待機することを可能にし、それによってネットワーク上で実行の同期を可能にします。シングルコンピューター 非常に便利ですが、良いドキュメントがないため、タイムアウトオプションを使用してバッチファイルに一時停止を挿入することはほとんどの場合悪用されています。 私が見つけることができる唯一のドキュメンテーションはこれです: https://technet.microsoft.com/ja-jp/library/cc731613(v=ws.11).aspx これは、特定のものに対する非常に基本的な使用法 waitFor.exe Windowsでのコマンド - しかし、それが実際にどのように実装されているのか、またどのようにしてそれが与えられたネットワークで動作することを保証するのか(==ファイアウォールによってブロックされない) これらの信号の送受信を自分のコードに埋め込むことができるようにしたいのですが、その方法については何も見つけることができません - 最も基本的なプロトコルやパケットフォーマットでさえ利用できないようです。 私の質問 これにはどのネットワークプロトコルが使用されますか? (@Sethが述べたように、それはおそらくRPCです - しかし、それでは、それはどのように実装されていますか?) 使用されているパケットフォーマットは何ですか? これらの信号をルーティングするためにどのネットワークポートが必要ですか? 言い換えれば、私は自分のプログラムでこれを実装するために必要なすべてを知る必要があります。 御時間ありがとうございます!

1
Powershellは動的に画像をWordに追加する
これを少し手助けして、私は動的にWord文書にPicturesを挿入しようとしています。ちょっとした背景、私は各pngをそれ自身の単語文書に挿入したいと思う約1000 pngのフォルダーがあり、それから単語.docxとして保存します(保存方法はわかっています)、現在各文書を取得するためのループがあります、しかし、各ファイルのパスをハードコーディングせずに、画像を追加する方法を理解することはできません。まだPowerShellにはちょっと新しい、アドバイスしてください $Source = "C:\test" $word_app = New-Object -ComObject word.application Get-Childitem -Path $Source -recurse | Where-Object { $_.extension -eq ".png"} | % { $word_app.Visible = $True $objDoc = $word_app.Documents.Add() $objSelection = $word_app.Selection $objShape = $word_app.Shapes [void] $objShape.AddPicture() }

1
Powershell:アポストロフィを正しくエスケープする
powershellからコマンドを実行したいのですが、powerershellは外部サーバーでコマンドを実行しています。 plink。しかし、これは私が持っていない場合にのみ機能します ' または " それ以外の場合、Powershellはジャンプして例外を出力します。 例: Invoke-Expression "$plinkPath -ssh $username@$host 'echo well...; echo hello'" 与える well... hello 。しかし、両方をエコーし​​たい場合はどうなりますか ' そして "、 いう Invoke-Expression "$plinkPath -ssh $username@$host 'echo well...; echo hello, my "friend" 'brutus'!'" 取得するため well... hello, my "friend" 'brutus'! ? 編集:拡張子、私はしたいです $。 well... hello, my "friend" 'brutus', you $insult!

1
PowerShell-IFステートメントの大文字と小文字は区別されませんか?
すべてのADユーザーオブジェクトのProxyAddressesを循環するPowerShellスクリプトを記述しようとしています。ユーザーがUSER@DOMAIN.LOCALのSMTPアドレスを持っている場合、USER @ DOMAIN.COMの一致するSMTPアドレスも持っているかどうかを確認し、ない場合は追加します。 $ADobjects = @(Get-ADObject -Filter 'objectClass -eq "User"' -Properties mailNickname,ProxyAddresses -SearchBase "OU=Test,DC=domain,DC=local") $TempArr = @() $OldDomain = "@domain.local" $NewDomain = "@domain.com" $ADobjects | ForEach-Object { ## Cycle thru each AD object $PrimaryProxyAddress = $_.mailNickname+$NewDomain $TempStr = "" $TempAdd = "" If ($ADobjects.Count -ge 1) ## Make sure there …

1
パスへのアクセスが拒否されました(PowerShell Rename-Item Script)
F1キーがWindowsのヘルプを常に表示することに悩まされていたのは、かなり役に立たないと思うからです。したがって、解決策は、「C:\ Windows」ディレクトリの「HelpPane.exe」ファイルの名前を別の名前に変更して、F1キーを押しても何も起こらないようにすることです。ただし、スクリプトを使用してこれを自動化したいと思います。 PowerShellを使用して、次のスクリプトを試すことができます。 Rename-Item -Force -Path "C:\Windows\HelpPane.exe" -NewName "C:\Windows\HelpPane1.exe" ただし、管理者としてかどうかにかかわらず、スクリプトを実行するたびに、次のエラーが表示されます。 これは、Windowsにファイルに対するセキュリティ権限があるためです。プロパティ/セキュリティ/詳細設定をいじって手動で削除できることは知っていますが、PowerShellスクリプト内で自動化する方法が必要です。毎回これを手動で行いたくありません。残念ながら、これらの種類の高度なアクセス許可をPowerShell内から直接管理する方法はわかりません。 ファイルの名前が正しく変更されるようにするには、PowerShellスクリプトに何を追加する必要がありますか? ありがとう。 参考のために、Windows 10 Enterprise 1607 build 14393を実行しています。

1
PowerShellは、小数点なしでTotalPhysicalMemory(RAM)を取得します
コンピューターに関するいくつかの情報(CPU、RAM、HDDなど)のインベントリを作成するためのPowerShellスクリプトを作成しています。すべてが順調に機能していますが、RAMの量に対して適切な出力を得ることができません。 私が現在持っているものは次のとおりです。 (Get-WmiObject -Class win32_computersystem -ComputerName localhost).TotalPhysicalMemory/1Gb これにより、次のような数値が返されます。 15,87456213 それらすべての小数を取り除く方法は?コマンドに16番のみを返すようにしたい よろしくお願いします!

2
単一および二重の空白で分割されたPowerShell正規表現
私は問題を抱えており、正規表現と代替方法を使用して二重および単一の空白を表現するときに見落としている、または理解していない単純なものだと確信しています。 PowerShellで速記メタ文字\s|\s\sを使用して、複数の文字列オブジェクトを返します。各文字列は単一または二重の空白ごとに改行されるため、他のすべては期待どおりに行分割されます。 -split サンプルデータとPowerShellコマンド 注意:残念ながら、これは私が働いているし、それがありますので、私はそれを制御することはできませんデータの一例であるシングルとダブルの空白を両方 $Content = "Data is over here and here is some down under too" $Content -split "\s|\s\s" 結果 Data is over here and here is some down under too 期待される結果 Data is over here and here is some down under too 環境仕様 Windows 10 Pro X64 …

0
Get-PSDriveがルートプロパティ列にDisplayRootプロパティを返すのはなぜですか?
私が使用する場合: Get-PSDrive K いくつかのプロパティが返されますが、特にRootプロパティは次のようになります。 PS C:\WINDOWS\system32> get-psdrive K Name Used (GB) Free (GB) Provider Root ---- --------- --------- -------- ---- K FileSystem \\server\share しかし、ルートを選択すると、これが返されます: PS C:\WINDOWS\system32> get-psdrive K | select Root Root ---- K:\ 最初のコマンドで見られるように、DisplayRootはルートを返します。 PS C:\WINDOWS\system32> get-psdrive K | select DisplayRoot DisplayRoot ----------- \\server\share Format-List 上記の2つのコマンドのようにそれらを返します PS C:\WINDOWS\system32> get-psdrive …

1
証明書のトリガーイベントが更新され、置き換えられました
新しい証明書がLocal Computer\Personal\Certificatesストアに追加されたときに基づいて、PowerShellスクリプトを開始するタスクスケジュールをトリガーしようとしています。 テスト目的で、証明書は自己署名され、opensslを使用して作成されます。 証明書が生成されると、非pkcs12はイベントビューアーので見つかったイベントをトリガーしませんMicrosoft-Windows-CertificateServicesClient-Lifecycle-System/Operational。 ただし、pkcs12証明書はサポートします。 同じことをするために非pkcs12証明書を取得する方法はありますか?

1
配列値を持つメンバーの追加
powershellクラス(ゲッターとセッターとも呼ばれるアクセサーとミューテーターを持たない)に問題があるため、add-memberを使用して作成されたカスタムオブジェクトを使用しているscriptblock。 シンプルなアイテムの場合、次のコードは正常に動作します $Object = New-Object PSObject Add-Member -InputObject $Object -MemberType NoteProperty -Name "Array" -Value @() -Force $Object.Array += 1 $Object.Array $Object.Array[0] = 2 ただし、値を設定するときに追加オプション(パラメーターの検証、追加の関連プロパティの設定)が必要なため、次の形式を使用しています $Object2 = New-Object PSObject Add-Member -InputObject $Object2 -MemberType ScriptProperty -Name "Array" -Value {@($this.ArrayData)} -SecondValue{ param($NewValue) $this.ArrayData = $NewValue} Add-Member -InputObject $Object2 -MemberType NoteProperty -Name "ArrayData" -Value …

1
Office 365で監査を自動的にアクティブにする方法
Office365をテストしており、OneDrive for Businessのレポート/監査の設定で遊んでいます。すべての企業が理由で行うように、誰がすべてのファイルを開いた/編集した/ブラーしたかを確認できる必要があります。 ご覧のとおり、OneDriveでユーザーごとにOneDriveの監査を手動でアクティブにする必要があります。 OneDrive→Cog(設定)→サイト設定→サイトコレクション管理者→サイトコレクション機能→レポート→ 有効化 明らかに、多くのユーザーを追加する場合、これは非常に迅速に退屈になります。 見逃した機能はありますか?私が推測する代替案は、PowerShellスクリプトを作成して、設定をまとめて変更することでしょうか?

2
バッチファイル(.bat)を使用してPowerShellスクリプトを実行する
現在、これはVMware vSphere PowerCLIコマンドプロンプトを起動するための私のパスです。バッチファイルを使用して、sample.ps1スクリプトを自動的に実行したいと思います。sample.ps1をこのパスに組み込み、バッチファイルを作成するにはどうすればよいですか? C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -c ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\""

1
バージョンの違いは、リモートコンピューター上のPowerShellコマンドにどのように影響しますか?
新しいPowerShellバージョンには、明らかに新しい機能と新しいコマンドレットが付属します。これは、異なるバージョンがインストールされたシステム間でローカルに実行される可能性のあるスクリプトまたはPowerShellウォークスルーを作成する際に考慮する必要がある重要なことです。 簡単な例は次のようになりますGet-FileHash。このコマンドはPowerShell 4.0の新機能であり、以前のバージョンを実行しているシステムでは使用できません。特に、Windows 7 SP0(またはServer 2008 R2 SP0)以下を実行しているシステムでは使用できません。PowerShell4.0はこれらのシステムではまったくサポートされていないためです。 ただし、特定のPowerShellバージョンをサポートするという単純な問題は別として、インストールされているオペレーティングシステムのバージョンについてさらに検討する必要があります。たとえば、Test-NetConnection以前のオペレーティングシステムを実行しているシステムにインストールされているPowerShellのバージョンに関係なく、Windows 8.1(またはServer 2012 R2)でのみ(現在)利用可能です。 これは、ローカルシステムでPowerShellコマンドを実行するスクリプトまたはガイドにとって非常に簡単です。ローカルシステムにオペレーティングシステムバージョンAとPowerShellバージョンBがある場合、OS AでサポートされているすべてのコマンドをPSで使用できますB.ただし、異なるオペレーティングシステムまたはPowerShellバージョンを実行している可能性のあるリモートコンピューターをスクリプトがアドレス指定する場合、それほど単純または明確に見えません。 では、PowerShellのバージョンが異なると、リモートコンピューターに対して実行されるコマンドにどのような影響がありますか? ローカルシステムがより高いバージョンを実行している場合、新しいコマンド/機能をリモートシステムに対して使用できますか? リモートシステムがより高いバージョンを実行している場合、ローカルシステムがそれらをサポートしていないときに、新しいコマンド/機能を活用する簡単な(そしてスクリプト可能な)方法はありますか? 予想される互換性の問題を知るために心に留めておくことができる一般的なルールはありますか、またはこれは大きく異なり、使用するコマンドまたは機能ごとに個別に調査/テストする必要がありますか?

1
`pwd -P`に相当するpowershellは何ですか?
cmd /c mklink /D "MyDir" C:\MyDirホームディレクトリC:\ Users \ myusername を使用してシンボリックリンクを作成しました。私が入力したときcd toDir、私のホームディレクトリからと入力しpwd、それを返します。 Path ---- C:\Users\myusername\My Dir UNIXのようにディレクトリの「物理」パスを返すにはどうすればよいpwd -Pですか?

2
Powershellを使用してメールボックスに委任アクセス許可を設定するにはどうすればよいですか?
この方法を使用して、ユーザーをOutlook委任に追加するとき 私はそれらを次のpowershellコマンドで見る [PS] C:\Windows\system32>Get-CalendarProcessing aaaa| fl AutomateProcessing : AutoUpdate AllowConflicts : False BookingWindowInDays : 180 MaximumDurationInMinutes : 1440 AllowRecurringMeetings : True EnforceSchedulingHorizon : True ScheduleOnlyDuringWorkHours : False ConflictPercentageAllowed : 0 MaximumConflictInstances : 0 ForwardRequestsToDelegates : True DeleteAttachments : True DeleteComments : True RemovePrivateProperty : True DeleteSubject : True AddOrganizerToSubject : …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.