Я пытаюсь создать графический интерфейс (простая кнопка одним щелчком мыши) для некоторых повседневных задач, которые мы должны выполнять на работе. Я начал с проверки места на диске .ps1 скрипт, встроенный в графический интерфейс, как показано ниже
Add-Type -AssemblyName PresentationFramework
[xml]$XAMLWindow = '
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="Windows Management Tool" Height="450" Width="600" Background="Gray">
<Grid>
<Button Name="DiskSpace" Content="Check Available Disk Space" HorizontalAlignment="Left" Height="43" Margin="56,194,0,0" VerticalAlignment="Top" Width="181"/>
</Grid>
</Window>
'
$Reader=(New-Object System.Xml.XmlNodeReader $XAMLWindow)
$Window=[Windows.Markup.XamlReader]::Load( $Reader )
$DiskSpace = $Window.FindName('DiskSpace')
$DiskSpace.Add_Click({
.\checkDiskSpaceOnMulti.ps1
})
$Window.ShowDialog() | Out-Null
Ниже приведен код для checkDiskSpaceOnMulti.ps1, который я встроил в GUI
$file = get-Content C:\list.txt
foreach ( $args in $file) {
get-WmiObject win32_logicaldisk -ComputerName $args -Filter "Drivetype=3" |
ft SystemName,DeviceID,VolumeName,@{Label="Total SIze";Expression={$_.Size / 1gb -as [int] }},@{Label="Free Size";Expression={$_.freespace / 1gb -as [int] }} -autosize
}
и когда я нажимаю кнопку в графическом интерфейсе, я получаю ошибку ниже. checkDiskSpaceOnMulti.ps1 работает отлично, как мне нужно, при использовании из powershell ISE. Проблема только при использовании со скриптом GUI.
.\checkDiskSpaceOnMulti.ps1 : The term '.\checkDiskSpaceOnMulti.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At H:\Powershell\Powershell\Windows_Utility_Tool.ps1:54 char:1
+ .\checkDiskSpaceOnMulti.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (.\checkDiskSpaceOnMulti.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Также предложите мне хороший инструмент для разработки PoSh GUI.