Office(オフィス)付きパソコンなら格安中古のPC STORE

2025.5.24

Windows 11でのコルタナを活用してタスクを自動化する方法

Windowsのお役立ち情報

「最近Windows 11にアップデートしたんですが、コルタナって今でも使えるんですか?前のように自動化に活用できるのかな?」

「確かにコルタナの位置づけは Windows 11で大きく変わったんだ。Windows 10の頃は OS に組み込まれていたが、Windows 11ではスタンドアロンアプリになって、残念ながら 2023年春にサポートが終了してしまった。しかし、代替手段として 音声アクセス機能や Power AutomateのCopilotなど、より強力な自動化ツールが提供されているよ。これらを組み合わせることで、従来のコルタナ以上の自動化が実現できるんだ」


目次

  1. コルタナの現状とWindows 11での変化
  2. 音声アクセス機能の活用
  3. Power Automateによるタスク自動化
  4. タスクスケジューラとPowerShellの連携
  5. 上級者向けのコマンドライン自動化
  6. 音声コントロールとマクロの連携
  7. トラブルシューティングと最適化

1. コルタナの現状とWindows 11での変化

コルタナサポート終了の背景

Windows 11において、コルタナは大きな転換点を迎えました。スタンドアロンアプリとしてのWindows のCortana音声アシスタンスは、2023年の春に廃止されています。これは、機能面での課題点が多く指摘されており、Windows 11のほか、OSに組み込まれていたWindows 10において通常操作でアンインストールできない点に対して批判も寄せられていたことが背景にあります。

代替機能への移行

Microsoftは、コルタナの代替として以下の機能を推奨しています。

• Windows 11の音声アクセス機能

• 新しいBing(Bing AI)

• Microsoft 365 Copilot

• Windows Copilot

これらの新機能は、従来のコルタナよりも高度な AI 技術を使用し、より正確で多機能な自動化を実現できます。

Windows 11での位置づけ

Windows 10まではOSに組み込まれていましたがWindows 11からは通常のアプリケーションに変わりました。そのため、従来のようにタスクバーに常駐することはなくなりましたが、代わりにより強力な自動化ツールが利用できるようになっています。


2. 音声アクセス機能の活用

音声アクセスの基本概念

音声アクセスは、Windows 11 の機能です。この機能を使用すると、すべてのユーザーが、自分の音声のみを使用して、インターネットに接続せずに PC を制御し、テキストを作成できます。この機能は、Windows 11、バージョン 22H2 以降で使用できます。

音声アクセスの設定方法

音声アクセスを設定するには、以下の手順を実行します。

  1. 設定の開始 • スタートメニューから「音声アクセス」を検索 • 開くを選択して音声アクセスを開始します

  2. 初期設定の完了 • Windowsでの音声アクセスの初期セットアップを完了するには、インターネット接続が必要です • 使用言語の選択(日本語は現在限定的サポート)

  3. マイクの設定 • 品質の良いマイクを使用することを推奨 • ノイズキャンセリング機能付きマイクが理想的

基本的な音声コマンド

音声アクセスでは、以下のようなコマンドが使用できます。

• アプリケーション起動

  • 「Open Edge」:Microsoft Edgeを開く
  • 「Open Word」:Wordを開く

• ウィンドウ操作

  • 「Close window」:現在のウィンドウを閉じる
  • 「Minimize window」:ウィンドウを最小化

• 検索機能

  • 「Search for [term]」:[term]を検索

高度な音声自動化

上級者向けの音声自動化機能として、以下が利用できます。

テキスト訂正機能 特定のテキストまたは最後に口述したテキストを訂正するには、「Correct (訂正) <text>」または「Correct that (それを訂正)」と言います

スペル入力機能 テキストの正しいスペルを口述するには、「Spell that(それをスペル)」または「Click (クリック)<number>」と言います

マルチディスプレイ対応 マルチディスプレイ設定で音声アクセスを使用できるようになりました


3. Power Automateによるタスク自動化

Power AutomateのCopilot機能

Power Automate の Copilot は、自動化を導入してプロセスを変革するまでの過程を加速してくれます。この機能により、自然言語でワークフローを作成できるようになりました。

基本的な自動化フローの作成

Teams通知自動化の例

以下の手順で、メール受信時にTeamsに通知するフローを作成できます。

  1. Power Automateにアクセス • Power Automate (https://make.powerautomate.com/) にアクセスします

  2. Copilotでフロー作成 • When a new email is received, if the subject contains "テスト", post the message to a Teams channel • 「生成(Generate)」ボタンを押すと、Copilotがその内容をもとにフローのひな形を提案してくれます

  3. フローの詳細設定 • 条件分岐の設定 • Teams チャネルの選択 • メッセージ内容のカスタマイズ

定期実行フローの作成

定期的なメッセージ送信

Team ID is [チームのID](IDを使って明確に指定)を使用して、定期的なメッセージ送信を自動化できます。

設定のポイント

• チーム名は英語表記だとCopilotが誤認識する可能性があるため、ID指定がおすすめ • 5個以上の指示を連続で送ると、入力が一時的にできなくなることがあります

複雑な業務フローの自動化

SharePoint連携の例

SharePointリストのアイテムを監視し、条件に基づいて自動処理を実行するフローを作成できます。

  1. トリガーの設定:SharePointアイテムの作成・更新時
  2. 条件分岐:特定の条件をチェック
  3. アクション:承認依頼、メール送信、Teams通知など

Excel連携の例

Excelファイルのデータを基に、自動的にメール送信やレポート生成を行うことができます。

Copilot活用のベストプラクティス

効果的なプロンプト作成

より適切で正確な結果を得るには、X が発生した場合、Y をする の形式でプロンプトを提供します

例:「毎日午前9時に、昨日作成されたSharePointアイテムの一覧をTeamsに投稿する」

英語での指示の推奨

現在、英語での使用に最適化されており、他の言語でのサポートは限定的です。より正確な結果を得るには、英語でのプロンプト入力を推奨します。


4. タスクスケジューラとPowerShellの連携

タスクスケジューラの基本概念

Windows の「タスクスケジューラ」を使えば、決まった時間に自動で作業を行うことができます。これにより、PowerShellスクリプトを定期的に実行し、システム管理やデータ処理を自動化できます。

PowerShellスクリプトの自動実行設定

基本的な設定手順

  1. スクリプトファイルの準備 • 実行したいPowerShellスクリプト(.ps1ファイル)を作成 • 適切なフォルダに保存(例:C:\Scripts\backup.ps1)

  2. タスクスケジューラの起動 • 【Windows 11】[スタート]メニューの[すべてのアプリ]−[Windowsツール]を開いて[タスクスケジューラ]をクリック

  3. タスクの作成 • 「タスクの作成」をクリック • 全般タブでタスク名と説明を入力 • トリガタブで実行タイミングを設定 • 操作タブでプログラムを設定

実践的な自動化スクリプト例

ファイルバックアップ自動化

# 日次バックアップスクリプト
$sourceFolder = "C:\ImportantData"
$destinationFolder = "\\server01\backup\$(Get-Date -Format 'yyyy-MM-dd')"
$logFile = "C:\Logs\backup-$(Get-Date -Format 'yyyy-MM-dd').log"

try {
    # フォルダが存在しない場合は作成
    if (!(Test-Path $destinationFolder)) {
        New-Item -ItemType Directory -Path $destinationFolder -Force
    }
    
    # ファイルをコピー
    Copy-Item -Path $sourceFolder -Destination $destinationFolder -Recurse -Force
    
    # ログ記録
    "$(Get-Date): バックアップが正常に完了しました" | Out-File $logFile -Append
}
catch {
    "$(Get-Date): エラーが発生しました - $($_.Exception.Message)" | Out-File $logFile -Append
}

システム情報監視スクリプト

# システムリソース監視
$memoryUsage = (Get-WmiObject -Class Win32_OperatingSystem).TotalVisibleMemorySize / 1MB
$diskUsage = Get-WmiObject -Class Win32_LogicalDisk | Where-Object {$_.DeviceID -eq "C:"}
$cpuUsage = (Get-WmiObject -Class Win32_Processor).LoadPercentage

# 閾値チェック
if ($memoryUsage -gt 80 -or $diskUsage.FreeSpace / $diskUsage.Size -lt 0.1 -or $cpuUsage -gt 90) {
    # Teams Webhookでアラート送信
    $webhookUrl = "YOUR_TEAMS_WEBHOOK_URL"
    $body = @{
        text = "システムアラート: リソース使用量が閾値を超えています"
    } | ConvertTo-Json
    
    Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $body -ContentType "application/json"
}

高度なスケジュール設定

複数条件によるトリガー

  1. 時間ベースのトリガー • 毎日特定時刻 • 毎週特定曜日 • 毎月特定日

  2. イベントベースのトリガー • システム起動時 • ユーザーログイン時 • 特定のログエントリ記録時

  3. 条件付き実行 • ネットワーク接続時のみ • AC電源接続時のみ • 特定のユーザーがログイン中のみ


5. 上級者向けのコマンドライン自動化

Windows Terminalの活用

Windows 11 22H2 では、コンソール ウィンドウのホストに使される既定のアプリがWindows ターミナルに変更されました。これにより、より高度なコマンドライン環境が利用できるようになりました。

PowerShell 7.xの高度な機能

並列処理による効率化

# 並列処理でファイル処理を高速化
$files = Get-ChildItem -Path "C:\Data" -Filter "*.txt"
$files | ForEach-Object -Parallel {
    $content = Get-Content $_.FullName
    $processed = $content -replace "old_text", "new_text"
    Set-Content -Path $_.FullName -Value $processed
} -ThrottleLimit 10

REST API連携

# Microsoft Graph APIを使用したユーザー情報取得
$accessToken = "YOUR_ACCESS_TOKEN"
$headers = @{
    Authorization = "Bearer $accessToken"
    'Content-Type' = "application/json"
}

$users = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/users" -Headers $headers
foreach ($user in $users.value) {
    Write-Host "ユーザー: $($user.displayName), メール: $($user.mail)"
}

Windows Subsystem for Linux (WSL) 連携

WSLスクリプトとの連携

# WSL内のLinuxスクリプトを実行
$result = wsl --exec bash -c "python3 /home/user/data_analysis.py"
Write-Host "分析結果: $result"

# WSLファイルシステムとの統合
Copy-Item -Path "C:\data\input.csv" -Destination "\\wsl$\Ubuntu\home\user\data\input.csv"
wsl --exec python3 /home/user/process_csv.py
Copy-Item -Path "\\wsl$\Ubuntu\home\user\data\output.csv" -Destination "C:\data\output.csv"

Docker連携による自動化

コンテナベースの処理

# Dockerコンテナで画像処理を自動化
$inputFolder = "C:\Images\Input"
$outputFolder = "C:\Images\Output"

# コンテナを起動して画像を処理
docker run --rm -v "${inputFolder}:/input" -v "${outputFolder}:/output" image-processor:latest

# 処理結果をチェック
$processedFiles = Get-ChildItem -Path $outputFolder
Write-Host "処理済みファイル数: $($processedFiles.Count)"

6. 音声コントロールとマクロの連携

カスタム音声コマンドの作成

Windows Speech Recognition の設定

音声アクセスと音声入力には類似点がありますが、いくつかの違いは、選択するエクスペリエンスを決定するのに役立ちます。用途に応じて適切な音声機能を選択することが重要です。

AutoHotkeyとの連携

音声トリガーによるマクロ実行

; AutoHotkeyスクリプト例
; 音声コマンド "execute backup" でバックアップを実行
#NoEnv
#SingleInstance Force

; 音声認識結果を監視
SetTimer, CheckVoiceCommand, 1000

CheckVoiceCommand:
    ; 音声認識結果を取得(疑似コード)
    if (VoiceCommand = "execute backup")
    {
        Run, powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\backup.ps1"
        VoiceCommand := ""
    }
return

Microsoft Power Toysの活用

FancyZonesとの連携

Power Toysを使用して、音声コマンドでウィンドウレイアウトを変更できます。

# Power Toys FancyZonesの制御
Add-Type -AssemblyName System.Windows.Forms

# 現在のウィンドウを特定のゾーンに移動
$process = Get-Process -Name "notepad" | Select-Object -First 1
if ($process) {
    [System.Windows.Forms.SendKeys]::SendWait("#{Tab}")
    Start-Sleep -Milliseconds 500
    [System.Windows.Forms.SendKeys]::SendWait("1")  # ゾーン1に移動
}

音声マクロの実践例

メール処理自動化

# 音声コマンド "process emails" で実行
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")
$inbox = $namespace.GetDefaultFolder(6)  # 受信トレイ

$unreadMails = $inbox.Items | Where-Object {$_.UnRead -eq $true}
foreach ($mail in $unreadMails) {
    # 件名に緊急が含まれる場合はスマートフォンに通知
    if ($mail.Subject -like "*緊急*") {
        # Push notification service へのAPI呼び出し
        $payload = @{
            message = "緊急メール受信: $($mail.Subject)"
            priority = "high"
        } | ConvertTo-Json
        
        Invoke-RestMethod -Uri "YOUR_PUSH_API_ENDPOINT" -Method Post -Body $payload -ContentType "application/json"
    }
}

7. トラブルシューティングと最適化

一般的な問題と解決策

音声アクセスが認識しない場合

  1. マイクの設定確認 • デバイスマネージャーでマイクが正常に動作しているか確認 • プライバシー設定でマイクアクセスが許可されているか確認

  2. 言語設定の確認 • 音声アクセスは現在、英語-米国、英語-英国、英語-インド、英語-ニュージーランド、英語-カナダ、英語-オーストラリア、スペイン語-スペイン、スペイン語-メキシコ、ドイツ語-ドイツ語、フランス語-フランス語、フランス語-カナダの言語と方言で利用できます • 日本語は限定的なサポートのため、英語使用を推奨

  3. ネットワーク接続の確認 • Windowsでの音声アクセスの初期セットアップを完了するには、インターネット接続が必要です

Power Automateフローの最適化

パフォーマンスの向上

  1. 不要なアクションの削除 • フロー実行時間を短縮するため、必要最小限のアクションに絞る • ループ処理内でのAPI呼び出し回数を最小化

  2. エラーハンドリングの実装 • try-catch ブロックを適切に配置 • 失敗時の代替処理を定義

  3. 並列処理の活用 • 独立した処理は並列で実行 • Apply to each アクションでの並列度設定

フローデバッグのコツ

デバッグ手順:
1. フロー履歴で各アクションの実行結果を確認
2. 変数の値を適切な箇所でログ出力
3. 条件分岐の論理を段階的に検証
4. テストデータでの動作確認を徹底

システムパフォーマンスの監視

リソース使用量の最適化

# システムリソース監視スクリプト
function Monitor-SystemPerformance {
    param(
        [int]$IntervalSeconds = 60,
        [int]$DurationMinutes = 10
    )
    
    $endTime = (Get-Date).AddMinutes($DurationMinutes)
    $logPath = "C:\Logs\performance-$(Get-Date -Format 'yyyyMMdd-HHmmss').csv"
    
    "Time,CPU,Memory,Disk" | Out-File $logPath
    
    while ((Get-Date) -lt $endTime) {
        $cpu = (Get-WmiObject -Class Win32_Processor).LoadPercentage
        $memory = (Get-WmiObject -Class Win32_OperatingSystem).TotalVisibleMemorySize
        $disk = (Get-WmiObject -Class Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace
        
        "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss'),$cpu,$memory,$disk" | Out-File $logPath -Append
        
        Start-Sleep -Seconds $IntervalSeconds
    }
}

# 使用例
Monitor-SystemPerformance -IntervalSeconds 30 -DurationMinutes 5

セキュリティ考慮事項

実行ポリシーの設定

# 実行ポリシーの確認と設定
Get-ExecutionPolicy -List

# スクリプトブロックのみを許可(推奨)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

# スクリプトの署名検証
$signature = Get-AuthenticodeSignature -FilePath "C:\Scripts\backup.ps1"
if ($signature.Status -eq "Valid") {
    Write-Host "スクリプトは正常に署名されています"
} else {
    Write-Warning "スクリプトの署名に問題があります"
}

パスワード管理

# Windows Credential Managerの使用
$credential = Get-Credential -Message "サービスアカウントの認証情報を入力してください"
$credential.Password | ConvertFrom-SecureString | Out-File "C:\Secure\password.txt"

# 保存された認証情報の使用
$securePassword = Get-Content "C:\Secure\password.txt" | ConvertTo-SecureString
$credential = New-Object System.Management.Automation.PSCredential("username", $securePassword)

まとめ

Windows 11においてコルタナのサポートは終了しましたが、それに代わる強力な自動化ツールが多数提供されています。音声アクセス機能、Power AutomateのCopilot、タスクスケジューラとPowerShellの連携など、これらを適切に組み合わせることで、従来のコルタナ以上の高度な自動化を実現できます。

特に重要なポイントは以下の通りです。

音声アクセス機能は、コルタナの音声操作の代替として優秀

• Power AutomateのCopilotにより、自然言語でワークフローを作成可能

• タスクスケジューラPowerShellの組み合わせで、システムレベルの自動化を実現

• 英語での操作が、AI機能において最も精度が高い

今後も Microsoft は AI 技術の進歩とともに、より簡単で強力な自動化ツールを提供していくことが予想されます。これらの新しい技術を積極的に活用し、業務効率の向上を図ることをお勧めします。

パソコンの購入やサポートをお考えの際は、これらの自動化機能に対応したシステム構成についても、ぜひ専門店にご相談ください。適切なハードウェアと設定により、自動化の効果を最大限に引き出すことができます。


パソコン購入のためのお役立ち情報

パソコン選びがよく分からない方、ご不安のある方、悩む前に!お気軽にご相談ください!

専門スタッフが、性能・ご予算・お好みなどご希望に合ったパソコンをお探しします!

PC STOREへ