This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Bias Types:
⚠️ windows_first
⚠️ missing_linux_example
⚠️ windows_tools
⚠️ powershell_heavy
Summary:
The documentation demonstrates a clear Windows bias: deployment instructions exclusively use a Windows 11 Enterprise VM, require RDP for access, and reference Windows-specific tools (e.g., Windows Subsystem for Linux, Windows command prompt). There are no instructions or examples for deploying or running the solution natively on Linux or macOS systems, nor are there alternatives to Windows-specific steps. Linux is only mentioned as a subsystem within Windows, not as a first-class platform.
Recommendations:
  • Provide parallel instructions for deploying and running the production line simulation and edge infrastructure on native Linux VMs (e.g., Ubuntu Server) and/or macOS, including setup steps for Docker, Kubernetes (K3s), and related tools.
  • Include Linux-native commands and shell script examples outside of WSL context, and clarify any OS-specific differences.
  • Offer guidance for connecting to Linux VMs (e.g., via SSH) instead of only RDP/Windows.
  • Mention and support Linux-based Azure VM images as deployment targets.
  • Ensure all scripts and tools referenced are cross-platform or provide alternatives for Linux/macOS users.
  • Reorder sections or provide tabs so that Linux and Windows instructions are presented with equal prominence.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-08-17 00:01 #83 in_progress ✅ Clean
2025-07-13 21:37 #48 completed ✅ Clean
2025-07-12 23:44 #41 in_progress ❌ Biased
2025-07-09 13:09 #3 cancelled ✅ Clean
2025-07-08 04:23 #2 cancelled ❌ Biased

Flagged Code Snippets

When the command finishes, reboot your VM and sign in again. A command prompt finishes the WSL installation and you're prompted to enter a new username and password for WSL. Then, in WSL, use the following command to install K3S, a lightweight Kubernetes runtime:
Your VM is now ready to run the production line simulation. ## Run the production line simulation In the VM, open a Windows command prompt, enter *wsl*, and press **Enter**. Navigate to the `/mnt/c/ManufacturingOntologies-main/Tools/FactorySimulation` directory and run the **StartSimulation** shell script:
`<Your Event Hubs connection string>` is your Event Hubs namespace connection string. To learn more, see [Get an Event Hubs connection string](/azure/event-hubs/event-hubs-get-connection-string). A connection string looks like: `Endpoint=sb://ontologies.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abcdefgh=` > [!NOTE] > If the external IP address for a Kubernetes service shows as `<pending>`, use the following command to assign the external IP address of the `traefik` service: `sudo kubectl patch service <theService> -n <the service's namespace> -p '{"spec": {"type": "LoadBalancer", "externalIPs":["<the traefik external IP address>"]}}'`. > [!TIP] > To prevent WSL and K3s from automatically shutting down, keep your WSL command prompt open. ## UA Cloud Library To read OPC UA Information Models directly from Azure Data Explorer, you can import the OPC UA nodes defined in an OPC UA Information Model into a table. You can use the imported information for lookup of more metadata within queries. First, configure an Azure Data Explorer callout policy for the UA Cloud Library by running the following query on your Azure Data Explorer cluster. Before you start, make sure you're a member of the **AllDatabasesAdmin** role in the cluster, which you can configure in the Azure portal by navigating to the **Permissions** page for your Azure Data Explorer cluster.
To view a graphical representation of an OPC UA Information Model, you can use the [Kusto Explorer tool](/azure/data-explorer/kusto/tools/kusto-explorer). To render station model, run the following query in Kusto Explorer. For best results, change the `Layout` option to `Grouped` and the `Labels` to `name`:
1. Select **Set as alert condition**. 1. Scroll down to the **Expressions** section. Delete the **Reduce** expression, you don't need it. 1. For the alert threshold, select **A** as **Input**. Select **IS BELOW** and enter **10**. 1. Scroll down to the **Set evaluation behavior** section. Create a new **Folder** to save your alerts. Create a new **Evaluation group** and specify **2m**. 1. Select the **Save rule and exit** button in the top right. In the overview of your alerts, you can now see that an alert is triggered when your OEE is less than 10. ## Connect the reference solution to Microsoft Power BI To connect the reference solution Power BI, you need access to a Power BI subscription. To create the Power BI dashboard, complete the following steps: 1. Install the [Power BI desktop app](https://go.microsoft.com/fwlink/?LinkId=2240819&clcid=0x409). 1. Sign in to the Power BI desktop app using the user with access to the Power BI subscription. 1. In the Azure portal, navigate to your Azure Data Explorer database called ontologies and add **Database Admin** permissions to a Microsoft Entra ID user with access to only the subscription used for your deployed instance of this reference solution. If necessary, create a new user in Microsoft Entra ID. 1. From Power BI, create a new report and select Azure Data Explorer time-series data as a data source: **Get data > Azure > Azure Data Explorer (Kusto)**. 1. In the popup window, enter the Azure Data Explorer endpoint of your cluster (`https://<your cluster name>.<location>.kusto.windows.net`), the database name (`ontologies`), and the following query: