원격 Windows 서버가 기본적으로 PowerShell을 사용하는지 CDOS를 사용하는지 확인하는 명령 스크립트

원격 Windows 서버가 기본적으로 PowerShell을 사용하는지 CDOS를 사용하는지 확인하는 명령 스크립트

원격 Windows 서버에 연결하고 Powershell 스크립트를 실행하는 프로젝트가 있습니다.

CDOS가 아닌 PowerShell을 사용하여 스크립트를 직접 실행할 수 있도록 기본적으로 PowerShell로 구성되었는지 여부를 확인하기 위해 원격 컴퓨터에서 실행할 수 있는 명령이 있습니까?

이 명령은 PowerShell 또는 CDOS에서 실행할 수 있습니다.

답변1

귀하의 질문은 귀하가 PowerShell을 처음 접했거나 최소한 PSRemoting임을 나타냅니다. 따라서 YouTube, MSDN Channel9 및 MS 학습 사이트를 사용하여 초급/중급/고급 PowerShell, 특히 PowerShell Remoting 및 SSH를 사용하는 PowerShell을 검색하여 주제에 대해 빠르게 알아보세요.

원격 호스트에서 PowewrShell 명령을 사용하려고 할 때 오류가 발생하지 않으면 켜져 있는 것입니다. 활성화되어 있다고 해서 항상 사용할 수 있다는 의미는 아닙니다. 많은 PSRemoting 명령을 사용하려면 대상 호스트 로컬 관리자 그룹에 있는 계정을 사용해야 합니다.

로컬 또는 원격 대상에 PSRemoting이 활성화되어 있는지 확인하는 방법은 일반적이며 이러한 확인을 위한 cmdlet이 있습니다.

예:

Get-Command -Name '*pssession*' | Format-Table -AutoSize

CommandType Name                                  Version Source                      
----------- ----                                  ------- ------                      
Cmdlet      Connect-PSSession                     3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Disable-PSSessionConfiguration        3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Disconnect-PSSession                  3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Enable-PSSessionConfiguration         3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Enter-AzureRmWebAppContainerPSSession 5.2.0   AzureRM.Websites            
Cmdlet      Enter-PSSession                       3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Exit-PSSession                        3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Export-PSSession                      3.1.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-PSSession                         3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Get-PSSessionCapability               3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Get-PSSessionConfiguration            3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Import-PSSession                      3.1.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-AzureRmWebAppContainerPSSession   5.2.0   AzureRM.Websites            
Cmdlet      New-PSSession                         3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      New-PSSessionConfigurationFile        3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      New-PSSessionOption                   3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Receive-PSSession                     3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Register-PSSessionConfiguration       3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Remove-PSSession                      3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Set-PSSessionConfiguration            3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Test-PSSessionConfigurationFile       3.0.0.0 Microsoft.PowerShell.Core   
Cmdlet      Unregister-PSSessionConfiguration     3.0.0.0 Microsoft.PowerShell.Core 


Get-PSSessionConfiguration

# get function / cmdlet details
Get-Command -Name Get-PSSessionConfiguration -Syntax

# Results

Get-PSSessionConfiguration [[-Name] <string[]>] [-Force] [<CommonParameters>]


(Get-Command -Name Get-PSSessionConfiguration).Parameters.Keys

# Results

Name
Force
Verbose
Debug
ErrorAction
WarningAction
InformationAction
ErrorVariable
WarningVariable
InformationVariable
OutVariable
OutBuffer
PipelineVariable

Get-help -Name Get-PSSessionConfiguration -Full
Get-help -Name Get-PSSessionConfiguration -Online

Get-help -Name Get-PSSessionConfiguration -Examples

# Results

Get-PSSessionConfiguration  
Get-PSSessionConfiguration -Name Microsoft* 
Get-PSSessionConfiguration -Name Full | Format-List -Property * 
(Get-PSSessionConfiguration Microsoft.PowerShell.Workflow).PSObject.Properties | Select-Object Name,Value | Sort-Object Name    
dir wsman:\localhost\plugin 
Connect-WSMan -ComputerName Server01    
dir WSMan:\Server01\Plugin  
dir WSMan:\Server01\Plugin\*\Resources\Resource*\Capability | where {$_.Value -eq "Shell"} | foreach {($_.PSPath.split("\"))[3] }   
Enable-WSManCredSSP -Delegate Server02  
Connect-WSMan Server02  
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true 
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01    
(Get-PSSessionConfiguration -Name CustomShell).resourceURI  

...그리고 TechNet, MS 문서, 사이트, PowerShell 도움말 파일, 웹 전체의 많은 블로그 및 Q&A 사이트에 잘 문서화되어 있습니다. 해당 항목과 예를 찾으려면 간단한 검색만 하면 됩니다.

'원격 호스트에서 psremoting이 활성화되어 있는지 확인'을 검색하세요. 조회수 예:

Powershell 원격이 활성화되어 있는지 확인하는 방법

PowerShell Remoting을 활성화하고 활성화되어 있는지 확인하세요.

관련 정보