Scripts/Show-WsustainableSettingsView.ps1
enum Win32OperatingSystemProductType{ WorkStation = 1 DomainController = 2 Server = 3 } Function Global:Get-FsResourceManagerInstalledStatus{ $Status = $False Try{ $Status = (Get-WindowsFeature FS-Resource-Manager).Installed } Catch{ $Status = $False } Return $Status } Function Global:Show-WsustainableSettingsView{ If ([Win32OperatingSystemProductType](Get-WmiObject Win32_OperatingSystem).ProductType -ne [Win32OperatingSystemProductType]::WorkStation){ If (-not (Get-FsResourceManagerInstalledStatus)){ $ChoiceDescription = [System.Management.Automation.Host.ChoiceDescription] $MessageOptions = @( New-Object $ChoiceDescription ("インストールする(&I)","") New-Object $ChoiceDescription ("インストールしない(&N)", "") ) $MessageResult = $Host.Ui.PromptForChoice("ファイル サーバー リソース マネージャーをインストールしますか?", "事前にインストールすることにより、設定をスムーズに進めることができます。", $MessageOptions, 0) If ($MessageResult -eq 0){ Install-WindowsFeature FS-Resource-Manager -IncludeManagementTools } } } Add-Type -AssemblyName System,System.Core,System.Windows.Forms,PresentationFramework,PresentationCore,WindowsBase,WindowsFormsIntegration,System.Xml.Linq,System.Dynamic | Out-Null #[Console].AssemblyQualifiedName [Windows.Forms.Application]::EnableVisualStyles() [System.Environment]::CurrentDirectory = (Get-Location) [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $Global:DefaultConfig = Get-Content "Config\Default.json" -Encoding UTF8 | ConvertFrom-Json Get-ChildItem -Path (Join-Path $PSScriptRoot "..\View\*.ps1") | ForEach-Object { . $_} Get-ViewClass Get-MainWindow If (($MainWindow.ShowDialog()) -eq $False) { Write-Verbose "キャンセルされました" } } Export-ModuleMember -Function Show-WsustainableSettingsView |