自分用のチートシート たまにしか使わないので少しずつ記述を増やしていく 動作確認はバージョン2および4で行っている。バージョン3は環境がないため未確認である (自宅のPCをWindows10にアップグレードしたので、今後バージョン5も確認予定。逆に今後はバージョン4の確認はできない) コマンド名
![powershell チートシート - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/69dc610bff75fd9461ed50a3deaee337ac987e1c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9cG93ZXJzaGVsbCUyMCVFMyU4MyU4MSVFMyU4MyVCQyVFMyU4MyU4OCVFMyU4MiVCNyVFMyU4MyVCQyVFMyU4MyU4OCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MTkzZjI1YzY5ZDhlNWVkOTU0YjY4ZDIwZmEyOTY0MWM%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBqY2EwMjI2NiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MWM5NWMxMWZlMTUwNTU1MWQxMmJiOTQ5Yjg5ZTI3Yjk%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D916d5b974074bb9c6c0c31ef7a421ea4)
これは Elasticsearch Advent Calendar 2014 - Qiita 、12日目の記事です。 はじめに 皆さんは、どうのようにElasticsearchを使っていますか? logstash、fluentdからのデータの投入だけではでなく、powershellからデータを投入できると、可視化できる範囲がぐっと広がります。 私の環境では、下記のような情報を可視化しています。 vmwareの情報をpowershellから投入 AWSの情報(ec2の稼働状態、cloudtrail)をpowershellから投入 windowsのイベントログを投入 Elasticsearchには、様々なクライアントがありますがpowershellのクライアントはないため、関数を自作してみましたのでご紹介いたします。 使用例 Put-Elasticsearch という関数を作ってみました。 下
はじめに PowerShellはデータベースからデータを取得するようなこともできます。 CSVとしてデータを吐き出して他のシステムが処理すること。 例えば、帳票印字のシステムがそのCSVを取得して印字するとかよくあります。 なぜ、Powershell? Windowsであれば何処でも実行できてテキストエディタで修正可能。 .NETのライブラリーも使える。 つまり、非常に機動力が高くて強力なことができます。 こういう用途には持って来いかと思います。 常に新しいCSVデータを取得 帳票印字のシステムは一度印字したデータは必要ありません。 常に新しいデータを取得することになります。 なのでロジックはこんな感じになるでしょう。 CSVから一番新しい入力日付、時間、伝票noを取得 CSVの入力日付、時間、伝票noよりも新しいデータをDBから取得 CSVとして上書き ソース 作ったのが下記のソース。
USER_EXTENTS からテーブルとインデックスのサイズを集計するとともに、テーブルの場合は件数も取得して標準出力に出力します。 [void][reflection.assembly]::LoadWithPartialName("Oracle.DataAccess") $conStr = "Data Source=XE;User Id=hr;Password=hr" $con = New-Object Oracle.DataAccess.Client.OracleConnection($conStr) $con.Open() $sqlStr="select segment_name,segment_type,sum(bytes)/1024/1024 as MB from user_extents group by segment_name,segment_type order by s
はじめに データベースから取得したCSVデータをメールで送信する案件が発生した。 CSVを暗号化zip圧縮にする必要があるが取り敢えずは、 zipファイルをメールに添付して送信するスクリプトを作ってみた。 環境 PowerShell v2.0以降 .Net Framework 2.0以降 解説 .NET Framework2.0以降にある SmtpClientとMailMessage、Attachmentオブジェクトを呼び出して 作成している。 僕が紹介した当時は、Portの変更等ができなかったので。 今はSend-MailMessageで事足ります。 $From="送信元メールアドレス" $Subject="納品書" $body="納品内容を送信致します。" # このファイルの場所を取得 $FilePath=Split-Path ( & { $myInvocation.ScriptNam
PowerShellやバッチファイルで, 「管理者として実行」したかどうかを判定する例文は下記の通り. PowerShell if (([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(` [Security.Principal.WindowsBuiltInRole] "Administrator")) { Write-Output "管理者として実行しました. シンボリック・リンクの作成を試みます. " CMD /C MKLINK /D "$Env:HOME\.emacs.d" "$Env:USERPROFILE\Dropbox\.emacs.d" } else { Write-Warning "管理者として実行していません. シンボリック・
$profileとは powershell実行時に設定したいコマンドを記述するファイル。 > echo $profile でファイルパスが分かるから、存在しない場合は作成する。 > New-item –type file –force $profile フォルダ移動のショートカット設定方法 powershellはフォルダ移動のaliasをshellのように %alias hoge= "cd fuga" と簡単にできないところがつらい。 しかし、以下のようにすることで近い動作は実現可能。 $profile 内で変数定義する $work = "C:\work" と定義すれば > cd $work で移動可能。 $profile 内で関数定義する function work(){cd "C:\work"} と定義すれば > work で移動可能 移動だけを目的としたら関数定義のほうがよいけど、よ
背景 PowerShell でスクリプトを書くメリットの一つとしては、Windows7 以降ならデフォルトで入っているので、Windows を使っている人になら書いたスクリプトを渡して、そのまま使えることにあると思っている。(しかも .NET が使える) ただデフォルトの設定だと PowerShell のスクリプトを実行できなかったり、ダブルクリックで実行できないのも、ちょっと不便だなと感じるので、その回避方法をメモする。 普通に引数で渡す 一番単純な方法は、PowerShell のスクリプトを呼び出すバッチファイルを、いっしょに置いておくことだと思う。 デフォルトだと ExecutionPolicy の値でスクリプトの実行ができないのでオプションで指定する。
2015年5月 初版 2017年11月 第2版 見やすく編集。 内容 はじめに 2 使い方 2 実行ポリシーの変更 2 モジュール用ディレクトリの作成とプロファイル 3 PowerShellの操作方法 4 基本的なコマンドレット 5 PowerShellスクリプト 6 コマンドレット 6 文字列の表示 6 コマンドライン引数 6 スクリプトの終了 7 変数 7 配列 7 連想配列 8 演算子 8 関数 9 オブジェクト 9 パイプラインとリダイレクト 10 .NET Framework の利用 10 COMの利用 11 既存のスクリプトの利用 11 応用例 12 ショートカットの一括変更 12 CSVファイルの作成 13 ゴミ箱へファイルを捨てる 14 Thumbs.dbの一括削除 14 フォルダのサイズ 15 はじめに Windowsでコマンド操作と言えば伝統的にコマンドプロンプトが使わ
0. はじめに 前回予告したとおり、サーバOSの初期設定時に使いそうなコマンドレットについてまとめます。一部Windowsのコマンドを使用します。 1. タイムゾーンの設定 いきなりコマンドレットではありません。タイムゾーンを設定するためのユーティリティが用意されているため、こちらを利用して設定をします。 # 現在のタイムゾーン設定を取得 PS> tzutil /g Tokyo Standard Time # タイムゾーンとして設定できる値の一覧を取得 PS> tzutil /l (UTC-12:00) 国際日付変更線 西側 Dateline Standard Time (UTC-11:00) 協定世界時-11 UTC-11 (UTC-10:00) ハワイ Hawaiian Standard Time ...(以下略) # タイムゾーンを設定する(東京) PS> tzutil /s "To
※変数のスコープの話じゃないです。 PowerShellは、デフォルトではPowerShellスクリプトを実行できないポリシーに設定されていることは有名です。 PowerShellはコンソール上のみの操作でも有益とは言え、スクリプトを使用できないのでは大変不便です。 ですからPowerShellを頻用するユーザーは、新しいWindows環境を作る際はまず Set-ExecutionPolicyコマンドレットで実行ポリシーをRemoteSignedに設定しておくのが常識と言えるでしょう。 ……いや、そうなのでしょうか。 スクリプトが実行できない様になっているのは、安全性を考慮した上での仕様です。そう簡単にそのタガを緩めてしまって良いのでしょうか。 まあそれは良しとしても、他所の環境、実行ポリシーがRestrictedで設定されている環境を使わなければならない場合、自分の中の常識がRemote
(16/07/29追記) 当記事のスクリプトでは「煩」など一部の文字が「BAD+7�BAD+A9」のように化けて投稿されるので、当記事にリンクして頂いているこちらの記事のスクリプトの利用をお勧めします。 ログオン・ログオフ時にPowerShellを起動しSlackへ通知する【Windows7】 追加のソフトインストール無しでWindowsからSlackに通知が送れます。 要になるPowerShellのInvoke-RestMethodはWindows8、Windows Server 2012以降(PowerShell 3.0以降)で利用できます。 SlackのWebhook設定 Slackで投稿したいチャンネルのIncoming WebHooksを設定しておきます。 チャンネルのメニューから、Add a service integration > Incoming WebHooks を追加
下記の記事で、Linuxのユーザ認証をADで行う設定を記載した. http://qiita.com/rsakamot/items/6d4b6cbce7ac2aa6724a で、ユーザを作る際, GUIで, がちゃがちゃするのはつらい. 数人だったらいいけど, 初期構築時には大量のユーザを登録することになることが多いと思う. そこでPowerShellを利用する. 個人的には「これがスクリプトかよ」と内心思っているが, 貧弱なbatより100倍マシであるし, 現実問題として, 他に選択肢がない. ので, ADのユーザをPowerShellで追加する. ※AD用のコマンドレットはADインストール時に追加されているものとする. ※慣れると便利なものです. PowerShell. 正直なところWindowsのユーザ追加であれば, 下記のサイトで十分. というかすごく詳しく書いてくれている. いろい
Remove-NetIPAddress -InterfaceIndex 13 -IPAddress "192.168.88.88" -DefaultGateway "192.168.88.1" 【解説】 「-InterfaceIndex 13」は、Get-NetAdapterで表示されたifIndex Statusの値なので各環境で読み替える必要あり。 「-IPAddress "192.168.88.88"」は、文字通り、静的に設定した削除対象のIPアドレスなので、各環境で読み替える必要あり。 「-DefaultGateway "192.168.88.1"」は、文字通り、静的に設定した削除対象のデフォルトゲートウェイなので、各環境で読み替える必要あり。 明示的にデフォルトゲートウェイを削除しないと、デフォルトゲートウェイだけ残ってしまう。 静的に設定したDNSサーバの削除
電源スリープ設定が有効かどうかを確認する処理をPowerShellで書いたので貼っておきます。 えーっと、すごい煩雑です。 解説はスクリプト内にコメントで書いておいたのだけど、電源関連の設定はWMI経由で root/CIMV2/power の Win32_PowerPlanか ら電源プランの情報を取得し、 Win32_PowerSettingDataIndex から設定値の情報を取得します。 「次の時間が経過後スリープする」と「復帰時のパスワードを必要とする」の設定項目の InstanceID を決め打ちで指定している箇所があるのだけど、検証に使った複数のPCで同じ値になってたので、個体差はなさそうなんだけど、すべての端末やWindowsバージョンで同じなのかどうかは不明。レジストリキーっぽい香りがしてあんまり綺麗ではない。 function SubCheck-PowerSleep($sl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く