小编Afr*_*roz的帖子

PowerShell cmdlet显示属性,但无法通过"select"显示它

我正在尝试执行以下语句.

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1
Run Code Online (Sandbox Code Playgroud)

这导致了

Name             Application pool   Protocols    Physical Path
----             ----------------   ---------    -------------
i1               DefaultWebSite     http         C:\inetpub\hosts\DefaultWebSite\i1
Run Code Online (Sandbox Code Playgroud)

但是当我执行以下操作时,结果为空

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1 name
Run Code Online (Sandbox Code Playgroud)

所以我查看了这个对象的属性

dir IIS:\Sites| foreach{ get-webapplication -site $_.Name} | select -first 1 | get-member | sort
Name | select Name, MemberType | format-table -auto

Name                                MemberType
----                                ----------
applicationPool                   NoteProperty
Attributes                            Property
ChildElements                         Property
ClearLocalData                          Method
Collection                        NoteProperty
ConfigurationPathType             NoteProperty
Copy                                    Method
Delete …
Run Code Online (Sandbox Code Playgroud)

powershell

15
推荐指数
1
解决办法
3920
查看次数

从powershell调用多个命令,例如psftp

我正在尝试使用psftp.exe(putty)从PowerShell SFTP文件.我可以运行单个命令,如open,但我需要更改默认目录然后放入文件.以下代码将我带到psftp但忽略了从cd ..到bye的行.我想我可以运行一个具有sftp命令的批处理文件但是如果可能的话我想用PowerShell完成.

$file = "C:\Source\asdf.csv"
$user = "user"
$pass = "pass"
$hst = "host"
$path="C:\ProgramFiles\psftp.exe"
$cmd = @"
-pw $pass $user@$hst
cd ..
cd upload
put $file
bye
"@

invoke-expression "$path $cmd"
Run Code Online (Sandbox Code Playgroud)

powershell command-line

6
推荐指数
1
解决办法
5770
查看次数

T-SQL查找是否在事务复制中的订阅服务器上订阅了数据库

T-SQL查找是否在事务复制中的订阅服务器上订阅了数据库.我不想查询分发的详细信息.

以下不起作用.

SELECT is_subscribed FROM sys.databases

SELECT DATABASEPROPERTYEX('database', 'IsSubscribed')
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008 transactional-replication

5
推荐指数
1
解决办法
6521
查看次数

从Get-WinEvent获取用户名

我试图找到一个在服务器上卸载程序的用户.这是我正在使用的脚本和结果.从事件查看器,我能够看到用户,但看起来像Get-WinEvent返回UserId但没有用户名.有没有办法从Get-WinEvent返回事件1034的用户名?

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1034} -MaxEvents 1 | format-list
Run Code Online (Sandbox Code Playgroud)
TimeCreated  : 6/17/2013 1:41:27 PM
ProviderName : MsiInstaller
Id           : 1034
Message      : Windows Installer removed the product. Product Name: PAL. Product Version: 2.3.2. Product Language:
           1033. Manufacturer: PAL. Removal success or error status: 0.
Run Code Online (Sandbox Code Playgroud)

windows powershell

5
推荐指数
1
解决办法
4277
查看次数

SQL Server扩展事件没有较新的事件

我正在查询system_health会话并注意到并非所有事件都被返回.今天肯定没有什么死锁,但这些并不在输出中.

我遇到了这个连接文件但是从评论中已经在SQL Server 2008 SP2中解决了这个问题.但我的版本是SQL Server 2008 SP3 Standard.这里有一些更多的细节.

这是一个Bug还是我查错了?

<RingBufferTarget truncated="1" eventsPerSec="31291" processingTime="209" totalEventsProcessed="6540" eventCount="1947" droppedCount="0" memoryUsed="4193813">


SELECT  TOP 1 e.event.value('(@timestamp)[1]','datetime') AS MaxDate, GETDATE() Today
FROM 
( SELECT ( SELECT 
        CONVERT(xml, target_data) 
        FROM sys.dm_xe_session_targets st 
        JOIN sys.dm_xe_sessions s ON 
        s.address = st.event_session_address 
        WHERE s.name = 'system_health' 
        AND st.target_name = 'ring_buffer' 
        )AS [x] 
        FOR XML PATH(''), TYPE 
) AS the_xml(x) 
CROSS APPLY x.nodes('x/RingBufferTarget/event') e (event) 
ORDER BY MaxDate DESC

MaxDate                     Today
2013-01-09 20:05:31.853     2013-01-11 15:22:37.887
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 extended-events

3
推荐指数
1
解决办法
524
查看次数