如何在PowerShell中获取可与Windows.UI.Notifications.ToastNotificationManager的GetForUser方法一起使用的Windows.System.User?

问题描述

我一直在创建一个Powershell脚本来显示Toast通知,此代码有效,但是toastnotification对象上有一种我不知道如何使用的方法

$Load = [Windows.UI.Notifications.Toastnotificationmanager,Windows.UI.Notifications,ContentType = WindowsRuntime]
$Load = [Windows.Data.Xml.Dom.XmlDocument,Windows.Data.Xml.Dom.XmlDocument,ContentType = WindowsRuntime]
[Windows.UI.Notifications.Toastnotificationmanager]::CreatetoastNotifier($App).Show($ToastXml)

查看[Windows.UI.Notifications.Toastnotificationmanager]对象,有一个名为“ GetForUser()”的方法 https://docs.microsoft.com/en-us/uwp/api/windows.ui.notifications.toastnotificationmanager.getforuser?view=winrt-19041

方法需要Windows.System.User对象作为输入。 https://docs.microsoft.com/en-us/uwp/api/windows.system.user?view=winrt-19041

我尝试了以下代码

$Load = [Windows.System.User,Windows.System,ContentType = WindowsRuntime]
$users = [Windows.System.User]::FindAllAsync()

$ users是没有任何方法的“ System .__ ComObject”。

所以问题是,如何在PowerShell中获得可以与Windows.UI.Notifications.Toastnotificationmanager的GetForUser()方法一起使用的Windows.System.User?

我也尝试过托管代码

$code = @"
using Windows.System;
namespace CUser
{
    public static class GetUsers{
        public static void Main(){
                IReadOnlyList<User> users = await User.FindAllAsync(UserType.LocalUser,UserAuthenticationStatus.LocallyAuthenticated);
                User user = users.FirstOrDefault();
        }
    }
    
}
"@
Add-Type -TypeDeFinition $code -Language CSharp 

但是会出现错误: “类型或名称空间名称'System'在名称空间'Windows'中不存在(是 您缺少程序集引用吗?)“

我不确定哪个程序集或dll包含“ Windows.System”引用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...