Powershell get-host privatedata,它是如何工作的?

时间:2013-11-14 15:39:57

标签: powershell colors powershell-v2.0 powershell-v3.0

我仍在学习和学习,当我在官方technet microsoft页面上滚动浏览本周的powershell提示时。 我在这里停了下来:

Modifying Message Colors

我尝试修改例如我的警告backgroundcolor。 当我现在使用Write-Warning "This is a warning Message"时,颜色发生了变化,一切都按预期工作。

但是这个信息存储在哪里?这个privatedata,我可以以某种方式访问​​该文件? 任何人都可以给我更多相关信息吗?

1 个答案:

答案 0 :(得分:1)

psobject PrivateData是PSHost对象的属性,它不存储在文件中。观察:

PS C:\> $a = Get-Host

PS C:\> $a.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
False    False    InternalHost                             System.Management.Automation.Host.PSHost

PS C:\> $a | Get-Member -Name PrivateData

    TypeName: System.Management.Automation.Internal.Host.InternalHost

Name        MemberType Definition
----        ---------- ----------
PrivateData Property   psobject PrivateData {get;}

从您提供的TechNet链接:

  

关于您唯一需要记住的是这些更改不是永久性的:当您退出然后重新启动PowerShell时,颜色将恢复为默认值。但这没什么大不了的:如果您已经为这些特殊消息类型使用自定义颜色,那么只需将颜色更改代码添加到Windows PowerShell配置文件中。