2020年6月26日金曜日

【PowerShell】普段よく使うPowerShellのメモ

event_note

共通

コマンドプロンプトからps1ファイル(PowerShell)を実行する

powershell -NoProfile -ExecutionPolicy RemoteSigned .\(ファイル名).ps1

今使っている Power Shell のバージョンを確認するには?

$PSVersionTable

Windows のイベントログから文字列を検索する

Get-EventLog Security | Where-Object {$_.Message -match "(検索したい文字列)"} | Format-List

自己サーバー証明書の作成

New-SelfSignedCertificate -DnsName "www.dev.local" -CertStoreLocation "cert:\LocalMachine\My"

ファイル操作

Linuxのtailコマンドと同等

cat "(ファイルのパス)" -tail 10 -wait -encoding utf-8

ファイルを検索する

ls -r -force -filter "(検索するファイル名)"

カレントディレクトリ配下の指定したディレクトリを全て削除する

ls -r -force -filter "(検索するディレクトリ名)" | where {$_.Attributes -eq "Directory"} | %{rm -r $_.fullname}

Active Directory 関連

Active Directory 関連のモジュールを読込する

Import-Module ActiveDirectory

Active Directory 関連のコマンドの一覧を取得する

Get-Command -Module ActiveDirectory

Active Directory コンピュータ名に「TEST」が含まれているものを検索する

Get-ADComputer -Filter {Name -Like "*TEST*"}

指定した日付以降にログインしたアカウントを検索する 例:2016/2/23以降

Get-ADUser -Filter {LastLogonDate -gt "2016/02/23 00:00:00"}

指定した日付以降、ログインしていないアカウントを検索する 例:2016/1/1以降

Get-ADUser -Filter {LastLogonDate -lt "2016/01/01 00:00:00"}

Active Directory のユーザー情報をCSVに出力する

Get-ADUser -Properties * -Filter * | Export-CSV -Encoding UTF8 -Path C:\ADUser.csv

コンピューターのOSがWindows 7 以上のものを検索する

Get-ADComputer -Properties * -Filter {OperationSystemVersion -ge "6.0"}

コンピューターのOS名に「XP」が含まれているものを検索する

Get-ADComputer -Properties * -Filter {OperationSystem -Like "*XP*"}

2016/01/01 以降にログインしたコンピューターで、且つOS名に「XP」が含まれているものを検索する

Get-ADComputer -Properties * -Filter {LastLogonDate -gt "2016/01/01 00:00:00"} | Where-Object {$_.OperationSystem -Like "*XP*"}