サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
blog.powershell-from.jp
前回の記事「ConvertTo-Json を使用して JSON データを作成する」では、連想配列(ハッシュ)から、JSON データを作成したり、JSON ファイルを生成したりする方法について説明をしました。 今回は、ConvertFrom-Json コマンドレットを使用した、JSON データ読み込み、JSON ファイルの読み込み、読み込みデータの参照方法について説明します。 ConvertFrom-Json の書式 はじめに ConvertFrom-Json の書式を確認しましょう。 ConvertFrom-Json [-InputObject] <string> [-AsHashtable] [-Depth <int>] [-NoEnumerate] [<CommonParameters>] JSON データの読み込み まずは、以下のように入力して JSON 形式のデータを変数 $jso
この記事は以前 http://blog.hiros-dot.net/ に書いたものです。 breakはループ制御(foreach, for, while, do)やswichないで出現した場合、そこでそのコードを終了します。 以下はforループでの break 使用例です。変数 $i が3に等しくなるとbreakが実行され、コードを終了します。 PS> for ( $i = 0; $i -lt 5; $i++ ) >> { >> if ( $i -eq 3 ) >> { >> break >> } >> Write-Host $i >> } >> 0 1 2 次に continue ですが continueが実行されると、実行フローはループの先頭へ移動し、次の反復処理を行います。breakと異なるのは、ループを終了しないことです。 以下はforループでのcontinue使用例です。if文で
この記事は以前 http://hiros-dot.net/ へ書いたものです。。 今回は、パイプ演算子と共に使用する Select-Objectコマンドレットを紹介します。 Select-Objectコマンドレットはオブジェクトまたは一連のオブジェクトの指定されたプロパティを選択します。 Get-ChildItemコマンドレットが持つプロパティの指定したものだけを抜き出してみましょう。 その前に Get-ChildItemコマンドレットで取得可能なプロパティを調査してみます。 Get-Memberコマンドレットで-MmemberTypeパラメータにpropertyと指定することでプロパティのみを表示します。 PS C:\Work> Get-ChildItem | Get-Member -MemberType property TypeName: System.IO.FileInfo Nam
PowerShellにおける関数とは、一連のコマンドやステートメントをまとめた再利用可能なブロックのことです。関数を使用することで、同じ手順を何度も繰り返すことを避け、プログラムの再利用性を高めることができます。この記事では、PowerShell関数の基礎として、関数の入力と出力について解説します。
多くのコンピューターを管理をすることはIT関係の仕事をしているとよくあることです。特に最近は仮想マシンの技術が発達して、より多くのコンピューターを管理する機会が多くなりました。それぞれのコンピューターにリモートログインをしてあるWindowsサービスがインストールされているかどうかをチェックするのは、数台のコンピューターだったら大したことはないのですが、10台、20台になるとそれだけで結構時間のかかるものです。 そこで、PowerShellのスクリプトでリモートマシンのWindowsサービスをリストすることができます。以下の例ではすべてのリモートマシンが同じ資格情報(Administrator)を使用できるものとします。 $credential = Get-Credential -Credential Administrator $computers = “server1″,”server
PowerShellでブール値を表すにはどうすればよいでしょうか? 変数 $a に trueを直接代入しようとすると次のようになります。 PS > $a = true 用語 'true' は、コマンドレット、関数、操作可能なプログラム、またはスクリプト ファイルとし て認識されません。用語を確認し、再試行してください。 発生場所 行:1 文字:9 + $a = true <<<< true はブール値として認識しません。 実は、PowerShellではブール値を先頭に$を付けて $TRUEや$FALSE と表します。 PS > $a = $TRUE PS > $a.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Boolean System.ValueType Null値
前回の記事では Windows Server 2008 R2 で PowerShell を使用する方法を紹介しました。 今回は、PowerShell で Active Directory専用のモジュールを使用する方法を紹介します。 まず、PowerShell コンソールを起動して、次のコマンドを実行します。 Import-Module ActiveDirectory 以上で Active Directory専用のコマンドレットを使用することが可能になります。 では、どのようなコマンドレットがあるかを確認してみましょう。 Get-Command -Module ActiveDirectory 全部で76個のコマンドレットが表示されます。 これで PowerShell から Active Directory を操作することが可能になりました。 ただし、Import-Module コマンドは実行
PowerShell で実行した結果をファイルに保存したい場合は Out-File コマンドレットを使用します。 (リダイレクション演算子(>)を使用することもできます。) たとえば、現在のプロセス一覧をファイル(たとえば C:\Work\Cmdlet.txt)に保存する場合は下記のようにします。 ファイルが存在しない場合は新規で作成されます。 Get-Process | Out-File -FilePath C:\Work\Process.txt -FilePath パラメータは省略可能なので下記のように記述することができます。 Get-Process | Out-File C:\Work\Process.txt 次に Out-Fileで使用できるパラメータを見てみましょう。 Append 出力内容を、既存のファイルの末尾に追加します。 Get-Process | Out-File C:
Windows PowerShell 2.0 からリモート制御がサポートされます。 Windows PowerShell 2.0がインストールされているだけではリモート処理を行うことはできません。 リモート制御を行う側とされる側の双方にPowerShell 2.0がインストールされ、リモート処理用に構成されている必要があります。 本記事は Wndows PowerShellをリモート処理用に構成する ローカルマシンからリモート接続する リモート接続を解除する について説明します。 リモート処理用に構成する PowerShell でリモート処理が行えるようにするには、下記条件が必要になります。 ローカルマシンとリモート制御するマシンの双方にPowerShellがインストールされていること リモート処理用の構成がされていること リモート接続するマシンのPowerShellは管理者モードで起動す
インストーラーをダウンロードしたら即実行してインストール、と行きたいところですが前提条件があります。 前提条件 前提条件として下記が求められます(Betaのときは以下のほかに英語版OSであることというのがありました)。 Windows 7 SP1以上であること SP1になっていない場合はWindows Updateでアップデートをします。 .NET Framework 4がインストールされていること インストールされていない場合はhttp://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=9cfb2d51-5ff4-4491-b0e5-b386f32c0992 からダウンロードしてインストールします。 あらかじめPowerShell ISEがインストールされていること PowerShell ISEがない場合はあらかじめインス
New-ADUserコマンドレットを使用すると、新しい Active Directoryユーザーを作成することができます。 指定できるパラメーター数が非常に多いのですが、これはGUIメニューの「Active Directory ユーザーとコンピューター」で指定できる項目がパラメーターとして提供されているだけですので、あまり戸惑うことはないでしょう。 ユーザーを作成する ユーザーIDが”Naoto”、表示名が”伊達直人”というユーザーを作成するには下記のようにします。 表示名はDisplayNameパラメーターを使用します。 New-ADUser Naoto -DisplayName 伊達直人 上記コマンドによって作成されたユーザーを「Active Directory ユーザーとコンピューターで確認すると、下記のようになります。 性・名を指定してユーザーを作成する 下記は性が”伊達”、名が”
PowerShellのコンソールを起動すると普通のコマンドラインに比べて起動が遅いなと感じる。これは.NETの性質に由来するもので、MSIL(中間言語)を実行時にJIT(Just in Time)コンパイルするためである。実行時に機械言語へのコンパイルを行っているのだ。このJITコンパイル方式はあらゆるCPUやOSに対応させるためにインタプリタの利点を生かしたまま実行時には機械言語の処理速度を保てるという利点がある。 でも考えても見るとPowerShellが必要な環境では多種のOSで動く必要が今のところはない。速く起動してくれるに越したことはないのだ。それを実現するためにはMSILをすでに機械言語にコンパイルさせていればその実行時にその過程が不必要になるために速くなる。.NET Frameworkにはngenというのがあってこれを使うと事前コンパイルを可能にしてくれる。 ネイティブ イメー
スクリプトに署名したいけれど、証明書を取得するのにお金をかけたくない場合は自己署名証明を作成することで解決できます。 自分に対する覚え書きという意味合いも込めて、その方法を公開いたします。 下記順番で説明します 自己署名証明書作成ツール ローカル証明機関の作成方法 署名証明書の作成方法 スクリプトへの署名方法 おまけ:スクリプトに署名する関数 自己署名証明書作成ツール 自己署名証明書を作成するには makecert.exe というツールを使用します。 このツールは、Visual Studio.NETをお持ちの方であれば、すでにインストールされています。 もしVisual Studio.NETを持っていないのであれば、無償のSDKをインストールすることで手に入れることができます。 (というかできるはずです。というのも自分はVisual Studioを有しており無償のSDKによる確認は行ってい
今回はGet-ADGroupコマンドレットを使用して、 Active Directoryグループを取得する方法について説明します。 1つまたは複数のActive Directoryグループを取得するコマンドレットです。 書式は3つあり、Filterパラメーターを使用する方法、Identityパラメーターを使用する方法、LDAPFilterパラメーターを使用する方法があります。その他にもにも様々なパラメーターを持っていますが、まずは大きく3つに分類されていることを押さえておきましょう。 samAccountNameを指定してグループを取得する samAccountNameを指定してグループを取得するには Get-ADGroup samAccountName とします。 たとえば、samAccountNameがAdministartorsのグループを取得する場合は下記のようにします。 Get-
と聞くと「おお!誰かがそんなフレームワークを書いたのか!?」と思われそうだが、そうではない。Watirのような完全なラッパー(Yoのラッパーじゃなくて、包むのほう)は自分が知る範囲では存在しない。というのはうそでこのブログを見直している間にそんなフレームワークを発見した。それは最後に述べるとして、IEはCOM経由で.NETから操ることができるのでWatirのようなフレームワークを作るのは時間がかかるかもしれないが、そんなに難しいことではないような気がする。(気がするだけ)前述のように.NETからIEをCOM経由で操ることができるのでPowerShellからもIEを操ることができるのだ。 $ie = New-Object -COM “InternetExplorer.Application” をPowerShellで実行すると$ie変数の中にIEが格納される。それを使ってとりあえず何でも出来
PowerShell 2.0 を Windows XP Professional SP3 にインストールしてみました。 スクリーンショット付きで以下の順に解説します。 以前のバージョンのアンインストール PowerShell 2.0 正式版のダウンロード PowerShell 2.0 のインストール ●以前のバージョンのアンインストール はじめてPowerShellをインストールする場合には、アンインストールは必要ありませんので PowerShell 2.0 正式版のダウンロード へ進んでください。 PowerShell 1.0を使用している方は、次の手順でアンインストールします。 まずは、[コントロールパネル]-[プログラムの追加と削除]をクリックします。 以前のバージョンのPowerShellをリストに表示させるには[更新プログラムの表示]にチェックを付ける必要があります。 「Wind
ご無沙汰しております。 2010/7/7でPowerShell from Japan!! は2周年を迎えることができました。 最近エントリーが少なく、楽しみにされている方には本当に申し訳ありません。 今後ともご愛顧のほどよろしくお願いいたします。 さて、今回はPowerShellでExcelを操作する方法です。 まだ取り上げたことがなかったので記しておきます。 まずはExcelブックを作成する方法ですが、これにはNew-Objectコマンドレットを使用します。 また、作成したExcelを画面上に表示させる(起動する)には、作成したオブジェクトのVisibleプロパティをTrueにします。 下記がそのコード例です。 #Excelオブジェクトの作成 $xls = New-Object -ComObject Excel.Application #Excelを画面に表示する $xls.Visibl
PowerShellを使用してTwitterのツイートを取得する方法についての記事です。初心者向けに簡潔な解説と実用的なコード例を提供します。
このページを最初にブックマークしてみませんか?
『PowerShell from Japan!! Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く