[
トップ
] [
新規
|
一覧
|
最終更新
|
ヘルプ
]
AND
OR
開始行:
*[[Windows]]/PowerShell [#p9ab2a10]
#contents
**PowerShell基本操作 [#n4459c36]
***リモート先のPowerShellを操作する [#u4517d23]
-リモート先のサーバー
Enable-PSRemoting -Force
-クライアント側の操作
winrm quickconfig -force(PowerShell 2だとエラーになるの...
Set-Item WSMan:\localhost\Client\TrustedHosts * -Force
Enter-PSSession 接続先 -Credential 接続アカウント
※ Administratorsグループか、Remote Management Usersグル...
***ポートに接続できるか確認 [#q07a8303]
$c = New-Object System.Net.Sockets.tcpClient
$c.connect("IPアドレス", ポート番号)
接続できない場合は、接続エラーが返ってくる。
$c.connected
接続されてる場合は、True、接続されてない場合は Falseとな...
$c.close()
オブジェクトをCLOSEし破棄する。
Windows Server 2012以降であれば以下のコマンドでも確認可能...
Test-NetConnection [ターゲット] -Port [ポート番号]
***モジュール [#ve1fe7f2]
-使用可能なモジュール一覧表示
Get-Command -Module モジュール名
-モジュールのインポート(Windows Server2012からはコマンド...
Import-Module モジュール名
***フォーマット [#pd1d5c53]
-出力結果のフォーマットを指定する(format)
コマンド | { Format-List | Format-Table | Format-csv | F...
Format-Table -Autosize(ft -a)で、カラム幅が自動的に広...
***ファイル操作 [#k5bebb4c]
-出力結果をCSV形式で保存する(epcsv)
コマンド | export-csv -encoding default -path C:\User.cs...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-encoding|出力する文字コードを指定|
|-notype|ヘッダー行を含めない|
|-force|読み取り専用ファイルであっても書き込む|
~
-特定の列だけ抽出する(select)
コマンド | Select-Object 列 [,列] ...
※ エイリアスは、select
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-first 数|先頭から指定した行数のみ表示|
|-last 数|末尾から指定した行数のみ表示|
|-skip 数|指定した行数スキップする(1を指定したら2行目か...
~
-特定の行だけ抽出する(where)
コマンド | Where-Object { $_.抽出対象列 -like "*キーワー...
※ エイリアスは where
(例) OU=商店 の文字列を含む列だけ出力する
Get-ADUser -Filter * -Properties DistinguishedName | sel...
-カンマ区切りのCSVファイルから特定の列だけ抽出する(下記...
If (Test-Path before.csv) { # ファイルがあった場合の...
foreach ($str in Get-Content before.csv | select -sk...
$str = $str -split ","
$str[0]+","+$str[1]+","+$str[3] | Out-File after...
}
}
※ foreach は ForEach-Objectのエイリアス
-テキストファイルの入出力
|BGCOLOR(#f0f8ff):''コマンド''|BGCOLOR(#f0f8ff):''説明''|
|Get-Content|引数で指定したファイルを読み込む。UTF16、SJI...
|Get-Content|引数で指定ファイルへ書き出す。SJISで書き込ま...
|Out-File|引数で指定ファイルへ書き出す。SJISで書き込まれ...
***WMI [#be940923]
-WMIの一覧を出力
Get-WmiObject(gwmi)-list
Get-WmiObject | ? { $_.Name -like "Win32*Process*" }
-WMIの実行
Get-WinObject {WMI} [| ft -a]
|BGCOLOR(#f0f8ff):''WMI''|BGCOLOR(#f0f8ff):''説明''|
|Win32_Product|インストールソフトウェアを取得|
|Get-WmiObject Win32_OperatingSystem|システム情報(ロケー...
|Get-WmiObject Win32_Processor|CPU情報|
|Win32_PhysicalMemory|物理メモリの情報|
***Get-ChildItem [#r5cbb8c7]
-ファイル名一覧を取得する~
Get-ChildItem [フォルダ名] [オプション]
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Recurse|サブディレクトリも含め再帰的に検索|
|-Filter|検索結果に含めるファイル名を指定|
|-Exclude|検索結果から除外するファイル名を指定|
~
-カレントディレクトリのファイルを一覧取得し、容量順に並び...
FullNameだと長すぎて途切れる。その場合は、export-csv -enc...
Get-ChildItem -Recurs | Select-Object LastWriteTime,Leng...
**PowerShell モジュール [#u27f2fbf]
***Active Directory [#n877de31]
-ADに属するユーザー、グループ、コンピューターを確認
-- AD関連モジュール読み込み(Windows Server 2008R2以降は...
Import-Module ActiveDirectory
-- コマンド例
Get-ADUser -Filter {samAccountName -like "admin*"} -Prop...
Get-ADGroup -Filter * -Properties *
Get-ADComputer -Filter * -Properties *
Get-ADObject -Filter {objectGUID -Eq "123455-XXXXXX-XXXX...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Filter|表示対象を指定。指定は必須。*で全て表示。属性で...
|-Properties|表示したいプロパティをカンマ区切りで列挙する...
Move-ADObject -Identity "移動元オブジェクト" -TargetPath...
(例) Move-ADObject -Identity "CN=ServerA, CN=Computer,DC...
~
***グループポリシー [#ka26aba0]
-GPOの確認
Get-GPO -All
-既定のGPOを元に戻す
Dcgpofix.exe /Target:{ Domain | DC | BOTH }
-セキュリティフィルター設定(Domain Usersグループに対して...
Set-GPPermissions -Name "GPO-Name" -TargetName "Domain U...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|GpoApply|セキュリティフィルターの登録|
|None|セキュリティフィルターの削除|
|GpoRead|読み取りの委任|
|GpoEdit|編集の委任|
|GpoEditDeleteModifySecurity|編集、削除、セキュリティの変...
-GPOリンク
New-GPLink -Name "GPO-Name" -Target "OU=Sales,DC=contoso...
Set-GPLink -Name "GPO-Name" -Target "OU=Sales,DC=contoso...
-継承のブロック
Set-GPInheritance -Target "OU=Sales,DC=contoso,DC=com" -...
-GPO適用状況を出力
Get-GPOReport -Name "GPO-Name" -ReportType HTML -Path フ...
-GPOバックアップ
Backup-GPO -name "GPO-Name" -Path バックアップ先フォルダ名
-GPO復元
Restore-GPO -name "GPO-Name" -Path バックアップ先フォル...
-GPOインポート
New-GPO -name "GPO-Name" [-StarterGpoName スタートアップ...
Import-GPO -BackupGpoName バックアップしたGPO名 -TargetN...
~
#br
**PowerShellプログラム [#ed15593b]
*** 基本の変数設定 [#pfe5c2de]
$ScriptName = $MyInvocation.MyCommand.Name
$LogName = ($ScriptName -replace '(.+)(\.[^.]+$)','$1...
$ConfName = ($ScriptName -replace '(.+)(\.[^.]+$)','$1...
$CurrentDir = Split-Path $MyInvocation.MyCommand.Path -P...
$LogFile = $CurrentDir + "\..\log\" + $LogName
$ConfFile = $CurrentDir + "\..\conf\" + $ConfName
(例) D:\tool\bin\TEST.ps1 を実行した結果、変数の値は上か...
TEST.ps1
TEST_20190524104156.log
TEST.conf
D:\tool\bin
D:\tool\bin\..\log\TEST_20190524104156.log
D:\tool\bin\..\conf\TEST.conf
~
***ヘッダー行を出力させない(タブ区切りで出力) [#j3ed1451]
dir | ForEach-Object {$_.抽出対象列 + "`t" +$_.抽出対象列...
※ ForEatch-Object は foreach や % で代替可能
~
***繰り返し [#rc0bf503]
$dir="New\"
foreach ($file in Get-ChildItem | where {$_.Name -like "...
Get-Content $file | Select-String "AAAAA" | Set-Cont...
}
終了行:
*[[Windows]]/PowerShell [#p9ab2a10]
#contents
**PowerShell基本操作 [#n4459c36]
***リモート先のPowerShellを操作する [#u4517d23]
-リモート先のサーバー
Enable-PSRemoting -Force
-クライアント側の操作
winrm quickconfig -force(PowerShell 2だとエラーになるの...
Set-Item WSMan:\localhost\Client\TrustedHosts * -Force
Enter-PSSession 接続先 -Credential 接続アカウント
※ Administratorsグループか、Remote Management Usersグル...
***ポートに接続できるか確認 [#q07a8303]
$c = New-Object System.Net.Sockets.tcpClient
$c.connect("IPアドレス", ポート番号)
接続できない場合は、接続エラーが返ってくる。
$c.connected
接続されてる場合は、True、接続されてない場合は Falseとな...
$c.close()
オブジェクトをCLOSEし破棄する。
Windows Server 2012以降であれば以下のコマンドでも確認可能...
Test-NetConnection [ターゲット] -Port [ポート番号]
***モジュール [#ve1fe7f2]
-使用可能なモジュール一覧表示
Get-Command -Module モジュール名
-モジュールのインポート(Windows Server2012からはコマンド...
Import-Module モジュール名
***フォーマット [#pd1d5c53]
-出力結果のフォーマットを指定する(format)
コマンド | { Format-List | Format-Table | Format-csv | F...
Format-Table -Autosize(ft -a)で、カラム幅が自動的に広...
***ファイル操作 [#k5bebb4c]
-出力結果をCSV形式で保存する(epcsv)
コマンド | export-csv -encoding default -path C:\User.cs...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-encoding|出力する文字コードを指定|
|-notype|ヘッダー行を含めない|
|-force|読み取り専用ファイルであっても書き込む|
~
-特定の列だけ抽出する(select)
コマンド | Select-Object 列 [,列] ...
※ エイリアスは、select
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-first 数|先頭から指定した行数のみ表示|
|-last 数|末尾から指定した行数のみ表示|
|-skip 数|指定した行数スキップする(1を指定したら2行目か...
~
-特定の行だけ抽出する(where)
コマンド | Where-Object { $_.抽出対象列 -like "*キーワー...
※ エイリアスは where
(例) OU=商店 の文字列を含む列だけ出力する
Get-ADUser -Filter * -Properties DistinguishedName | sel...
-カンマ区切りのCSVファイルから特定の列だけ抽出する(下記...
If (Test-Path before.csv) { # ファイルがあった場合の...
foreach ($str in Get-Content before.csv | select -sk...
$str = $str -split ","
$str[0]+","+$str[1]+","+$str[3] | Out-File after...
}
}
※ foreach は ForEach-Objectのエイリアス
-テキストファイルの入出力
|BGCOLOR(#f0f8ff):''コマンド''|BGCOLOR(#f0f8ff):''説明''|
|Get-Content|引数で指定したファイルを読み込む。UTF16、SJI...
|Get-Content|引数で指定ファイルへ書き出す。SJISで書き込ま...
|Out-File|引数で指定ファイルへ書き出す。SJISで書き込まれ...
***WMI [#be940923]
-WMIの一覧を出力
Get-WmiObject(gwmi)-list
Get-WmiObject | ? { $_.Name -like "Win32*Process*" }
-WMIの実行
Get-WinObject {WMI} [| ft -a]
|BGCOLOR(#f0f8ff):''WMI''|BGCOLOR(#f0f8ff):''説明''|
|Win32_Product|インストールソフトウェアを取得|
|Get-WmiObject Win32_OperatingSystem|システム情報(ロケー...
|Get-WmiObject Win32_Processor|CPU情報|
|Win32_PhysicalMemory|物理メモリの情報|
***Get-ChildItem [#r5cbb8c7]
-ファイル名一覧を取得する~
Get-ChildItem [フォルダ名] [オプション]
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Recurse|サブディレクトリも含め再帰的に検索|
|-Filter|検索結果に含めるファイル名を指定|
|-Exclude|検索結果から除外するファイル名を指定|
~
-カレントディレクトリのファイルを一覧取得し、容量順に並び...
FullNameだと長すぎて途切れる。その場合は、export-csv -enc...
Get-ChildItem -Recurs | Select-Object LastWriteTime,Leng...
**PowerShell モジュール [#u27f2fbf]
***Active Directory [#n877de31]
-ADに属するユーザー、グループ、コンピューターを確認
-- AD関連モジュール読み込み(Windows Server 2008R2以降は...
Import-Module ActiveDirectory
-- コマンド例
Get-ADUser -Filter {samAccountName -like "admin*"} -Prop...
Get-ADGroup -Filter * -Properties *
Get-ADComputer -Filter * -Properties *
Get-ADObject -Filter {objectGUID -Eq "123455-XXXXXX-XXXX...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Filter|表示対象を指定。指定は必須。*で全て表示。属性で...
|-Properties|表示したいプロパティをカンマ区切りで列挙する...
Move-ADObject -Identity "移動元オブジェクト" -TargetPath...
(例) Move-ADObject -Identity "CN=ServerA, CN=Computer,DC...
~
***グループポリシー [#ka26aba0]
-GPOの確認
Get-GPO -All
-既定のGPOを元に戻す
Dcgpofix.exe /Target:{ Domain | DC | BOTH }
-セキュリティフィルター設定(Domain Usersグループに対して...
Set-GPPermissions -Name "GPO-Name" -TargetName "Domain U...
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|GpoApply|セキュリティフィルターの登録|
|None|セキュリティフィルターの削除|
|GpoRead|読み取りの委任|
|GpoEdit|編集の委任|
|GpoEditDeleteModifySecurity|編集、削除、セキュリティの変...
-GPOリンク
New-GPLink -Name "GPO-Name" -Target "OU=Sales,DC=contoso...
Set-GPLink -Name "GPO-Name" -Target "OU=Sales,DC=contoso...
-継承のブロック
Set-GPInheritance -Target "OU=Sales,DC=contoso,DC=com" -...
-GPO適用状況を出力
Get-GPOReport -Name "GPO-Name" -ReportType HTML -Path フ...
-GPOバックアップ
Backup-GPO -name "GPO-Name" -Path バックアップ先フォルダ名
-GPO復元
Restore-GPO -name "GPO-Name" -Path バックアップ先フォル...
-GPOインポート
New-GPO -name "GPO-Name" [-StarterGpoName スタートアップ...
Import-GPO -BackupGpoName バックアップしたGPO名 -TargetN...
~
#br
**PowerShellプログラム [#ed15593b]
*** 基本の変数設定 [#pfe5c2de]
$ScriptName = $MyInvocation.MyCommand.Name
$LogName = ($ScriptName -replace '(.+)(\.[^.]+$)','$1...
$ConfName = ($ScriptName -replace '(.+)(\.[^.]+$)','$1...
$CurrentDir = Split-Path $MyInvocation.MyCommand.Path -P...
$LogFile = $CurrentDir + "\..\log\" + $LogName
$ConfFile = $CurrentDir + "\..\conf\" + $ConfName
(例) D:\tool\bin\TEST.ps1 を実行した結果、変数の値は上か...
TEST.ps1
TEST_20190524104156.log
TEST.conf
D:\tool\bin
D:\tool\bin\..\log\TEST_20190524104156.log
D:\tool\bin\..\conf\TEST.conf
~
***ヘッダー行を出力させない(タブ区切りで出力) [#j3ed1451]
dir | ForEach-Object {$_.抽出対象列 + "`t" +$_.抽出対象列...
※ ForEatch-Object は foreach や % で代替可能
~
***繰り返し [#rc0bf503]
$dir="New\"
foreach ($file in Get-ChildItem | where {$_.Name -like "...
Get-Content $file | Select-String "AAAAA" | Set-Cont...
}
ページ名: