たいちの何か

見たもの、聞いたもの、徒然なるままに

iMac mid 2010を工場出荷状態(クリーンインストール)に戻す

弟から譲り受けたiMac mid 2010を工場出荷状態に戻すべくOS Xクリーンインストールをしたが、思わぬところでハマったので備忘録。

インターネット復元

インターネット復元という方法を使って、インターネット経由でクリーンインストール
インターネット復元とは、Mac OS X Lionで実装された新機能です。
当初はLionがプリインストールされた世代以降でしか使えなかったのですが、後日EFIアップデートで以下のモデルまで対応が拡張されました。

インターネット復元をするには何が必要なの

上述の通りインターネット復元に対応したMacが必要です。

また、今回、自分は弟から譲り受けたMacであるので行いませんでしたが、自分のMacクリーンインストールする際は、事前に下記の作業をしておきましょう。

  • iTunes Storeの認証の解除
  • iCloudMacを探すをオフにしてサインアウト
  • Appleマイサポートプロファイルの削除

下記のBlogに詳しく書かれていて参考になります。

itea40.jp

どうすればインターネット復元が使えるの

詳しくは、下記のAppleのサポートに書いてありますが、Macを起動した直後に、option + command + Rを押し続けます。*1

support.apple.com A 上手くコマンドが入力できると、Wifiの接続設定を聞かれ、適切なWiFiを選択肢て進むと、プログレスバーが出て10分程度待たされます。
*2

その後、以下のような画面が表示されます。

f:id:taitioooo:20170130144109j:plain

事前にHDDのデータを消し去っていたので、macoc再インストールを選びました。*3
次に進無前に、画面右上端のWiFI接続を確認します。 *4
*5
*6
*7
WiFi設定を行ってしまえば、あとはウィザードを進めるだけです。

規約に同意します。 f:id:taitioooo:20170130144340j:plain f:id:taitioooo:20170130144432j:plain

MacOSをインストールするドライブを選択します。*8 f:id:taitioooo:20170130144532j:plain f:id:taitioooo:20170130144626j:plain

macOSをダウンロードする旨のメッセージが表示されたら続けるを押して、インストールを実行します。 f:id:taitioooo:20170130144148j:plain f:id:taitioooo:20170130144301j:plain

以上でインターネット復元は終了です。

macOS Sierra パーフェクトマニュアル

macOS Sierra パーフェクトマニュアル

*1:Macに内蔵されている復元システムから起動する場合はCommand + Rだけを押します

*2:ブートイメージのダウンロードをしていると思われます

*3:HDDを初期化していなくても、再インストール可能です

*4:この設定に気づかず、30分位ハマりました

*5:EFI起動時にWiFi設定をしているので、この画面でも自動でWiFiが設定されていると思いきや 綺麗さっぱり設定がクリアされており、オフライン状態となっていました

*6:オフライン状態で、続けるを押しても「適格性を検証します。」といったメッセージが表示されたあと、前の画面に戻るだけで一向に進みませんでした

*7:インストールされるOSがMac OS Sierraですが、将来サポートモデルから切り捨てられても、インターネット復元できるのでしょうか。。。

*8:筆者の環境は500GBのドライブ1つのみです

Azure - Powershellを使ってAzureに接続してみる - 接続編

今回はPowershell経由でAzureに接続してみたいと思います。

前回の記事はこちら。
edge.hateblo.jp

How to connect to Azure using Powershell

Powershellを使ってAzureに接続するためには、Webブラウザ経由で接続と同様にログインが必要です。 (ログインなしで接続で来たらセキュリティ的にまずいですからね)

PowershellでAzureにログインするためには以下のコマンドを実行します。

add-azureaccount

すると下記の画面が出てくるのでIDとパスワードを入れればログイン完了です。
f:id:taitioooo:20150812212822j:plain

簡単ですね。
でも!毎回ログインするのって面倒じゃないですか?
Powershellを起動したら、Azureにログインが完了していてほしいと思いませんか?
スクリプトを使ってAzureのコマンドをたたきたいときはどうすればいいのと思いませんか?
(少なくとも私はそう思います笑)

この辺りは天下のマイクロソフト様なのでしょうか。ちゃんと自動ログインする方法が用意されています。
早速自動ログインの設定をしてみます。

import PublishSettingsFile to logon Azure automatically

1. login Azure portal

まずWebブラウザを起動し、 Azureポータルにログインしておきます。
f:id:taitioooo:20150812213818j:plain

2. Invork Get-AzurePublishSettingsFile

次にPowershell*1を起動し以下のコマンドを実行します

Get-AzurePublishSettingsFile

実行するとWebブラウザに以下のページが表示され従量課金-x-xx-xxxx-credentials.publishsettingsというファイルのダウンロードが始まります。
このファイルをダウンロードします。(設定変更後削除するので、わかるところに保存しておいてください)
f:id:taitioooo:20150812214354j:plain

3. import Publishsettings file

以下のコマンドを実行して、先ほどダウンロードしたpublishsettingsfileをインポートします。

import-AzurePublishSettingsFile -PubliseSetiingsFile <ファイルのフルパス> 


以上で自動ログインの設定終わりです。
これでAzureサブスクリプションに対する自動ログインが可能になりました。

さてpublishsettingsfileをインポートしたらAzureに接続できるようになりましたが、このファイルは何なのでしょうか。
ググってみたところこんな記事を見つけました。

About Windows Azure Publish Settings File and how to create your own Publish Settings File

A publish settings file is an XML file which contains information about your subscription. It contains information about all subscriptions associated with a user’s Live Id (i.e. all subscriptions for which a user is either an administrator or a co-administrator). It also contains a management certificate which can be used to authenticate Windows Azure Service Management API requests. Typically a publish settings file look something like this:

確かにmmcを起動して証明書の[個人]-[証明書]を見てみると[Windows Azure Tools]という証明書が入っているではないですか。 有効期限は1年のようですね。つまり1年に1回は更新する必要があるということですね。 f:id:taitioooo:20150812221019j:plain

ちなみに、PublishsettingsFileをインポートすると、下記に設定ファイル(.json)が作られるようです。

%UserProfile%\AppData\Roaming\Windows Azure Powershell
f:id:taitioooo:20150812221644j:plain

jsonファイルの中身はこんな感じです。 (個人情報は削っています)
自動ログインに必要がなくなったら、下記のファイルと証明書を削除すればよさそうですね。

{  
  "Environments": [],  
  "Subscriptions": [  
    {  
      "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",  
      "Name": "従量課金",  
      "Environment": "AzureCloud",  
      "Account": "xxxxxxxxxxxxxxxxxxxxxxxx",  
      "Properties": {  
        "SupportedModes": "AzureServiceManagement",  
        "Default": "True"  
      }  
    }  
  ],  
  "Accounts": [  
    {  
      "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",  
      "Type": 0,  
      "Properties": {  
        "Subscriptions": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  
      }  
    }  
  ]  
}  

*1:管理者権限・ユーザー権限どちらでも構いません

Azure - Powershellを使ってAzureに接続してみる - 準備編

Windows 10の環境にMicrosoft Azureへ接続するための環境を構築します。  

そもそもMicrosoft Azureってなによ?という方はGoogle先生に聞いてみるとわかりやすい説明があると思います。(簡単に言うと、マイクロソフトが提供するクラウドサービスです。)

Azureの管理画面は、お馴染み(?)のこんな画面ですよね。
慣れてくると使いやすいような錯覚に陥るのですが、基本的に使いにくいです。
f:id:taitioooo:20150806210445j:plain

それに何かの値を一括で取得しようとしてもレポート出力機能などなく規模が大きくなると集計作業などほぼ不可能に近いです。
これは最近のMicorsoftのクラウドサービス全般にいえることなのですが、画面は最低限の機能(時には最低限の機能もない)が表示されており、使い倒したい人やカスタマイズしたい人はPowershell使ってね!!というスタンスをとっています。

つまりPowershellがないと、Microsoftクラウドサービスを使いきれないってことなんですね。
もちろんPowershellなしでも、ある程度までは十分に使えますが、この業界で食べていくにはPowershellは必須でしょう。

What is needed to connect Azure using Powershell?

PowershellでAzureに接続する方法は、実はいろいろあります。。
それぞれ用途が微妙に違い混乱のものとなっています。

  1. Microsoft Online Services Sign-In Assistant for IT Professionals RTW
  2. Azure Active Directory Module for Windows PowerShell
  3. Mixorosft Azure Powershell

今回は、Azure管理画面をコマンドで操作できるMicrosoft Azure Powershellモジュールを導入します。

How do you setup Microsoft Azure powershell ?

このモジュールの導入はとても簡単。

1. Get Web Platform Installer

まずMicrsoft Web Platform installerのダウンロードページにアクセスして、Web Platformインストーラーを入手します。
f:id:taitioooo:20150806211941j:plain

2. Install Azure Powershell module

ダウンロードが完了したら、インストーラーを起動して、Microsoft Azure Powershellを追加し、インストールを押します。
f:id:taitioooo:20150806213620j:plain
f:id:taitioooo:20150806213621j:plain
f:id:taitioooo:20150806213623j:plain
f:id:taitioooo:20150806213624j:plain

3. Import Azure Powershell Module

インストールが完了したらPowershellを起動します。2の手順でMicrosoft Azure PowershellモジュールがPCにインストールされてるので、Powershellコンソールで以下のコマンドを実行してモジュールを読み込みます。

Import-Module Azure

f:id:taitioooo:20150806214014j:plain

これでAzureに接続する準備が整いました。何が入ったか気になる方は以下のコマンドを実行してみてください。
かなりのCmdletが追加されているので、びっくりしますw

  • インポートしたCmdletを確認する
get-Module -moduletype Azure

  • 追加されたCmdletの個数を調べる(737個も追加されています><)
(get-Module -moduletype Azure).count
  • モジュールのバージョンを調べる
(Get-Module -name "azure").version

あっという間にインストール完了ですね。次回は実際にAzureに接続してみたいと思います。

Windows - UAC無効化のススメ

Windows10をインストールしてまず最初にやったこと。 それは、UAC(ユーザーアクセス制御)の無効です。  

What is UAC ?

UACと言われてもなかなかピンと来ない人が多いのではないでしょうか。*1    では、下の画像に見覚えがあるかと聞かれたら、大体の人は「ある」と答えるのではないでしょうか。  

そうです。これがUACと呼ばれるアクセス制御の仕組みです。

UACとは、Windows Vista以降のWindowsに搭載されているセキュリティ機能の一つ。管理者(アドミニストレータ: Administrator)権限を持つユーザに普段は一般ユーザと同じ権限しか与えず、ソフトウェアが管理者権限の必要な 処理を実行しようとした際に警告ダイアログを表示して本当に実行してよいかユーザに確認する機能。*2

f:id:taitioooo:20150729232520j:plain

コンピューターには大きく分けて2種類の権限があります。(実際はものすごく細かく権限が分かれていますが)

  • 管理者権限(root, administrator)
  • ユーザー権限

家庭などで個人がWindowsを使う場合の多くは、ログインしているアカウントは管理者権限を持っています。
管理者権限とは、あらゆる設定を変更できあらゆるソフトウェアをインストールできる権限のことです。*3

管理者権限を持つと、何でもできるので使い勝手の面では申し分ないのですが、セキュリティ面で不安なところもあります。   そのため、管理者権限を持つアカウントも通常時はもてる権限を制限し、必要な時だけ管理者権限に昇格する仕組みが設けられました。それがUACという仕組みです。

LinuxUNIXの世界では、何十年も前からこの仕組み*4が実装されていましたが、Windowsに実装されたのは、10年前のWindows Vistaからです。

普段使う分には、UACが有効になっていても手間さえ気にならなければ、利用に支障はないのですが、スクリプトなどを書く場合には、この仕組みがあだとなる場合があります。
スクリプトで様々な処理を書く場合、大抵管理者権限がないと実行できない処理をするため、UACが有効になっていると、管理者権限で実行しているつもりが、ユーザー権限で実行していたという状態になり処理が失敗します。

というわけで、私はUACを無効にしています。 無効にする方法は下記のとおりです。

How do you disable UAC ? (case of Windows 10)

  1. 画面左下のウインドウズマークの上で右クリックをして、管理メニューを呼び出し、[コントロールパネル]を開きます。
    ※画像はメニューを表示する前の状態です。 f:id:taitioooo:20150729234656j:plain

  2. コントロールパネルの[ユーザー] - [ユーザーアカウント] - [ユーザーアカウント制御方法の変更]を開きます
    f:id:taitioooo:20150729234910j:plain
    f:id:taitioooo:20150729234914j:plain
    f:id:taitioooo:20150729234916j:plain

  3. デフォルトで下から3番目に設定されているので、1番下に設定してOKを押します。
    f:id:taitioooo:20150729234919j:plain
    f:id:taitioooo:20150729234922j:plain

  4. コンピューターを再起動すれば、UACが完全に無効になった状態で利用することができます。


以上がUAC無効化の方法でした。 (セキュリティレベルを下げることになるので、設定変更は自己責任で)

*1:ピンときた人も結構いるかな?

*2:抜粋: http://e-words.jp/w/UAC.html

*3:かなりざっくり言いました

*4:sudoなど

Windows - Windows 10をインストールする

本日7月29日。Windows10が正式リリースされる日ですね!
新しい物好きななので、早速Windowsをインストールしてみましたw

Windows 10インストールの方法

Windows10はマイクロソフト初が目白押しです。

  • 初めてOSイメージをインターネット経由で提供する
  • 初めて無償で提供(SP除く。1年以内に限る)

Macを使っている私からは、はやりに乗ったねという感じですが、マイクロソフトの成り立ちを考えるとかなり画期的ですね。

さっそくインストールしましょう。

セットアップツールを入手する


Windows10はWindows Updateというパッチ配布の仕組みを使って提供されるそうですが、29日になったからといって全員にヨーイドン で配信されるとは考えにくいです。*1
せっかちな私はセットアップツールをダウンロードしてアップブレードしました。  

  1. まず下記のサイトにアクセスします。

    Windows10のダウンロード  

  2. インストールできる種類に32bit/64bitの2つがありますが、自分の使っているOSに合わせてダウンロードします。 f:id:taitioooo:20150729212908j:plain f:id:taitioooo:20150729213836j:plain

32bit/64bitの調べ方
[スタート] - [コントロールパネル] - [システムとセキュリティ] - [システム]のシステムの種類に記載があります。 f:id:taitioooo:20150729213118j:plain

セットアップツールを実行する


  1. ダウンロードしたツールを実行して[このPCを今すぐアップグレードする]を選択して次へ進みます。
    f:id:taitioooo:20150729213454j:plain

  2. [Windows10をダウンロードしています]と表示されるのでダウンロードが完了するまで待ちます。 f:id:taitioooo:20150729213500j:plain

  3. ダウンロードが完了したらEULAに同意して次へ進みます。
    f:id:taitioooo:20150729213507j:plain

  4. なんだか自動で引き継ぐアプリとか設定してくれたようでいつの間にかこの画面にきていました。しかたがないのでインストールを押しインストールを開始します。
    f:id:taitioooo:20150729225626j:plain

5.インストールが終わるまでひたすら待ちます。今までのWindowsだと自動で終わるかと思いきや、ボタンを押さないと進まない処理が多かったのですが、Windows10では1回もボタンを押さずインストールが進み、自動で再起動実行されました。
f:id:taitioooo:20150729225635j:plain

  1. 30分ほど放置したらインストール処理が完了してWindows10が利用可能な状態となります f:id:taitioooo:20150729225643j:plain

以上でWindows10のインストールが終わりました。自分の環境では約1時間半でダウンロードからセットアップまで終わった感じです。これはすごい!!!  

これからいろいろとWindows10をいじってみようと思います。

*1:負荷分散のためにずれて配信されるでしょう