为什么我的PowerShell结果会重复?
你好 这里是PowerShell新秀 如果我像这样输出到屏幕:为什么我的PowerShell结果会重复?,powershell,Powershell,你好 这里是PowerShell新秀 如果我像这样输出到屏幕: foreach($databasePermission in $database.EnumDatabasePermissions($user.Name)) { Write-Host $databasePermission.PermissionState $databasePermission.PermissionType "TO" $databasePermission.Grantee } foreach
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
Write-Host $databasePermission.PermissionState $databasePermission.PermissionType "TO" $databasePermission.Grantee
}
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
"$databasePermission.PermissionState $databasePermission.PermissionType TO $databasePermission.Grantee" | Out-File $filename
}
[dbname] Database: cust_serv, Grant, CONNECT.PermissionState [dbname] Database: cust_serv, Grant, CONNECT.PermissionType TO [dbname] Database: cust_serv, Grant, CONNECT.Grantee
我得到了这个,这就是我想要的:
Grant CONNECT TO dbo
但是,如果我尝试输出到如下文本文件:
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
Write-Host $databasePermission.PermissionState $databasePermission.PermissionType "TO" $databasePermission.Grantee
}
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
"$databasePermission.PermissionState $databasePermission.PermissionType TO $databasePermission.Grantee" | Out-File $filename
}
[dbname] Database: cust_serv, Grant, CONNECT.PermissionState [dbname] Database: cust_serv, Grant, CONNECT.PermissionType TO [dbname] Database: cust_serv, Grant, CONNECT.Grantee
我的结果重复如下:
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
Write-Host $databasePermission.PermissionState $databasePermission.PermissionType "TO" $databasePermission.Grantee
}
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
"$databasePermission.PermissionState $databasePermission.PermissionType TO $databasePermission.Grantee" | Out-File $filename
}
[dbname] Database: cust_serv, Grant, CONNECT.PermissionState [dbname] Database: cust_serv, Grant, CONNECT.PermissionType TO [dbname] Database: cust_serv, Grant, CONNECT.Grantee
谢谢 如果访问字符串中对象的属性,则必须将其括在
$(…)
中:
看看两者之间的区别
"$databasePermission.PermissionState"
及
如果访问字符串中对象的属性,则必须将其括在
$(…)
中:
看看两者之间的区别
"$databasePermission.PermissionState"
及
构造长字符串的好方法是使用字符串格式。它更具可读性(至少在我看来,因为您不必执行
$($…)
等操作):
构造长字符串的好方法是使用字符串格式。它更具可读性(至少在我看来,因为您不必执行
$($…)
等操作):