{"id":33,"date":"2025-10-17T10:44:32","date_gmt":"2025-10-17T01:44:32","guid":{"rendered":"https:\/\/tech.sptvjsat.mobi\/?p=33"},"modified":"2025-10-17T10:49:33","modified_gmt":"2025-10-17T01:49:33","slug":"azure-virtual-desktop-%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e7%9b%a3%e8%a6%96%e3%82%ac%e3%82%a4%e3%83%89","status":"publish","type":"post","link":"https:\/\/tech.sptvjsat.mobi\/?p=33","title":{"rendered":"Azure Virtual Desktop \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u76e3\u8996\u30ac\u30a4\u30c9"},"content":{"rendered":"\n<style>\n    .avd-guide-container * {\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n    }\n\n    .avd-guide-container {\n        font-family: 'Segoe UI', 'Hiragino Sans', 'Yu Gothic UI', sans-serif;\n        line-height: 1.8;\n        color: #333;\n        max-width: 1200px;\n        margin: 0 auto;\n    }\n\n    .avd-header {\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        padding: 40px;\n        text-align: center;\n        border-radius: 15px;\n        margin-bottom: 30px;\n    }\n\n    .avd-header h1 {\n        font-size: 2.5em;\n        margin-bottom: 10px;\n        text-shadow: 2px 2px 4px rgba(0,0,0,0.3);\n    }\n\n    .avd-header p {\n        font-size: 1.2em;\n        opacity: 0.9;\n    }\n\n    .avd-nav {\n        background: #f8f9fa;\n        padding: 20px;\n        position: sticky;\n        top: 0;\n        z-index: 100;\n        border-bottom: 3px solid #667eea;\n        border-radius: 10px;\n        margin-bottom: 30px;\n    }\n\n    .avd-nav ul {\n        list-style: none;\n        display: flex;\n        flex-wrap: wrap;\n        justify-content: center;\n        gap: 15px;\n    }\n\n    .avd-nav a {\n        text-decoration: none;\n        color: #667eea;\n        padding: 10px 20px;\n        border-radius: 25px;\n        background: white;\n        transition: all 0.3s;\n        font-weight: 600;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n        display: block;\n    }\n\n    .avd-nav a:hover {\n        background: #667eea;\n        color: white;\n        transform: translateY(-2px);\n        box-shadow: 0 4px 10px rgba(102,126,234,0.4);\n    }\n\n    .avd-section {\n        margin-bottom: 60px;\n        scroll-margin-top: 100px;\n    }\n\n    .avd-section h2 {\n        color: #667eea;\n        font-size: 2em;\n        margin-bottom: 20px;\n        padding-bottom: 10px;\n        border-bottom: 3px solid #667eea;\n    }\n\n    .avd-section h3 {\n        color: #764ba2;\n        font-size: 1.5em;\n        margin: 30px 0 15px 0;\n    }\n\n    .avd-section h4 {\n        color: #555;\n        font-size: 1.2em;\n        margin: 20px 0 10px 0;\n    }\n\n    .avd-card {\n        background: #f8f9fa;\n        border-left: 5px solid #667eea;\n        padding: 20px;\n        margin: 20px 0;\n        border-radius: 10px;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n    }\n\n    .avd-card.warning {\n        background: #fff3cd;\n        border-left-color: #ffc107;\n    }\n\n    .avd-card.success {\n        background: #d4edda;\n        border-left-color: #28a745;\n    }\n\n    .avd-card.danger {\n        background: #f8d7da;\n        border-left-color: #dc3545;\n    }\n\n    .avd-card.info {\n        background: #d1ecf1;\n        border-left-color: #17a2b8;\n    }\n\n    .avd-card ul,\n    .avd-card ol {\n        margin-left: 20px;\n        margin-top: 10px;\n    }\n\n    .avd-table {\n        width: 100%;\n        border-collapse: collapse;\n        margin: 20px 0;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        border-radius: 10px;\n        overflow: hidden;\n    }\n\n    .avd-table th {\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        padding: 15px;\n        text-align: left;\n        font-weight: 600;\n    }\n\n    .avd-table td {\n        padding: 15px;\n        border-bottom: 1px solid #e9ecef;\n    }\n\n    .avd-table tr:nth-child(even) {\n        background: #f8f9fa;\n    }\n\n    .avd-table tr:hover {\n        background: #e7f1ff;\n    }\n\n    .avd-badge {\n        display: inline-block;\n        padding: 5px 15px;\n        border-radius: 20px;\n        font-weight: 600;\n        font-size: 0.9em;\n    }\n\n    .avd-badge.zero {\n        background: #28a745;\n        color: white;\n    }\n\n    .avd-badge.low {\n        background: #17a2b8;\n        color: white;\n    }\n\n    .avd-badge.medium {\n        background: #ffc107;\n        color: #333;\n    }\n\n    .avd-badge.high {\n        background: #dc3545;\n        color: white;\n    }\n\n    .avd-code-wrapper {\n        margin: 20px 0;\n    }\n\n    .avd-code-header {\n        background: #1e1e1e;\n        color: #fff;\n        padding: 10px 20px;\n        border-radius: 10px 10px 0 0;\n        font-weight: 600;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    }\n\n    .avd-code-block {\n        background: #2d2d2d;\n        color: #f8f8f2;\n        padding: 20px;\n        border-radius: 0 0 10px 10px;\n        overflow-x: auto;\n        box-shadow: 0 4px 15px rgba(0,0,0,0.2);\n    }\n\n    .avd-code-block pre {\n        margin: 0;\n        font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n        font-size: 0.9em;\n        line-height: 1.6;\n        white-space: pre;\n    }\n\n    .avd-copy-btn {\n        background: #667eea;\n        color: white;\n        border: none;\n        padding: 5px 15px;\n        border-radius: 5px;\n        cursor: pointer;\n        font-size: 0.9em;\n        transition: all 0.3s;\n    }\n\n    .avd-copy-btn:hover {\n        background: #764ba2;\n        transform: scale(1.05);\n    }\n\n    .avd-step-number {\n        display: inline-block;\n        width: 35px;\n        height: 35px;\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        border-radius: 50%;\n        text-align: center;\n        line-height: 35px;\n        font-weight: 600;\n        margin-right: 10px;\n    }\n\n    .avd-metric-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n        gap: 20px;\n        margin: 20px 0;\n    }\n\n    .avd-metric-card {\n        background: white;\n        padding: 20px;\n        border-radius: 10px;\n        box-shadow: 0 4px 15px rgba(0,0,0,0.1);\n        transition: transform 0.3s;\n    }\n\n    .avd-metric-card:hover {\n        transform: translateY(-5px);\n        box-shadow: 0 6px 20px rgba(102,126,234,0.3);\n    }\n\n    .avd-metric-title {\n        font-size: 1.1em;\n        font-weight: 600;\n        color: #667eea;\n        margin-bottom: 10px;\n    }\n\n    .avd-metric-range {\n        display: flex;\n        justify-content: space-between;\n        margin: 10px 0;\n        padding: 5px 0;\n        border-bottom: 1px solid #e9ecef;\n    }\n\n    .avd-flowchart {\n        background: #f8f9fa;\n        padding: 30px;\n        border-radius: 15px;\n        margin: 20px 0;\n        text-align: center;\n    }\n\n    .avd-flow-item {\n        display: inline-block;\n        background: white;\n        padding: 15px 25px;\n        margin: 10px;\n        border-radius: 10px;\n        border: 2px solid #667eea;\n        font-weight: 600;\n        box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n    }\n\n    .avd-flow-arrow {\n        display: inline-block;\n        color: #667eea;\n        font-size: 1.5em;\n        margin: 0 10px;\n    }\n\n    .avd-accordion-item {\n        background: white;\n        border: 1px solid #e9ecef;\n        border-radius: 10px;\n        margin-bottom: 10px;\n        overflow: hidden;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n    }\n\n    .avd-accordion-header {\n        background: #f8f9fa;\n        padding: 15px 20px;\n        cursor: pointer;\n        font-weight: 600;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        transition: background 0.3s;\n    }\n\n    .avd-accordion-header:hover {\n        background: #e7f1ff;\n    }\n\n    .avd-accordion-header::after {\n        content: '\u25bc';\n        transition: transform 0.3s;\n    }\n\n    .avd-accordion-header.active::after {\n        transform: rotate(180deg);\n    }\n\n    .avd-accordion-content {\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height 0.3s ease-out;\n        padding: 0 20px;\n    }\n\n    .avd-accordion-content.active {\n        max-height: 3000px;\n        padding: 20px;\n    }\n\n    .avd-highlight {\n        background: linear-gradient(transparent 60%, #ffeb3b 60%);\n        font-weight: 600;\n    }\n\n    .avd-download-section {\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        padding: 40px;\n        text-align: center;\n        margin-top: 40px;\n        border-radius: 15px;\n    }\n\n    .avd-download-btn {\n        display: inline-block;\n        background: white;\n        color: #667eea;\n        padding: 15px 40px;\n        border-radius: 30px;\n        text-decoration: none;\n        font-weight: 600;\n        font-size: 1.1em;\n        margin: 10px;\n        transition: all 0.3s;\n        box-shadow: 0 4px 15px rgba(0,0,0,0.2);\n        border: none;\n        cursor: pointer;\n    }\n\n    .avd-download-btn:hover {\n        transform: translateY(-3px);\n        box-shadow: 0 6px 25px rgba(0,0,0,0.3);\n    }\n\n    @media (max-width: 768px) {\n        .avd-header h1 {\n            font-size: 1.8em;\n        }\n\n        .avd-nav ul {\n            flex-direction: column;\n        }\n\n        .avd-metric-grid {\n            grid-template-columns: 1fr;\n        }\n\n        .avd-flow-item {\n            display: block;\n            margin: 10px 0;\n        }\n\n        .avd-flow-arrow {\n            display: block;\n            transform: rotate(90deg);\n        }\n    }\n<\/style>\n\n<div class=\"avd-guide-container\">\n    <div class=\"avd-header\">\n        <h1>\ud83d\ude80 Azure Virtual Desktop \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u76e3\u8996\u30ac\u30a4\u30c9<\/h1>\n        <p>\u521d\u5fc3\u8005\u3067\u3082\u308f\u304b\u308b\uff01AVD\u306e\u9045\u5ef6\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306e\u5b8c\u5168\u30ac\u30a4\u30c9<\/p>\n    <\/div>\n\n    <nav class=\"avd-nav\">\n        <ul>\n            <li><a href=\"#avd-overview\">\u6982\u8981<\/a><\/li>\n            <li><a href=\"#avd-methods\">\u76e3\u8996\u624b\u6cd5\u306e\u6bd4\u8f03<\/a><\/li>\n            <li><a href=\"#avd-impact\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5f71\u97ff<\/a><\/li>\n            <li><a href=\"#avd-implementation\">\u5b9f\u88c5\u624b\u9806<\/a><\/li>\n            <li><a href=\"#avd-kql\">KQL\u30af\u30a8\u30ea\u96c6<\/a><\/li>\n            <li><a href=\"#avd-metrics\">\u76e3\u8996\u30e1\u30c8\u30ea\u30af\u30b9<\/a><\/li>\n            <li><a href=\"#avd-faq\">\u3088\u304f\u3042\u308b\u8cea\u554f<\/a><\/li>\n        <\/ul>\n    <\/nav>\n\n    <!-- \u6982\u8981\u30bb\u30af\u30b7\u30e7\u30f3 -->\n    <section id=\"avd-overview\" class=\"avd-section\">\n        <h2>\ud83d\udccb \u3053\u306e\u30ac\u30a4\u30c9\u306b\u3064\u3044\u3066<\/h2>\n        \n        <div class=\"avd-card success\">\n            <h3>\u2705 \u3053\u306e\u30ac\u30a4\u30c9\u3067\u5b66\u3079\u308b\u3053\u3068<\/h3>\n            <ul>\n                <li>AVD\u304c\u9045\u3044\u539f\u56e0\u3092\u7279\u5b9a\u3059\u308b\u305f\u3081\u306e\u76e3\u8996\u65b9\u6cd5<\/li>\n                <li>\u5404\u76e3\u8996\u624b\u6cd5\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u306e\u5f71\u97ff\u5ea6<\/li>\n                <li>\u5b9f\u969b\u306e\u8a2d\u5b9a\u624b\u9806\u3068KQL\u30af\u30a8\u30ea<\/li>\n                <li>\u76e3\u8996\u30c7\u30fc\u30bf\u306e\u898b\u65b9\u3068\u5bfe\u51e6\u65b9\u6cd5<\/li>\n            <\/ul>\n        <\/div>\n\n        <div class=\"avd-card info\">\n            <h3>\ud83c\udfaf \u60f3\u5b9a\u3059\u308b\u8aad\u8005<\/h3>\n            <p><strong>AVD\u304c\u9045\u3044\u3068\u3044\u3046\u8ab2\u984c\u3092\u62b1\u3048\u3066\u3044\u308b\u65b9<\/strong>\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u65b9\u3092\u5bfe\u8c61\u3068\u3057\u3066\u3044\u307e\u3059\uff1a<\/p>\n            <ul>\n                <li>Azure\u306e\u57fa\u672c\u7684\u306a\u64cd\u4f5c\u304c\u3067\u304d\u308b\u65b9<\/li>\n                <li>PowerShell\u306e\u57fa\u672c\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3067\u304d\u308b\u65b9<\/li>\n                <li>\u76e3\u8996\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5f71\u97ff\u3092\u5fc3\u914d\u3055\u308c\u3066\u3044\u308b\u65b9<\/li>\n            <\/ul>\n        <\/div>\n\n        <h3>\ud83d\udd0d AVD\u304c\u9045\u3044\u539f\u56e0\u306e\u8abf\u67fb\u30d5\u30ed\u30fc<\/h3>\n        <div class=\"avd-flowchart\">\n            <div class=\"avd-flow-item\">\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u300c\u9045\u3044\u300d\u5831\u544a<\/div>\n            <div class=\"avd-flow-arrow\">\u2192<\/div>\n            <div class=\"avd-flow-item\">\u76e3\u8996\u306e\u5b9f\u88c5<\/div>\n            <div class=\"avd-flow-arrow\">\u2192<\/div>\n            <div class=\"avd-flow-item\">\u30c7\u30fc\u30bf\u53ce\u96c6\u30fb\u5206\u6790<\/div>\n            <div class=\"avd-flow-arrow\">\u2192<\/div>\n            <div class=\"avd-flow-item\">\u539f\u56e0\u7279\u5b9a<\/div>\n            <div class=\"avd-flow-arrow\">\u2192<\/div>\n            <div class=\"avd-flow-item\">\u5bfe\u7b56\u5b9f\u65bd<\/div>\n        <\/div>\n    <\/section>\n\n    <!-- \u76e3\u8996\u624b\u6cd5\u306e\u6bd4\u8f03 -->\n    <section id=\"avd-methods\" class=\"avd-section\">\n        <h2>\ud83d\udd27 \u76e3\u8996\u624b\u6cd5\u306e\u6bd4\u8f03<\/h2>\n        \n        <p>AVD\u306e\u76e3\u8996\u306b\u306f\u8907\u6570\u306e\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u304c\u3001<span class=\"avd-highlight\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u306e\u5f71\u97ff\u304c\u5168\u304f\u7570\u306a\u308a\u307e\u3059<\/span>\u3002\u4ee5\u4e0b\u3067\u8a73\u3057\u304f\u6bd4\u8f03\u3057\u307e\u3059\u3002<\/p>\n\n        <table class=\"avd-table\">\n            <thead>\n                <tr>\n                    <th>\u76e3\u8996\u65b9\u6cd5<\/th>\n                    <th>VM\u5f71\u97ff\u5ea6<\/th>\n                    <th>\u5b9f\u88c5\u96e3\u6613\u5ea6<\/th>\n                    <th>\u63a8\u5968\u5ea6<\/th>\n                    <th>\u30b3\u30b9\u30c8<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr>\n                    <td><strong>\u8a3a\u65ad\u8a2d\u5b9a<\/strong><br>(Connection\/Checkpoint)<\/td>\n                    <td><span class=\"avd-badge zero\">\u5f71\u97ff\u306a\u3057 0%<\/span><\/td>\n                    <td>\u2b50 \u7c21\u5358<\/td>\n                    <td>\u2b50\u2b50\u2b50\u2b50\u2b50<\/td>\n                    <td>\u4f4e<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>Azure Virtual Desktop Insights<\/strong><\/td>\n                    <td><span class=\"avd-badge zero\">\u5f71\u97ff\u306a\u3057 0%<\/span><\/td>\n                    <td>\u2b50 \u6700\u3082\u7c21\u5358<\/td>\n                    <td>\u2b50\u2b50\u2b50\u2b50\u2b50<\/td>\n                    <td>\u4f4e<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>Azure Monitor Agent<\/strong><br>(\u6a19\u6e96\u69cb\u6210)<\/td>\n                    <td><span class=\"avd-badge low\">0.1-0.3%<\/span><\/td>\n                    <td>\u2b50\u2b50 \u3084\u3084\u7c21\u5358<\/td>\n                    <td>\u2b50\u2b50\u2b50\u2b50<\/td>\n                    <td>\u4e2d<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>\u30ab\u30b9\u30bf\u30e0\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30ab\u30a6\u30f3\u30bf\u30fc<\/strong><\/td>\n                    <td><span class=\"avd-badge low\">0.3-0.5%<\/span><\/td>\n                    <td>\u2b50\u2b50\u2b50 \u666e\u901a<\/td>\n                    <td>\u2b50\u2b50\u2b50<\/td>\n                    <td>\u4e2d<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>ETW\u30c8\u30ec\u30fc\u30b9<\/strong><br>(\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u4e0a)<\/td>\n                    <td><span class=\"avd-badge medium\">1-3%<\/span><\/td>\n                    <td>\u2b50\u2b50\u2b50\u2b50 \u96e3\u3057\u3044<\/td>\n                    <td>\u2b50<\/td>\n                    <td>\u9ad8<\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n\n        <div class=\"avd-card success\">\n            <h3>\u2705 \u63a8\u5968\u3055\u308c\u308b\u76e3\u8996\u69cb\u6210\uff08\u5f71\u97ff\u5ea6\uff1a\u307b\u307c\u30bc\u30ed\uff09<\/h3>\n            <p>\u4ee5\u4e0b\u306e3\u3064\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001<strong>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM\u306b\u4e00\u5207\u8ca0\u8377\u3092\u304b\u3051\u305a\u306b<\/strong>\u5305\u62ec\u7684\u306a\u76e3\u8996\u304c\u53ef\u80fd\u3067\u3059\uff1a<\/p>\n            <ol>\n                <li><strong>\u8a3a\u65ad\u8a2d\u5b9a<\/strong>\uff1a\u63a5\u7d9a\u54c1\u8cea\u3001\u30e9\u30a6\u30f3\u30c9\u30c8\u30ea\u30c3\u30d7\u6642\u9593\u3001\u5e2f\u57df\u5e45\u306a\u3069\u3092\u53ce\u96c6<\/li>\n                <li><strong>Azure Virtual Desktop Insights<\/strong>\uff1a\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067\u8996\u899a\u7684\u306b\u78ba\u8a8d<\/li>\n                <li><strong>Log Analytics<\/strong>\uff1aKQL\u30af\u30a8\u30ea\u3067\u8a73\u7d30\u5206\u6790<\/li>\n            <\/ol>\n        <\/div>\n\n        <div class=\"avd-card warning\">\n            <h3>\u26a0\ufe0f \u73fe\u5728\u9045\u3044\u5834\u5408\u306f\u907f\u3051\u308b\u3079\u304d\u76e3\u8996<\/h3>\n            <ul>\n                <li>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u4e0a\u3067\u306eETW\u30c8\u30ec\u30fc\u30b9\uff08CPU 1-3%\u6d88\u8cbb\uff09<\/li>\n                <li>\u9ad8\u983b\u5ea6\uff081\u5206\u672a\u6e80\u9593\u9694\uff09\u3067\u306e\u30ab\u30b9\u30bf\u30e0\u30ab\u30a6\u30f3\u30bf\u30fc\u53ce\u96c6<\/li>\n                <li>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ed\u30b0\u8ee2\u9001<\/li>\n            <\/ul>\n        <\/div>\n    <\/section>\n\n    <!-- \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5f71\u97ff\u306e\u8a73\u7d30 -->\n    <section id=\"avd-impact\" class=\"avd-section\">\n        <h2>\ud83d\udcca \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5f71\u97ff\u306e\u8a73\u7d30\u5206\u6790<\/h2>\n\n        <h3>\u306a\u305c\u63a8\u5968\u76e3\u8996\u306fVM\u306b\u5f71\u97ff\u3057\u306a\u3044\u306e\u304b\uff1f<\/h3>\n        \n        <div class=\"avd-card info\">\n            <h4>\ud83c\udfd7\ufe0f \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u7406\u89e3<\/h4>\n            <p>AVD\u306e\u76e3\u8996\u30c7\u30fc\u30bf\u306f<strong>\u8907\u6570\u306e\u30ec\u30a4\u30e4\u30fc<\/strong>\u3067\u53ce\u96c6\u3055\u308c\u307e\u3059\uff1a<\/p>\n            \n            <div class=\"avd-flowchart\">\n                <div class=\"avd-flow-item\">\u30af\u30e9\u30a4\u30a2\u30f3\u30c8<\/div>\n                <div class=\"avd-flow-arrow\">\u2b07\ufe0f<\/div>\n                <div class=\"avd-flow-item\">RD Gateway \/ RD Broker<br>\uff08\u3053\u3053\u3067\u5927\u90e8\u5206\u3092\u53ce\u96c6\uff09<\/div>\n                <div class=\"avd-flow-arrow\">\u2b07\ufe0f<\/div>\n                <div class=\"avd-flow-item\">\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM<br>\uff08\u5f71\u97ff\u3092\u53d7\u3051\u306a\u3044\uff09<\/div>\n                <div class=\"avd-flow-arrow\">\u2b07\ufe0f<\/div>\n                <div class=\"avd-flow-item\">Log Analytics<\/div>\n            <\/div>\n            \n            <p><strong>\u91cd\u8981\uff1a<\/strong>\u8a3a\u65ad\u8a2d\u5b9a\u3067\u53ce\u96c6\u3055\u308c\u308b\u63a5\u7d9a\u60c5\u5831\u3001\u30e9\u30a6\u30f3\u30c9\u30c8\u30ea\u30c3\u30d7\u6642\u9593\u3001\u5e2f\u57df\u5e45\u306a\u3069\u306f\u3001<span class=\"avd-highlight\">\u3059\u3079\u3066Azure\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30d7\u30ec\u30fc\u30f3\uff08RD Gateway\/Broker\uff09\u3067\u53ce\u96c6<\/span>\u3055\u308c\u307e\u3059\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM\u3067\u306f\u51e6\u7406\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n        <\/div>\n\n        <h3>\u5404\u76e3\u8996\u65b9\u6cd5\u306e\u30ea\u30bd\u30fc\u30b9\u4f7f\u7528\u91cf<\/h3>\n\n        <div class=\"avd-metric-grid\">\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">\u8a3a\u65ad\u8a2d\u5b9a<\/div>\n                <div class=\"avd-metric-range\">\n                    <span>CPU\u4f7f\u7528\u7387:<\/span>\n                    <span><strong>0%<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30e1\u30e2\u30ea:<\/span>\n                    <span><strong>0 MB<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af:<\/span>\n                    <span><strong>0 Mbps<\/strong><\/span>\n                <\/div>\n                <p style=\"margin-top: 10px; font-size: 0.9em; color: #28a745;\">\u2705 Azure\u5074\u3067\u51e6\u7406\u3001VM\u5f71\u97ff\u306a\u3057<\/p>\n            <\/div>\n\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">Azure Monitor Agent<\/div>\n                <div class=\"avd-metric-range\">\n                    <span>CPU\u4f7f\u7528\u7387:<\/span>\n                    <span><strong>0.1-0.3%<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30e1\u30e2\u30ea:<\/span>\n                    <span><strong>50-100 MB<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af:<\/span>\n                    <span><strong>1-5 Mbps<\/strong><\/span>\n                <\/div>\n                <p style=\"margin-top: 10px; font-size: 0.9em; color: #17a2b8;\">\u2705 \u975e\u5e38\u306b\u8efd\u91cf\u3001\u5f71\u97ff\u6700\u5c0f<\/p>\n            <\/div>\n\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">ETW\u30c8\u30ec\u30fc\u30b9<\/div>\n                <div class=\"avd-metric-range\">\n                    <span>CPU\u4f7f\u7528\u7387:<\/span>\n                    <span><strong>1-3%<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30e1\u30e2\u30ea:<\/span>\n                    <span><strong>200-500 MB<\/strong><\/span>\n                <\/div>\n                <div class=\"avd-metric-range\">\n                    <span>\u30c7\u30a3\u30b9\u30afI\/O:<\/span>\n                    <span><strong>\u6570 MB\/\u79d2<\/strong><\/span>\n                <\/div>\n                <p style=\"margin-top: 10px; font-size: 0.9em; color: #dc3545;\">\u26a0\ufe0f \u73fe\u5728\u9045\u3044\u5834\u5408\u306f\u975e\u63a8\u5968<\/p>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- \u5b9f\u88c5\u624b\u9806 -->\n    <section id=\"avd-implementation\" class=\"avd-section\">\n        <h2>\u2699\ufe0f \u5b9f\u88c5\u624b\u9806\uff08\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\uff09<\/h2>\n\n        <div class=\"avd-card info\">\n            <p><strong>\u6240\u8981\u6642\u9593\uff1a<\/strong>\u7d0410-15\u5206<br>\n            <strong>\u5fc5\u8981\u306a\u6a29\u9650\uff1a<\/strong>Azure \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u306e\u5171\u540c\u4f5c\u6210\u8005\u307e\u305f\u306f\u6240\u6709\u8005<\/p>\n        <\/div>\n\n        <h3><span class=\"avd-step-number\">1<\/span>\u524d\u63d0\u6761\u4ef6\u306e\u78ba\u8a8d<\/h3>\n        \n        <div class=\"avd-code-wrapper\">\n            <div class=\"avd-code-header\">\n                <span>PowerShell - \u74b0\u5883\u78ba\u8a8d<\/span>\n                <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n            <\/div>\n            <div class=\"avd-code-block\">\n<pre># Azure PowerShell \u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\nGet-Module -ListAvailable -Name Az.* | Select-Object Name, Version\n\n# \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\nInstall-Module -Name Az -AllowClobber -Scope CurrentUser\n\n# Azure\u306b\u30ed\u30b0\u30a4\u30f3\nConnect-AzAccount\n\n# \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\nGet-AzSubscription | Select-Object Name, Id, State<\/pre>\n            <\/div>\n        <\/div>\n\n        <h3><span class=\"avd-step-number\">2<\/span>Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u306e\u4f5c\u6210\u307e\u305f\u306f\u78ba\u8a8d<\/h3>\n        \n        <div class=\"avd-code-wrapper\">\n            <div class=\"avd-code-header\">\n                <span>PowerShell - Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9<\/span>\n                <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n            <\/div>\n            <div class=\"avd-code-block\">\n<pre># \u65e2\u5b58\u306e\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u78ba\u8a8d\nGet-AzOperationalInsightsWorkspace | \n    Select-Object Name, ResourceGroupName, Location\n\n# \u65b0\u898f\u4f5c\u6210\u3059\u308b\u5834\u5408\n$resourceGroup = \"rg-avd-monitoring\"\n$workspaceName = \"law-avd-monitoring\"\n$location = \"Japan East\"\n\n# \u30ea\u30bd\u30fc\u30b9\u30b0\u30eb\u30fc\u30d7\u4f5c\u6210\uff08\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\uff09\nNew-AzResourceGroup -Name $resourceGroup -Location $location -Force\n\n# Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u4f5c\u6210\nNew-AzOperationalInsightsWorkspace `\n    -ResourceGroupName $resourceGroup `\n    -Name $workspaceName `\n    -Location $location `\n    -Sku PerGB2018\n\nWrite-Host \"\u2713 Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\" -ForegroundColor Green<\/pre>\n            <\/div>\n        <\/div>\n\n        <h3><span class=\"avd-step-number\">3<\/span>\u8a3a\u65ad\u8a2d\u5b9a\u306e\u6709\u52b9\u5316\uff08\u6700\u91cd\u8981\uff09<\/h3>\n        \n        <div class=\"avd-card success\">\n            <p><strong>\u3053\u306e\u8a2d\u5b9a\u3060\u3051\u3067\u3001\u4ee5\u4e0b\u306e\u60c5\u5831\u304c\u53ce\u96c6\u3055\u308c\u307e\u3059\uff08VM\u5f71\u97ff\u30bc\u30ed\uff09\uff1a<\/strong><\/p>\n            <ul>\n                <li>\u63a5\u7d9a\u306e\u958b\u59cb\u30fb\u7d42\u4e86\u6642\u523b<\/li>\n                <li>\u30e9\u30a6\u30f3\u30c9\u30c8\u30ea\u30c3\u30d7\u6642\u9593\uff08RTT\uff09<\/li>\n                <li>\u5229\u7528\u53ef\u80fd\u306a\u5e2f\u57df\u5e45<\/li>\n                <li>\u63a5\u7d9a\u30d7\u30ed\u30c8\u30b3\u30eb<\/li>\n                <li>\u30a8\u30e9\u30fc\u3084\u5207\u65ad\u306e\u60c5\u5831<\/li>\n            <\/ul>\n        <\/div>\n\n        <div class=\"avd-code-wrapper\">\n            <div class=\"avd-code-header\">\n                <span>PowerShell - \u8a3a\u65ad\u8a2d\u5b9a\u306e\u6709\u52b9\u5316<\/span>\n                <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n            <\/div>\n            <div class=\"avd-code-block\">\n<pre># \u5909\u6570\u8a2d\u5b9a\uff08\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\uff09\n$subscriptionId = \"your-subscription-id\"\n$avdResourceGroup = \"rg-avd-production\"\n$hostPoolName = \"hp-avd-production\"\n$workspaceResourceGroup = \"rg-avd-monitoring\"\n$workspaceName = \"law-avd-monitoring\"\n\n# \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u8a2d\u5b9a\nSet-AzContext -SubscriptionId $subscriptionId\n\n# Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u53d6\u5f97\n$workspace = Get-AzOperationalInsightsWorkspace `\n    -ResourceGroupName $workspaceResourceGroup `\n    -Name $workspaceName\n\n# \u30db\u30b9\u30c8\u30d7\u30fc\u30eb\u53d6\u5f97\n$hostPool = Get-AzWvdHostPool `\n    -ResourceGroupName $avdResourceGroup `\n    -Name $hostPoolName\n\n# \u8a3a\u65ad\u8a2d\u5b9a\u4f5c\u6210\uff08\u3053\u308c\u304c\u6700\u3082\u91cd\u8981\uff01\uff09\n$categories = @(\n    \"Connection\",      # \u63a5\u7d9a\u60c5\u5831\n    \"Checkpoint\",      # \u54c1\u8cea\u30e1\u30c8\u30ea\u30af\u30b9\uff08RTT\u3001\u5e2f\u57df\u5e45\u306a\u3069\uff09\n    \"Error\",          # \u30a8\u30e9\u30fc\u30ed\u30b0\n    \"Management\",     # \u7ba1\u7406\u64cd\u4f5c\n    \"HostRegistration\" # \u30db\u30b9\u30c8\u767b\u9332\u72b6\u614b\n)\n\n$diagnosticSetting = @{\n    ResourceId = $hostPool.Id\n    WorkspaceId = $workspace.ResourceId\n    Enabled = $true\n    Name = \"AVD-Diagnostics\"\n    Category = $categories\n}\n\nSet-AzDiagnosticSetting @diagnosticSetting\n\nWrite-Host \"\u2713 \u8a3a\u65ad\u8a2d\u5b9a\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\uff08VM\u8ca0\u8377\uff1a\u30bc\u30ed\uff09\" -ForegroundColor Green\nWrite-Host \"  \u30c7\u30fc\u30bf\u53ce\u96c6\u958b\u59cb\u307e\u3067\u7d045-10\u5206\u304b\u304b\u308a\u307e\u3059\" -ForegroundColor Yellow<\/pre>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-card success\">\n            <h3>\ud83c\udf89 \u8a2d\u5b9a\u5b8c\u4e86\uff01<\/h3>\n            <p>\u3053\u308c\u3067\u4ee5\u4e0b\u304c\u5b9f\u73fe\u3067\u304d\u307e\u3057\u305f\uff1a<\/p>\n            <ul>\n                <li>\u2705 \u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM\u306b\u8ca0\u8377\u3092\u304b\u3051\u305a\u306b\u76e3\u8996\u958b\u59cb<\/li>\n                <li>\u2705 \u63a5\u7d9a\u54c1\u8cea\u30c7\u30fc\u30bf\u306e\u81ea\u52d5\u53ce\u96c6<\/li>\n                <li>\u2705 Azure Portal \u3067\u306e\u30d3\u30b8\u30e5\u30a2\u30eb\u76e3\u8996<\/li>\n                <li>\u2705 \u554f\u984c\u767a\u751f\u6642\u306e\u81ea\u52d5\u30a2\u30e9\u30fc\u30c8<\/li>\n            <\/ul>\n            <p><strong>\u30c7\u30fc\u30bf\u78ba\u8a8d\uff1a<\/strong>\u8a2d\u5b9a\u5f8c10-15\u5206\u3067Log Analytics\u306b\u30c7\u30fc\u30bf\u304c\u8868\u793a\u3055\u308c\u59cb\u3081\u307e\u3059\u3002<\/p>\n        <\/div>\n    <\/section>\n\n    <!-- KQL\u30af\u30a8\u30ea\u96c6 -->\n    <section id=\"avd-kql\" class=\"avd-section\">\n        <h2>\ud83d\udcdd KQL\u30af\u30a8\u30ea\u96c6\uff08\u30b3\u30d4\u30fc&\u30da\u30fc\u30b9\u30c8\u3067\u4f7f\u3048\u308b\uff09<\/h2>\n\n        <p>Log Analytics \u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u3067\u4ee5\u4e0b\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n        <h3>\u57fa\u672c\u7684\u306a\u63a5\u7d9a\u54c1\u8cea\u306e\u78ba\u8a8d<\/h3>\n        \n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>1\ufe0f\u20e3 \u904e\u53bb24\u6642\u9593\u306e\u30e9\u30a6\u30f3\u30c9\u30c8\u30ea\u30c3\u30d7\u6642\u9593\uff08RTT\uff09\u30c8\u30ec\u30f3\u30c9<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <div class=\"avd-code-wrapper\">\n                    <div class=\"avd-code-header\">\n                        <span>KQL Query<\/span>\n                        <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n                    <\/div>\n                    <div class=\"avd-code-block\">\n<pre>\/\/ \u904e\u53bb24\u6642\u9593\u306eRTT\u30c8\u30ec\u30f3\u30c9\u30925\u5206\u9593\u9694\u3067\u8868\u793a\nWVDCheckpoints\n| where TimeGenerated > ago(24h)\n| where Name == \"RoundTripTime\"\n| extend RTT = todouble(Parameters)\n| summarize \n    AvgRTT = avg(RTT),\n    MinRTT = min(RTT),\n    MaxRTT = max(RTT),\n    P95RTT = percentile(RTT, 95)\n  by bin(TimeGenerated, 5m), SessionHostName\n| render timechart<\/pre>\n                    <\/div>\n                <\/div>\n                <p><strong>\u7528\u9014\uff1a<\/strong>\u6642\u9593\u5e2f\u306b\u3088\u308b\u9045\u5ef6\u306e\u5909\u5316\u3092\u628a\u63e1\u3057\u3001\u30d4\u30fc\u30af\u6642\u9593\u3092\u7279\u5b9a<\/p>\n                <p><strong>\u898b\u65b9\uff1a<\/strong>AvgRTT\u304c100ms\u4ee5\u4e0a\u306a\u3089\u8981\u6ce8\u610f\u3001150ms\u4ee5\u4e0a\u306a\u3089\u6df1\u523b<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>2\ufe0f\u20e3 \u5229\u7528\u53ef\u80fd\u306a\u5e2f\u57df\u5e45\u306e\u63a8\u79fb<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <div class=\"avd-code-wrapper\">\n                    <div class=\"avd-code-header\">\n                        <span>KQL Query<\/span>\n                        <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n                    <\/div>\n                    <div class=\"avd-code-block\">\n<pre>\/\/ \u5e2f\u57df\u5e45\u306e\u63a8\u79fb\u3092\u78ba\u8a8d\uff08\u4f4e\u5e2f\u57df\u5e45\u304c\u9045\u5ef6\u306e\u539f\u56e0\u304b\u3092\u5224\u5b9a\uff09\nWVDCheckpoints\n| where TimeGenerated > ago(24h)\n| where Name in (\"AvailableBandwidth\", \"EstimatedAvailableBandwidth\")\n| extend Bandwidth = todouble(Parameters)\n| summarize \n    AvgBandwidth = avg(Bandwidth),\n    MinBandwidth = min(Bandwidth)\n  by bin(TimeGenerated, 5m), UserName, Name\n| render timechart<\/pre>\n                    <\/div>\n                <\/div>\n                <p><strong>\u7528\u9014\uff1a<\/strong>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u4e0d\u8db3\u304c\u539f\u56e0\u304b\u3092\u78ba\u8a8d<\/p>\n                <p><strong>\u898b\u65b9\uff1a<\/strong>10Mbps\u672a\u6e80\u304c\u7d9a\u304f\u5834\u5408\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u554f\u984c\u306e\u53ef\u80fd\u6027<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>3\ufe0f\u20e3 \u30e6\u30fc\u30b6\u30fc\u5225\u306e\u63a5\u7d9a\u54c1\u8cea\u30e9\u30f3\u30ad\u30f3\u30b0\uff08\u30ef\u30fc\u30b9\u30c810\uff09<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <div class=\"avd-code-wrapper\">\n                    <div class=\"avd-code-header\">\n                        <span>KQL Query<\/span>\n                        <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n                    <\/div>\n                    <div class=\"avd-code-block\">\n<pre>\/\/ \u6700\u3082\u9045\u5ef6\u304c\u5927\u304d\u3044\u30e6\u30fc\u30b6\u30fc Top 10\nWVDCheckpoints\n| where TimeGenerated > ago(24h)\n| where Name == \"RoundTripTime\"\n| extend RTT = todouble(Parameters)\n| summarize \n    AvgRTT = avg(RTT),\n    MaxRTT = max(RTT),\n    SessionCount = dcount(CorrelationId)\n  by UserName\n| top 10 by AvgRTT desc\n| project UserName, \n    AvgRTT_ms = round(AvgRTT, 1), \n    MaxRTT_ms = round(MaxRTT, 1), \n    SessionCount<\/pre>\n                    <\/div>\n                <\/div>\n                <p><strong>\u7528\u9014\uff1a<\/strong>\u7279\u5b9a\u30e6\u30fc\u30b6\u30fc\u3060\u3051\u306e\u554f\u984c\u304b\u5168\u4f53\u7684\u306a\u554f\u984c\u304b\u3092\u5224\u65ad<\/p>\n                <p><strong>\u898b\u65b9\uff1a<\/strong>\u7279\u5b9a\u30e6\u30fc\u30b6\u30fc\u306e\u307f\u60aa\u3044\u2192\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u74b0\u5883\u3001\u5168\u4f53\u7684\u2192\u30b5\u30fc\u30d0\u30fc\u5074<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>4\ufe0f\u20e3 \u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u5225\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <div class=\"avd-code-wrapper\">\n                    <div class=\"avd-code-header\">\n                        <span>KQL Query<\/span>\n                        <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n                    <\/div>\n                    <div class=\"avd-code-block\">\n<pre>\/\/ \u3069\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u304c\u9045\u3044\u304b\u3092\u7279\u5b9a\nWVDCheckpoints\n| where TimeGenerated > ago(6h)\n| where Name == \"RoundTripTime\"\n| extend RTT = todouble(Parameters)\n| summarize \n    AvgRTT = avg(RTT),\n    P95RTT = percentile(RTT, 95),\n    UserCount = dcount(UserName),\n    SampleCount = count()\n  by SessionHostName\n| project SessionHostName, \n    AvgRTT_ms = round(AvgRTT, 1),\n    P95RTT_ms = round(P95RTT, 1),\n    UserCount,\n    SampleCount\n| order by AvgRTT_ms desc<\/pre>\n                    <\/div>\n                <\/div>\n                <p><strong>\u7528\u9014\uff1a<\/strong>\u7279\u5b9a\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u306b\u554f\u984c\u304c\u3042\u308b\u304b\u3092\u78ba\u8a8d<\/p>\n                <p><strong>\u5bfe\u51e6\uff1a<\/strong>\u7279\u5b9a\u30db\u30b9\u30c8\u306e\u307f\u9045\u3044\u5834\u5408\u3001\u305d\u306eVM\u306e\u30ea\u30bd\u30fc\u30b9\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8abf\u67fb<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>5\ufe0f\u20e3 \u7dcf\u5408\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30b9\u30b3\u30a2\u30ab\u30fc\u30c9<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <div class=\"avd-code-wrapper\">\n                    <div class=\"avd-code-header\">\n                        <span>KQL Query<\/span>\n                        <button class=\"avd-copy-btn\" onclick=\"avdCopyCode(this)\">\u30b3\u30d4\u30fc<\/button>\n                    <\/div>\n                    <div class=\"avd-code-block\">\n<pre>\/\/ \u904e\u53bb24\u6642\u9593\u306e\u7dcf\u5408\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30b5\u30de\u30ea\u30fc\nlet timeRange = 24h;\nlet connections = WVDConnections\n    | where TimeGenerated > ago(timeRange)\n    | summarize \n        TotalConnections = count(),\n        SuccessfulConnections = countif(State == \"Connected\"),\n        FailedConnections = countif(State == \"Failed\")\n    | extend SuccessRate = round(100.0 * SuccessfulConnections \/ TotalConnections, 1);\nlet rtt = WVDCheckpoints\n    | where TimeGenerated > ago(timeRange)\n    | where Name == \"RoundTripTime\"\n    | extend RTT = todouble(Parameters)\n    | summarize \n        AvgRTT = round(avg(RTT), 1),\n        P95RTT = round(percentile(RTT, 95), 1),\n        HighLatencyCount = countif(RTT > 100);\nlet bandwidth = WVDCheckpoints\n    | where TimeGenerated > ago(timeRange)\n    | where Name == \"AvailableBandwidth\"\n    | extend BW = todouble(Parameters)\n    | summarize \n        AvgBandwidth = round(avg(BW), 1),\n        LowBandwidthCount = countif(BW < 10);\nconnections\n| extend dummy = 1\n| join kind=inner (rtt | extend dummy = 1) on dummy\n| join kind=inner (bandwidth | extend dummy = 1) on dummy\n| project \n    \u30e1\u30c8\u30ea\u30af\u30b9 = \"\u904e\u53bb24\u6642\u9593\u306e\u30b5\u30de\u30ea\u30fc\",\n    \u7dcf\u63a5\u7d9a\u6570 = TotalConnections,\n    \u63a5\u7d9a\u6210\u529f\u7387_\u30d1\u30fc\u30bb\u30f3\u30c8 = SuccessRate,\n    \u5e73\u5747RTT_ms = AvgRTT,\n    P95_RTT_ms = P95RTT,\n    \u9ad8\u9045\u5ef6\u30bb\u30c3\u30b7\u30e7\u30f3\u6570_100ms\u4ee5\u4e0a = HighLatencyCount,\n    \u5e73\u5747\u5e2f\u57df\u5e45_Mbps = AvgBandwidth,\n    \u4f4e\u5e2f\u57df\u5e45\u30bb\u30c3\u30b7\u30e7\u30f3\u6570_10Mbps\u672a\u6e80 = LowBandwidthCount<\/pre>\n                    <\/div>\n                <\/div>\n                <p><strong>\u7528\u9014\uff1a<\/strong>\u5168\u4f53\u7684\u306a\u5065\u5168\u6027\u3092\u4e00\u76ee\u3067\u78ba\u8a8d<\/p>\n                <p><strong>\u898b\u65b9\uff1a<\/strong>\u6210\u529f\u738795%\u4ee5\u4e0a\u3001\u5e73\u5747RTT50ms\u4ee5\u4e0b\u3001P95RTT100ms\u4ee5\u4e0b\u304c\u7406\u60f3<\/p>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- \u76e3\u8996\u30e1\u30c8\u30ea\u30af\u30b9 -->\n    <section id=\"avd-metrics\" class=\"avd-section\">\n        <h2>\ud83d\udcc8 \u76e3\u8996\u3059\u3079\u304d\u91cd\u8981\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u63a8\u5968\u5024<\/h2>\n\n        <h3>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8a55\u4fa1\u57fa\u6e96<\/h3>\n\n        <table class=\"avd-table\">\n            <thead>\n                <tr>\n                    <th>\u30e1\u30c8\u30ea\u30af\u30b9<\/th>\n                    <th style=\"background: #28a745;\">\u826f\u597d<\/th>\n                    <th style=\"background: #ffc107; color: #333;\">\u8b66\u544a<\/th>\n                    <th style=\"background: #dc3545;\">\u91cd\u5927<\/th>\n                    <th>\u8aac\u660e<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr>\n                    <td><strong>Round-trip Time (RTT)<\/strong><\/td>\n                    <td>&lt; 50ms<\/td>\n                    <td>50-100ms<\/td>\n                    <td>&gt; 100ms<\/td>\n                    <td>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u9593\u306e\u5f80\u5fa9\u9045\u5ef6\u6642\u9593<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>Available Bandwidth<\/strong><\/td>\n                    <td>&gt; 20 Mbps<\/td>\n                    <td>10-20 Mbps<\/td>\n                    <td>&lt; 10 Mbps<\/td>\n                    <td>\u5229\u7528\u53ef\u80fd\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>Frame Rate<\/strong><\/td>\n                    <td>&gt; 25 FPS<\/td>\n                    <td>15-25 FPS<\/td>\n                    <td>&lt; 15 FPS<\/td>\n                    <td>\u753b\u9762\u306e\u66f4\u65b0\u983b\u5ea6<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>\u63a5\u7d9a\u6210\u529f\u7387<\/strong><\/td>\n                    <td>&gt; 98%<\/td>\n                    <td>95-98%<\/td>\n                    <td>&lt; 95%<\/td>\n                    <td>\u63a5\u7d9a\u8a66\u884c\u306b\u5bfe\u3059\u308b\u6210\u529f\u306e\u5272\u5408<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>CPU\u4f7f\u7528\u7387<\/strong><\/td>\n                    <td>&lt; 70%<\/td>\n                    <td>70-85%<\/td>\n                    <td>&gt; 85%<\/td>\n                    <td>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u306eCPU\u4f7f\u7528\u7387<\/td>\n                <\/tr>\n                <tr>\n                    <td><strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u7387<\/strong><\/td>\n                    <td>&lt; 80%<\/td>\n                    <td>80-90%<\/td>\n                    <td>&gt; 90%<\/td>\n                    <td>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u7387<\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n\n        <h3>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u4f4e\u4e0b\u306e\u4e00\u822c\u7684\u306a\u539f\u56e0\u3068\u5bfe\u51e6\u6cd5<\/h3>\n\n        <div class=\"avd-metric-grid\">\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">\ud83c\udf10 \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u9045\u5ef6<\/div>\n                <p><strong>\u75c7\u72b6\uff1a<\/strong>RTT\u304c\u9ad8\u3044\u3001\u5e2f\u57df\u5e45\u304c\u4f4e\u3044<\/p>\n                <p><strong>\u5bfe\u51e6\uff1a<\/strong><\/p>\n                <ul style=\"font-size: 0.9em;\">\n                    <li>Azure Virtual WAN \u306e\u4f7f\u7528<\/li>\n                    <li>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u8fd1\u3044\u30ea\u30fc\u30b8\u30e7\u30f3\u3078\u306e\u79fb\u884c<\/li>\n                    <li>RDP Shortpath \u306e\u6709\u52b9\u5316<\/li>\n                <\/ul>\n            <\/div>\n\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">\ud83d\udcbb \u30ea\u30bd\u30fc\u30b9\u4e0d\u8db3<\/div>\n                <p><strong>\u75c7\u72b6\uff1a<\/strong>CPU\/\u30e1\u30e2\u30ea\u4f7f\u7528\u7387\u304c\u9ad8\u3044<\/p>\n                <p><strong>\u5bfe\u51e6\uff1a<\/strong><\/p>\n                <ul style=\"font-size: 0.9em;\">\n                    <li>VM\u30b5\u30a4\u30ba\u306e\u30b9\u30b1\u30fc\u30eb\u30a2\u30c3\u30d7<\/li>\n                    <li>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u6570\u306e\u5897\u52a0<\/li>\n                    <li>\u8ca0\u8377\u5206\u6563\u306e\u6700\u9069\u5316<\/li>\n                <\/ul>\n            <\/div>\n\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">\ud83d\udcbe \u30c7\u30a3\u30b9\u30afI\/O<\/div>\n                <p><strong>\u75c7\u72b6\uff1a<\/strong>\u30c7\u30a3\u30b9\u30af\u30ad\u30e5\u30fc\u9577\u304c\u9ad8\u3044<\/p>\n                <p><strong>\u5bfe\u51e6\uff1a<\/strong><\/p>\n                <ul style=\"font-size: 0.9em;\">\n                    <li>Premium SSD \u3078\u306e\u79fb\u884c<\/li>\n                    <li>FSLogix\u306e\u6700\u9069\u5316<\/li>\n                    <li>\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7<\/li>\n                <\/ul>\n            <\/div>\n\n            <div class=\"avd-metric-card\">\n                <div class=\"avd-metric-title\">\ud83d\udd10 \u8a8d\u8a3c\u9045\u5ef6<\/div>\n                <p><strong>\u75c7\u72b6\uff1a<\/strong>\u63a5\u7d9a\u78ba\u7acb\u6642\u9593\u304c\u9577\u3044<\/p>\n                <p><strong>\u5bfe\u51e6\uff1a<\/strong><\/p>\n                <ul style=\"font-size: 0.9em;\">\n                    <li>\u30c9\u30e1\u30a4\u30f3\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306e\u914d\u7f6e\u6700\u9069\u5316<\/li>\n                    <li>GPO\u306e\u7c21\u7d20\u5316<\/li>\n                    <li>FSLogix Cloud Cache \u306e\u4f7f\u7528<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- FAQ -->\n    <section id=\"avd-faq\" class=\"avd-section\">\n        <h2>\u2753 \u3088\u304f\u3042\u308b\u8cea\u554f\uff08FAQ\uff09<\/h2>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>Q1. \u76e3\u8996\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u672c\u5f53\u306b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3057\u307e\u305b\u3093\u304b\uff1f<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <p><strong>A.<\/strong> \u306f\u3044\u3001\u8a3a\u65ad\u8a2d\u5b9a\u3068Azure Virtual Desktop Insights\u306f\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b<strong>\u4e00\u5207\u5f71\u97ff\u3057\u307e\u305b\u3093<\/strong>\u3002<\/p>\n                <p>\u7406\u7531\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a<\/p>\n                <ul>\n                    <li>\u30c7\u30fc\u30bf\u53ce\u96c6\u306fAzure\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30d7\u30ec\u30fc\u30f3\uff08RD Gateway\/Broker\uff09\u3067\u5b9f\u884c\u3055\u308c\u308b<\/li>\n                    <li>\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8VM\u4e0a\u3067\u306f\u51e6\u7406\u304c\u884c\u308f\u308c\u306a\u3044<\/li>\n                    <li>\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u63a5\u7d9a\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3067\u3042\u308a\u3001VM\u30ea\u30bd\u30fc\u30b9\u3092\u6d88\u8cbb\u3057\u306a\u3044<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>Q2. \u30c7\u30fc\u30bf\u53ce\u96c6\u958b\u59cb\u307e\u3067\u3069\u306e\u304f\u3089\u3044\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u304b\uff1f<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <p><strong>A.<\/strong> \u8a3a\u65ad\u8a2d\u5b9a\u3092\u6709\u52b9\u306b\u3057\u3066\u304b\u3089<strong>5-15\u5206\u7a0b\u5ea6<\/strong>\u3067Log Analytics\u306b\u30c7\u30fc\u30bf\u304c\u8868\u793a\u3055\u308c\u59cb\u3081\u307e\u3059\u3002<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>Q3. RTT\u304c\u9ad8\u3044\u5834\u5408\u3001\u5177\u4f53\u7684\u306b\u3069\u3046\u5bfe\u51e6\u3059\u308c\u3070\u3044\u3044\u3067\u3059\u304b\uff1f<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <p><strong>A.<\/strong> RTT\uff08Round-trip Time\uff09\u304c\u9ad8\u3044\u5834\u5408\u306e\u5bfe\u51e6\u6cd5\uff1a<\/p>\n                <h4>1. \u539f\u56e0\u306e\u7279\u5b9a\uff08KQL\u30af\u30a8\u30ea\u3067\u5206\u6790\uff09<\/h4>\n                <ul>\n                    <li>\u7279\u5b9a\u30e6\u30fc\u30b6\u30fc\u306e\u307f\uff1f\u2192\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u306e\u554f\u984c<\/li>\n                    <li>\u7279\u5b9a\u6642\u9593\u5e2f\u306e\u307f\uff1f\u2192\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6df7\u96d1<\/li>\n                    <li>\u7279\u5b9a\u30bb\u30c3\u30b7\u30e7\u30f3\u30db\u30b9\u30c8\u306e\u307f\uff1f\u2192\u30b5\u30fc\u30d0\u30fc\u5074\u306e\u554f\u984c<\/li>\n                <\/ul>\n                <h4>2. \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6700\u9069\u5316<\/h4>\n                <ul>\n                    <li><strong>RDP Shortpath:<\/strong> UDP\u7d4c\u7531\u306e\u76f4\u63a5\u63a5\u7d9a\u3092\u6709\u52b9\u5316<\/li>\n                    <li><strong>\u30ea\u30fc\u30b8\u30e7\u30f3\u6700\u9069\u5316:<\/strong> \u30e6\u30fc\u30b6\u30fc\u306b\u8fd1\u3044\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e<\/li>\n                    <li><strong>Express Route:<\/strong> \u5c02\u7528\u7dda\u63a5\u7d9a\u306e\u691c\u8a0e<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n\n        <div class=\"avd-accordion-item\">\n            <div class=\"avd-accordion-header\">\n                <span>Q4. \u65e2\u5b58\u306eAVD\u74b0\u5883\u306b\u5f8c\u304b\u3089\u76e3\u8996\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059\u304b\uff1f<\/span>\n            <\/div>\n            <div class=\"avd-accordion-content\">\n                <p><strong>A.<\/strong> \u306f\u3044\u3001<strong>\u3044\u3064\u3067\u3082\u8ffd\u52a0\u53ef\u80fd<\/strong>\u3067\u3001\u65e2\u5b58\u74b0\u5883\u3078\u306e\u5f71\u97ff\u3082\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n                <p>\u624b\u9806\uff1a<\/p>\n                <ol>\n                    <li>\u672c\u30ac\u30a4\u30c9\u306e\u300c\u5b9f\u88c5\u624b\u9806\u300d\u306b\u5f93\u3063\u3066\u8a3a\u65ad\u8a2d\u5b9a\u3092\u6709\u52b9\u5316<\/li>\n                    <li>\u65e2\u5b58\u306e\u30e6\u30fc\u30b6\u30fc\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u7d99\u7d9a\u3057\u305f\u307e\u307e\u8a2d\u5b9a\u5909\u66f4\u53ef\u80fd<\/li>\n                    <li>\u518d\u8d77\u52d5\u3084\u63a5\u7d9a\u306e\u5207\u65ad\u306f\u4e0d\u8981<\/li>\n                <\/ol>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30bb\u30af\u30b7\u30e7\u30f3 -->\n    <div class=\"avd-download-section\">\n        <h2>\ud83d\udce5 \u3053\u306e\u30ac\u30a4\u30c9\u3092\u4fdd\u5b58<\/h2>\n        <p>\u3053\u306e\u30da\u30fc\u30b8\u3092\u30d6\u30c3\u30af\u30de\u30fc\u30af\u307e\u305f\u306f\u5370\u5237\u3057\u3066\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u53c2\u7167\u3067\u304d\u307e\u3059<\/p>\n        <button class=\"avd-download-btn\" onclick=\"window.print()\">\n            \ud83d\udda8\ufe0f \u3053\u306e\u30da\u30fc\u30b8\u3092\u5370\u5237\u30fbPDF\u4fdd\u5b58\n        <\/button>\n    <\/div>\n<\/div>\n\n<script>\n\/\/ \u30a2\u30b3\u30fc\u30c7\u30a3\u30aa\u30f3\u6a5f\u80fd\ndocument.addEventListener('DOMContentLoaded', function() {\n    const accordionHeaders = document.querySelectorAll('.avd-accordion-header');\n    \n    accordionHeaders.forEach(header => {\n        header.addEventListener('click', function() {\n            const content = this.nextElementSibling;\n            const isActive = this.classList.contains('active');\n            \n            \/\/ \u3059\u3079\u3066\u306e\u30a2\u30b3\u30fc\u30c7\u30a3\u30aa\u30f3\u3092\u9589\u3058\u308b\n            accordionHeaders.forEach(h => {\n                h.classList.remove('active');\n                if (h.nextElementSibling) {\n                    h.nextElementSibling.classList.remove('active');\n                }\n            });\n            \n            \/\/ \u30af\u30ea\u30c3\u30af\u3055\u308c\u305f\u3082\u306e\u3060\u3051\u958b\u304f\uff08\u65e2\u306b\u958b\u3044\u3066\u3044\u305f\u5834\u5408\u306f\u9589\u3058\u308b\uff09\n            if (!isActive) {\n                this.classList.add('active');\n                content.classList.add('active');\n            }\n        });\n    });\n});\n\n\/\/ \u30b3\u30fc\u30c9\u30b3\u30d4\u30fc\u6a5f\u80fd\nfunction avdCopyCode(button) {\n    const codeWrapper = button.closest('.avd-code-wrapper');\n    const codeBlock = codeWrapper.querySelector('.avd-code-block pre');\n    const code = codeBlock.textContent;\n    \n    \/\/ \u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\n    if (navigator.clipboard && navigator.clipboard.writeText) {\n        navigator.clipboard.writeText(code).then(function() {\n            const originalText = button.textContent;\n            button.textContent = '\u2713 \u30b3\u30d4\u30fc\u5b8c\u4e86\uff01';\n            button.style.background = '#28a745';\n            \n            setTimeout(function() {\n                button.textContent = originalText;\n                button.style.background = '#667eea';\n            }, 2000);\n        }).catch(function(err) {\n            alert('\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f: ' + err);\n        });\n    } else {\n        \/\/ \u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af: \u53e4\u3044\u30d6\u30e9\u30a6\u30b6\u7528\n        const textArea = document.createElement('textarea');\n        textArea.value = code;\n        textArea.style.position = 'fixed';\n        textArea.style.left = '-999999px';\n        document.body.appendChild(textArea);\n        textArea.select();\n        \n        try {\n            document.execCommand('copy');\n            const originalText = button.textContent;\n            button.textContent = '\u2713 \u30b3\u30d4\u30fc\u5b8c\u4e86\uff01';\n            button.style.background = '#28a745';\n            \n            setTimeout(function() {\n                button.textContent = originalText;\n                button.style.background = '#667eea';\n            }, 2000);\n        } catch (err) {\n            alert('\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f: ' + err);\n        }\n        \n        document.body.removeChild(textArea);\n    }\n}\n\n\/\/ \u30b9\u30e0\u30fc\u30b9\u30b9\u30af\u30ed\u30fc\u30eb\ndocument.querySelectorAll('.avd-nav a').forEach(function(anchor) {\n    anchor.addEventListener('click', function(e) {\n        e.preventDefault();\n        const targetId = this.getAttribute('href');\n        const targetElement = document.querySelector(targetId);\n        \n        if (targetElement) {\n            targetElement.scrollIntoView({\n                behavior: 'smooth',\n                block: 'start'\n            });\n        }\n    });\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\ude80 Azure Virtual Desktop \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u76e3\u8996\u30ac\u30a4\u30c9 \u521d\u5fc3\u8005\u3067\u3082\u308f\u304b\u308b\uff01AVD\u306e\u9045\u5ef6\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306e\u5b8c\u5168\u30ac\u30a4\u30c9 \u6982\u8981 \u76e3\u8996\u624b\u6cd5\u306e\u6bd4\u8f03 \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5f71\u97ff \u5b9f\u88c5\u624b\u9806 KQL\u30af\u30a8\u30ea\u96c6 \u76e3\u8996\u30e1\u30c8\u30ea\u30af\u30b9  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"vkexunit_cta_each_option":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-avd"],"_links":{"self":[{"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=33"}],"version-history":[{"count":1,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=\/wp\/v2\/posts\/33\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.sptvjsat.mobi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}