LoginSignup
2
9

PowerShell逆引きメモ

Last updated at Posted at 2016-12-15

必要に迫られたPowerShell系の逆引きメモになります

概要

各コマンドはできるだけエイリアスを使用しています

ファイル・ディレクトリ関連

チェンジディレクトリ戻る進む

戻る

cd -

進む

cd +

最新ファイルを任意件数表示

ls | sort LastWriteTime -Descending | select -First 10

指定ファイルのフルパスをクリップボードにコピー

rvpa -Path ".\example.txt" | foreach { "`"$_`"" } | scb
  • カレントディレクトリ内
  • ダブルコーテーションで囲む

ゴミ箱を空にする

確認有り

Clear-RecycleBin -Confirm:$true

確認無し

Clear-RecycleBin -Confirm:$false

ファイル(0byteファイル)を作成

touchコマンドの代替

ni filename.txt -ItemType File

カレントディレクトリのフルパスをクリップボードにコピー

(pwd).Path | scb

カレントディレクトリ内のファイルサイズをMB単位で一覧表示

ls -File | select Name, @{Name='SizeMB'; Expression={"{0:N2} MB" -f ($_.Length / 1MB)}}

lsコマンドでファイルの更新順でソート表示

ls | sort LastWriteTime

指定したフォルダ名を再帰的に強制削除

ls -Recurse -Filter 'test' | rm -r -fo

ディレクトリ内でテキストファイルの行数出力

数十万~数百万行のテキストファイルが複数有る場合に行数を数える

ls *.txt | foreach {(Get-Content $_).Length}

テキストファイルを指定行数で分割

$i=0; cat .\test.txt -ReadCount 3 | % { $_ > test$i.txt;$i++ }

-ReadCountで行数を指定するとテキストファイルを分割できる

image.png

ファイルの削除(rm -rf)

rm .\test -r -fo

ZIPファイルの展開

Expand-Archive -Path .\src.zip -DestinationPath .\dest\

カレントディレクトリ内のファイルをZIPファイルに圧縮

Compress-Archive -Path .\* -DestinationPath .\output.zip

制御関連

任意の間隔で同じコマンドを繰り返す

while ($true) { Write-Host "Hello World"; sleep -Seconds 30 }

システム関連

環境変数の確認

ls env:

PCの再起動

Restart-Computer

PCのシャットダウン

Stop-Computer

Windows Updateの実行

Install-Module PSWindowsUpdate -Force
Set-ExecutionPolicy RemoteSigned
Install-WindowsUpdate AcceptAll AutoReboot

コマンド履歴をすべて表示

Get-Content ((Get-PSReadlineOption).HistorySavePath) -ErrorAction SilentlyContinue

常に実行しない(V)を解除

PowerShellのコマンド実行時に下記のメッセージが表示される場合に誤って[V] 常に実行しない(V)を誤って選択した場合に次回以降...このモジュールを読み込む ことができませんでした。...と表示されてしまう問題への対処方法

表示内容

この信頼されていない発行元からのソフトウェアを実行しますか?
ファイル C:\Users\user\Documents\WindowsPowerShell\Modules\xxx\xxxx\xxxx.xxxx の発行元は
CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
であり、このシステムで信頼されていません。信頼された発行元からのスクリプトのみを実行してください。
[V] 常に実行しない(V)  [D] 実行しない(D)  [R] 一度だけ実行する(R)  [A] 常に実行する(A)  [?] ヘルプ (既定値は "D"):

操作手順

  1. スタートメニュー証明書を検索
  2. ユーザ証明書の管理をクリック
  3. 信頼されてない証明書から該当の証明書を削除
  4. 該当コマンドを再実行するとこの信頼さ...のメッセージが再度表示される

ps1ファイルを実行

powershell -ExecutionPolicy RemoteSigned -File .\test.ps1

-ExecutionPolicy RemoteSignedはローカルに保存されているスクリプトは実行可能。インターネットからダウンロードしたスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能。Windows Server 2012 R2では、この設定がデフォルト

PowerShellのバージョンを確認

$PSVersionTable

サービスの一覧表示

Get-Service

Firewallの無効化

Get-NetFirewallProfile | Set-NetFirewallProfile -Enabled false

SFTP

start ssh-agent

Set-Service -Name ssh-agent -StartupType Manual
Start-Service ssh-agent

Poweshell関連

Poweshellコマンドエイリアス表示

gal | ? {$_.Definition -eq 'Get-ChildItem'}

コマンドエリアスはmanコマンドでも確認可能

Windowsコマンド

下記はPowerShellからでも実行出来できますが正確にはWindowsコマンド

tar.gzの展開

tar -xzf yourfile.tar.gz -C outputfolder

outputfolderは存在ている必要があります

電源プランの一覧表示

powercfg /list

電源プランを変更

powercfg /setactive 42e1c36a-c58e-4980-9dc6-c38fd7f17a4c

GUIDはpowercfg /listを実行した際に表示される値を使用する必要があります

カレントディレクトリをエクスプローラーで開く

 start .

指定ディレクトリをエクスプローラーで開く

 start \

参考

2
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
9