Windows PowerShell

正規表現の後読み

(※注意)この記事は博士とロボの会話文が入っています。次の表のように文字列を抽出したいとします。 No文字列抽出する文字列 12009年12月23日気温11℃11℃ 22009年12月24日気温12℃12℃ 32009年12月25日気温13℃13℃ 42009年12月26日気温14℃14℃ 52009年12月27日…

前日のイベントログをWMIオブジェクトで取得する

前日のイベントログをWMIオブジェクトで取得するプログラムを作成しました。WMIオブジェクトはGet-WmiObjectコマンドレッドで取得できます。WMIクエリを使用することにより指定した項目を取得することが出来ます。今回は、ログの種類(application、security…

サービスが依存するサービスを表示する

サービスが依存するサービスを表示してみたいと思います。まずはget-serviceのプロパティを見てみます。 DependentServices、ServicesDependedOnというものがあります。とりあえず、Remoto Procedure Call (RPC)に対して実行して内容を確認してみます。 どう…

指定したサービスの起動確認

今度は指定したサービスの起動を確認してみたいと思います。まずはサービス名の一覧が出力されたテキストファイルから確認するサービス名を一つずつ抜き出してみたいと思います。get-helpで使用できそうなコマンドレットを確認します。 Get-Contentコマンド…

起動しているサービスの一覧をテキストで取得する

起動しているサービスの一覧をテキストで取得してみたいと思います。まず、get-helpで使用できそうなコマンドレッドを調べてみます。 Get-Serviceというコマンドレットがあります。実際にget-serviceを実行してみます。 Satusが起動・停止の状態、DisplayNam…

テキストファイルの文字コードを変換する

テキストファイルの文字コードを変換するプログラムを作成しました。shift-jisのファイルをeuc-jpに変換します。StreamReaderオブジェクトのreadtoend()メソッド使用してファイルの文字列をすべて取得します。オブジェクトを生成する際はshift-jisを指定しま…

16進数の文字コード(ASCII)から文字列を取得

16進数の文字コード(ASCII)から文字列を取得するプログラムを作成しました。Encodingクラスのgetcharsメソッドを使用しました。getcharsメソッドは引数で指定した値を文字列に変換します。指定する値は10進数で渡します。そのため、引数で指定した16進数を10…

文字列を16進数で表示

引数に指定した文字列を16進数で表示するプログラムを作成しました。今回もEncodingクラスを使用しています。GetEncodingメソッドでEncodingオブジェクトを取得することが出来ます。引数に文字コードの名前を指定することが可能です。指定可能な名前の一覧は…

文字列をバイナリに変換

文字列をバイナリに変換する方法について調べてみたいと思います。まずはPowerShellにおいてデータ変換のコマンドレッドが存在するか確認してみます。ヘルプでconvertで引っかかるものは以下でした。 ConvertTo−Html ConvertFrom−StringData ConvertTo−CSV C…

サブフォルダのパスを表示

はじめにファイルとディレクトリ両方表示してみたいと思います。get-childitemコマンドレットを使用してディレクトリ・ファイルの情報を取得してみます。すべてのサブフォルダの項目を取得する場合は-recurseというオプションを指定します。 get-childitemコ…

レジストリのデータをString型で取得

名前がdisplaynameのレジストリデータは以下のように取得できます。 get-ItemProperty -path registry::"<レジストリのディレクトリ>" | select-Object -property displaynameしかし、これはPSCustomObject型でかえされます。また、これを無理やりString型キ…

レジストリのデータを取得

PowerShellを使ってレジストリのデータを取得してみたいと思います。「プログラムのアンインストールまたは変更」のデータを取得します。 この中のプログラム名の部分を取得してみます。まず、この部分がレジストリのどのデータかを探さなくてはいけません。…

書き込み拒否を設定するには?

get-aclがアクセス許可の情報の取得なので、set-aclで設定できると思われます。get-help set-aclコマンドを打ってヘルプを確認してみます。 セキュリティ記述子というものを渡してあげればよいことがわかります。じゃあ、セキュリティ記述子はどこから持って…

PowerShellで現在のアクセス許可の状態を確認するには?

PowerShellのコマンドで現在のアクセス許可の状況を調べるにはどうしたらいいのでしょうか?とりあえず、get-commandで打ってみました。打ってみると項目数が多いです。気を取り直して、get-command get-*と打ってみます。 この中で、気になるのがget-aclで…

とりあえず、ファイルのプロパティを見る

適当なファイルのプロパティを見ます。 すると表示されているユーザー名またはグループ名は4つあります。この中で気になるのはAuthenticated Usersです。これはなんでしょうか? 私は英語が不得意なのでAuthenticatedの意味がわかりません。yahooの辞書で調…

気になった事

PowerShellで気になった事があります。PowerShellでアクセス権を変更することができるのでしょうか? そもそも、シェルの中でアクセス権を変更したりすることはないかもしれません。しかし、時間に余裕があったので(暇とはあえて言いません)ファイル書込を拒…

フォルダの更新日付けを変更する

フォルダの更新日付を変更するプログラムを作成しました。プログラムを実行するとユーザーにフォルダパスと何日前に変更するかを対話的に聞きます。入力されたデータを元にset-ItemPropertyというコマンドレットを使用して更新日付を変更します。更新するフ…

ログをバックアップする

ログを格納しているフォルダ内にサブフォルダを作成して、ログをバックアップするプログラムを作成しました。具体的にログを格納しているフォルダは以下です。 フォルダログ C:\logs application_yyMMdd.txt security_yyMMdd.txt system_yyMMdd.txt (※yyMMdd…

フォルダ内に指定のファイルが存在するか確認

フォルダ内に指定のファイルが存在するか確認するプログラムを作成しました。以下のファイルが存在するか確認します。 ファイル名格納フォルダ application_yyMMdd.txt (yyMMddは前日日付)C:\logs security_yyMMdd.txt (yyMMddは前日日付)C:\logs system_yyM…

前日のイベントログをテキストファイルで取得する

前日のイベントログをテキストファイルで取得するプログラムを作成しました。今回はPowerShellでの作成にチャレンジしました。1行目から説明していきたいと思います。まず、以下は、VBAでいうところのOption Explicitです。変数を定義せず使うとエラーになる…

Windows PowerShellを起動してみた

[すべてのプログラム]→[アクセサリ]→[Windows PowerShell]→[Windows PowerShell]をクリックします。 Windows PowerShellの画面が開きます。 psコマンドを打ってみます。 lsコマンドを打ってみます。 Unixで使うpsとlsコマンドがAliasで登録されているみたい…