我目前有一个脚本可以ping服务器并检查每台服务器上运行的服务的状态。
我使用Out-File保存输出,但PowerShell放置省略号或" ..."经过长串。我不希望它这样做。例如:
MachineName ServiceName Status StartType
----------- ----------- ------ ---------
SrvGtw01 Test.MyServiceName.Here Stopped Disabled
我希望它显示全名,如:
$FormatEnumerationLimit
我一直在阅读,您可以将-1
偏好设置变量设置为<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
,我已经尝试过,但它无效。我不确定如何将它放在我的剧本中。
答案 0 :(得分:4)
$FormatEnumerationLimit
首选项变量不适用,因为其目的是确定要显示的集合值属性的元素数量(例如,$FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
打印(最多)来自.prop
的值的2个元素,并提示存在更多...
的元素;例如{1, 2...}
)。
相反,你必须:
(a)确保各列不会在显示屏上截断其值:
Format-Table -Autosize
。和(b)确保整体输出宽度适合所有列:
使用足够大的值 Out-File -Width
进行管道(不要使用[int]::MaxValue
,因为表格输出的每一行都填充到宽度 [1] )
警告: 如果您没有明确设置-Width
- 如果您刚刚使用>
就会发生这种情况,例如 - 当前控制台窗口的宽度 - 无论发生什么情况。
例如:
# Assumes that the objects in $results only contain the properties
# of interest (MachineName, ServiceName, Status, StartType); you
# can also pass an explicit list of output properties to Format-Table, however.
$results | Format-Table -AutoSize | Out-File -Width 512 C:\log.txt -Append
注意:要在控制台中预览输出 - 可能涉及换行 - 请使用
而是Out-String -Width 512
。
[1]在PowerShell Core 中,这个不受欢迎的最后一列填充已被删除,至少从v6.1.0开始。