对于 Windows 2008,我需要创建一个脚本来显示连接的 RDP 会话是否设置为“高”加密或其他(例如,“兼容”)。
有没有人知道一种无需通过 GUI 即可获得此功能的方法?
我调查了 wmic 和 powershell,但找不到任何东西。我找到了一个用于终端服务的 .net Powershell 模块,但它所做的只是显示状态(即列出会话)。我实际上需要查看加密级别。
powershell windows-server-2008 rdp command-line-interface remote-desktop-services
我无法通过远程 PowerShell 会话运行 Exchange 2010 cmdlet。
我以管理员身份启动本地 PowerShell 会话并发出以下命令——
PS C:\Windows\system32> $mailcred = Get-Credential
PS C:\Windows\system32> $mailSession = New-PSSession -ComputerName MAILSRV -Credential $mailcred
PS C:\Windows\system32> Enter-PSSession $mailSession
[MAILSRV]: PS C:\Users\jdoe\Documents> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
[MAILSRV]: PS C:\Users\jdoe\Documents> hostname
MAILSRV
[MAILSRV]: PS C:\Users\jdoe\Documents> Get-ExchangeServer
Value cannot be null.
Parameter name: serverSettings
+ CategoryInfo :
+ FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeServer
[MAILSRV]: PS C:\Users\jdoe\Documents> get-mailbox
Value cannot be null.
Parameter name: serverSettings
+ CategoryInfo :
+ FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.RecipientTasks.GetMailbox
Run Code Online (Sandbox Code Playgroud)
如您所见,所有 Exchange cmdlet 都不起作用。可能是什么问题?
Exchange 管理工具输出它们将(或刚刚)执行的确切 PS 命令。是否存在具有类似功能的不同版本的 AD 工具(主要是 AD 用户和计算机)?如果不是,这是 Windows 8 Server 的预期功能吗?
powershell windows-server-2008 active-directory windows-server-2008-r2 windows-server-2012
在服务器核心中,重新启动后突然没有安装powershell,我该怎么做才能重新安装它?
我还没有设置远程管理,所以我不能用它来重新安装它。
'powershell' 不是内部或外部命令、可运行的程序或批处理文件。
我在 Windows 7 机器上安装了 Windows Management Framework 3.0 并尝试使用 New-SMBShare cmdlet,但是当我运行 get-command new-smb* 时,没有找到任何 cmdlet。如何在 Windows 7 中使用这个新的 cmdlet 以及任何其他新的 cmdlet?
我有几个希望作为计划任务运行的 Exchange 2010 PowerShell 脚本。
如果我使用“以不同用户身份运行”启动 PowerShell,我可以运行脚本并且它们正确执行。
如果我使用同一用户安排任务,该任务将永远处于运行状态。
我怎样才能弄清楚任务在哪里卡住了?
作为参考,以下是我启用 Exchange 内容的方法:
. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
Connect-ExchangeServer -auto
Run Code Online (Sandbox Code Playgroud)
这是我尝试从任务计划程序运行脚本的方法:
所有的结果都是一样的。咕...
无论 Windows Server 2003 机器上的文件格式如何,我都需要找到所有压缩文件/文件夹。搜索选项不提供此功能。
有没有办法列出/查看所有压缩文件?
也许,这可以通过 PowerShell 使用文件/文件夹属性来完成,并将其放入具有文件位置的 txt 文件中。
更新:
在压缩文件/文件夹下 - 我的意思是更改文件/文件夹属性后在资源管理器中以蓝色显示的文件。

我试图获取远程机器的磁盘信息,包括是否使用 win32_diskdrive 类在驱动器上启用了 SMART。
这比我想象的要棘手。虽然读取 status 属性很容易,但我在 Capabilities 属性中发现了一些有趣的东西——即表示“智能通知”是否可用的值。除非该命令在提升的安全上下文中运行,否则不会出现此值。因此,例如,如果我运行 (gwmi win32_diskdrive).Capabilities SMART 值 (10) 尚未出现在值数组中,如果我在提升的提示中运行它,它确实会出现。据我所知,您无法在提升的上下文中运行 winrm 会话(而且我对俗气的 schtasks hacks 或 psexec 不感兴趣)。
然后我尝试将 win32_diskdrive 映射到 MSStorageDriver_FailurePredictStatus 类。我想无论如何我都必须这样做,因为即使 SMART 出现在 Capabilities 属性中,也不一定意味着它已启用,对吗?
我正在将 win32_diskdrive 的 PNPDeviceID 属性映射到 MSStorageDriver_FailurePredictStatus 的 InstanceName 属性,但现在我的问题是我认为 InstanceName 属性不够独特,无法正常工作。例如,这是我的 InstanceName:IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
它显示接口类型 (IDE) 型号 (ST3250312AS) 固件版本 (JC47) 我认为是某种唯一标识符 ( 5&350bf0c3&0&0.0.0) 然后看起来像索引号 (_0)。当我用谷歌搜索时,5&350bf0c3&0&0.0.0它会在驱动器上找到一些信息,所以我认为这个数字不是唯一的。这意味着唯一性存在于索引号中,该索引号未包含在 win32_diskdrive 类的 PNPDeviceID 属性中。这是一个问题,因为我们的许多服务器都有多个相同的磁盘。
我担心的是,这MSStorageDriver_FailurePredictStatus将代表多个磁盘,如下所示:
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_1
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_2
Run Code Online (Sandbox Code Playgroud)
而所有这些的 win32_diskdrive 的 PNPDeviceID 属性就是
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0
如何MSStorageDriver_FailurePredictStatus通过远程会话可靠地将从 win32_diskdrive 检索到的对象映射到powershell 或以另一种方式执行此操作? …
我正在尝试使用 PowerShell DSC 将域组添加到本地管理员组。这是代码:
Configuration TestSetup {
Node localhost {
Group Administrators {
GroupName = "Administrators"
MembersToInclude = "MYDOMAIN\TheAdministratorsGroup"
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,这会导致以下错误:
PowerShell provider MSFT_GroupResource failed to execute Test-TargetResource functionality with error message: Could not find a principal with the provided name [mydomain\theadministratorsgroup]
+ CategoryInfo : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : ProviderOperationExecutionFailure
+ PSComputerName : localhost
Run Code Online (Sandbox Code Playgroud)
主体确实存在,我可以通过 GUI 手动添加它并使用net localgroup.
我知道 DSC 配置是在该SYSTEM帐户下执行的,所以我认为这可能是SYSTEM想要查询 Active Directory的帐户的权限问题。但是,我已经SYSTEM使用 PsExec将 cmd 作为帐户运行,并且能够毫无问题地将域组添加到本地管理员组。
我正在尝试使用Start-CMSoftwareUpdateDeploymentcmdlet 将软件更新组部署到现有集合。
PS WHO:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "Update Group - Microsoft Updates" -CollectionName `
Eval_OSUpdates -DeploymentType Required -SendWakeUpPacket $true -AllowRestart $true -PersistOnWriteFilterDevice $true `
-DownloadFromMicrosoftUpdate $true -DeploymentName "Evaluation Deployment - Update Group - Microsoft Updates" `
-UserNotification DisplayAll -RestartWorkstation $false -AllowUseMeteredNetwork $true
Run Code Online (Sandbox Code Playgroud)
给出了所有必需的参数,但是我在执行时收到以下错误:
Start-CMSoftwareUpdateDeployment : ConfigMgr Error Object:
instance of SMS_ExtendedStatus
{
Description = "One or more updates are present for which a EULA exists which hasn't been approved.";
ErrorCode = 1078462208;
File = "e:\\nts_sccm_release\\sms\\siteserver\\sdk_provider\\smsprov\\sspciassignment.cpp";
Line = 361;
Operation …Run Code Online (Sandbox Code Playgroud) powershell ×10
wmi ×2
attributes ×1
compression ×1
dsc ×1
exchange ×1
groups ×1
rdp ×1
sccm-2012 ×1
smart ×1
update ×1
windows ×1
windows-7 ×1
winrm ×1